Patrick Niklaus
1557ff81bc
Simplify the locking logic
2016-10-18 21:58:50 +02:00
Patrick Niklaus
ceaf362326
Make SharedDataFacade immutable
2016-10-18 21:58:50 +02:00
Daniel J. Hofmann
8ed6bb8a1b
Asserts on valid v5 conforming maneuver types, resolves #3035
2016-10-14 15:59:26 +02:00
karenzshea
72fa35da10
add a toolkit function to find lanes to the left/right of turn lanes
2016-10-13 17:59:25 +02:00
karenzshea
ee012ae2da
valid tiles are >= z12
2016-10-12 10:03:43 -04:00
Daniel J. Hofmann
32dcce88f7
Fixes missing memory include for make_unique; reported in #3018 .
...
https://github.com/Project-OSRM/osrm-backend/issues/3018#issuecomment-253118518
2016-10-12 12:55:05 +02:00
Moritz Kobitzsch
6cf99c886f
don't emit invalid on sliproads with incompatible modes
2016-10-11 10:59:10 +02:00
Patrick Niklaus
9eb7fc03ce
Use a shared (!) reader writer lock to protect CURRENT_REGIONS
...
This fixes issue #3016 .
2016-10-10 12:13:45 +02:00
jakepruitt
49a28b478c
Remove TODO - tiles are tested and seem to work
2016-10-06 10:09:57 -07:00
Lauren Budorick
a75e16e26b
Deduplicate foward/reverse geometries
...
Changes the internal representation of compressed geometries to be a
single array shared between forward and reverse geometries that can be
read in either direction. Includes a change on
extractor::OriginalEdgeData to store via_geometry ids that indicate
which direction to read the geometry for that edge based edge.
Closes #2592
2016-10-06 10:09:57 -07:00
Moritz Kobitzsch
73179641b1
clang-format code
2016-10-06 14:06:19 +02:00
Patrick Niklaus
1c2ead8fb8
Make DataFacade local to every request
...
This is the first step to having fine grained locking on data updates,
see issue #2570 .
2016-10-06 12:56:38 +02:00
Daniel J. Hofmann
d17eacc52b
Makes the OSRM interface threadsafe.
...
Technically speaking we're changing the `libosrm` API.
But since we're only lifting restrictions by marking the API threadsafe,
we should be fine here.
2016-10-04 09:32:22 +02:00
Moritz Kobitzsch
d1f1358e48
adjust for comments by daniel-j-h
2016-09-30 17:27:14 +02:00
Daniel Patterson
805d93912d
Construct an adjacency list in order to discover turns.
2016-09-30 17:12:23 +02:00
Daniel Patterson
3dd7732ffc
Add code comments and document some magic constants.
2016-09-30 17:12:22 +02:00
Daniel Patterson
c8eb2b2d11
Refactor edge unpacking so that it's CH indepenent and we don't repeat ourselves so much.
2016-09-30 17:12:22 +02:00
Lauren Budorick
14e7460465
Include turn information in debug tiles.
2016-09-30 17:12:20 +02:00
Moritz Kobitzsch
78d530ddae
fix polyline decoding
2016-09-29 11:56:51 +02:00
Daniel J. Hofmann
d1f555dcef
Removes unused JSON logger.
...
References:
- https://github.com/Project-OSRM/osrm-backend/pull/2769
2016-09-28 10:01:56 +02:00
Daniel J. Hofmann
60010dd998
Reduce NewName Instructructions / Name Changes
...
With @karenzshea's name / ref split (ref. #2857 ) in master we want to
make use of it and reduce `NewName` instructions when ever possible.
This is a first step towards #2744 by using the already existing name
change heuristic from the extractor now in post-processing as well.
Limitations: at the moment we don't have the `SuffixTable` in
post-processing; this would require us serializing and subsequently
deserializing the table, passing it through from the profiles to the
API.
2016-09-21 12:42:39 +02:00
Daniel J. Hofmann
bf2b1a64b9
Fixes sign mismatch in Nearest limit comparison
2016-09-16 15:40:05 +02:00
Moritz Kobitzsch
861314256e
fix roundabout-intersection on immediate exit
2016-09-13 19:16:45 +02:00
Moritz Kobitzsch
b3c5a9c010
fix looping in sliproad handler for lanes
2016-09-12 18:20:28 +02:00
Daniel J. Hofmann
e3c1b133bf
Adds a limit for number of results returned in Nearest service, resolves #2872
2016-09-12 11:59:08 +02:00
Moritz Kobitzsch
c306a59854
make sure to not-collapse different travel modes
2016-09-08 15:01:25 +02:00
karenzshea
dcc1b5ab2b
return name and reference separately
2016-09-08 14:28:23 +02:00
Moritz Kobitzsch
938dff011f
handle all our new strings correctly, introduce rotary_pronunciation
2016-09-07 16:09:13 +02:00
Moritz Kobitzsch
a551286a8f
adjust testscases for collapse of use lane
2016-09-07 12:17:36 +02:00
Daniel J. Hofmann
86fd04e556
Improves lane handling for subsequent going straight, resolves #2625
...
Before we only worked on subsequent quick turns, as in:
`right, right` keeps the user on the rightmost lanes.
This changeset modifies the logic to work on any subsequent steps
that are "quick" and have lane information we can constrain later.
Because we do not have a from-lane => to-lanes mapping we take the
lanes left and right of the turn lanes into account when heuristically
assigning the leftmost / rightmost lanes.
There are some edge cases where this still does not give us the optimal
solution but it gets close to what is actually possible at the moment
without having a lane mapping in post-processing.
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2625
fix rebase
2016-09-07 12:17:36 +02:00
Moritz Kobitzsch
b6dbf81206
don't assign lanes on delayed turns
2016-09-07 12:17:34 +02:00
Daniel J. Hofmann
af47252efe
Do not collapse away lane information as long as it is necessary
2016-09-07 12:17:00 +02:00
Moritz Kobitzsch
3b81b39998
turn lane handler moved to scenario based handling
2016-09-07 12:16:59 +02:00
Moritz Kobitzsch
97c66c6c82
added some concerns regarding the angles/length of the turns
2016-09-06 09:57:33 +02:00
Daniel J. Hofmann
733207d4a1
Be more strict classifying staggered intersections, resolves #2824
2016-09-06 09:57:33 +02:00
Moritz Kobitzsch
a0ed70f0a2
don't detect sliproads at wrong locations, don't emit invalid instructions
2016-09-06 09:01:06 +02:00
Moritz Kobitzsch
7a523713c7
remove broken assertion
2016-09-05 15:06:56 +02:00
Moritz Kobitzsch
b1b41435b6
Revert "make sure collapse only happens on valid indices"
...
This reverts commit 47a6cd5462
.
2016-09-05 14:54:30 +02:00
Moritz Kobitzsch
5d79e0ac2f
catch infinite loops
2016-09-05 14:52:13 +02:00
Moritz Kobitzsch
47a6cd5462
make sure collapse only happens on valid indices
2016-09-05 12:41:33 +02:00
Moritz Kobitzsch
d06eec5e42
improve segregated road detection
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
9648821a79
handle missing cases, cleaning up
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
6a2518c0df
handle stronger merge cases as well
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
7886d06839
adjust angles pre-merge as well
2016-08-24 10:34:07 +02:00
Moritz Kobitzsch
9b2f6585fb
handle non-through case
2016-08-24 10:12:27 +02:00
Moritz Kobitzsch
46fd17a9ff
moved obviousness discovery. updated sliproad handler. back to original cases failing
2016-08-24 10:12:27 +02:00
Patrick Niklaus
41b22916f3
Merge pull request #2756 from gojuno/turn_annotation_bugfix
...
JSON instruction serialization fix.
2016-08-12 19:14:47 +02:00
Lev Dragunov
89f1071947
Static checks for guidance array sizes.
2016-08-12 18:52:54 +03:00
Moritz Kobitzsch
464de785cb
fix removal of multiple geometries for first vertex
2016-08-09 12:02:07 +02:00
Lev Dragunov
8986777c58
JSON instruction serialization fix.
2016-08-08 20:32:01 +03:00