Commit Graph

550 Commits

Author SHA1 Message Date
Daniel Patterson 468d8c0031 Refactor logging, improve error handling workflow, clang-format. (#3385) 2016-12-06 12:30:46 -08:00
Michael Krasnyk 4b1aae40af Decoding should not fail for incomplete polyline strings (#3404)
Possible fails in
1) correct lattitude, longitude is missing
2) no end-of-number (0 5th bit) marker in the last character
2016-12-06 14:09:18 +01:00
Daniel Patterson 0817cd6dfd Enforce iteration order so that tiles are encoded consistently on all platforms (#3393) 2016-12-02 08:59:39 -08:00
Moritz Kobitzsch 561b7cc58e Rember Intersection Shapes
Changes the processing order in the edge based graph factory.
Instead of iterating over all outgoing edges in order, we compute the edge
expanded graph in the order of intersections.
This allows to remember intersection shapes and re-use them for all possible ingoing edges.

Also: use low accuracry mode for intersections degree 2 intersections

We can use lower accuracy here, since the `bearing`
after the turn is not as relevant for off-route detection.
Getting lost is near impossible here.
2016-12-01 15:24:20 +01:00
Karen Shea ef087f963d Merge pull request #3324 from Project-OSRM/constrain-staggering
Constrain staggered intersection detection by mode change and intermediary intersections
2016-11-30 07:35:17 -05:00
Moritz Kobitzsch a1127c3e09 reduce numbers of intersections in findNextIntersection, don't normalise for turn lanes 2016-11-30 10:21:53 +01:00
karenzshea 37824e2954 don't staggered intersections on intermediary mode changes 2016-11-29 14:39:16 -05:00
karenzshea ce5bcc797b opening typo 2016-11-29 09:39:05 -05:00
karenzshea 3680fc9d90 add check/test for intermediary intersections 2016-11-18 08:52:47 -05:00
karenzshea 836e8bdff0 don't collapse with mode changes 2016-11-18 08:52:47 -05:00
Kerrick Staley 8bb183bc8c Fix call to std::min 2016-11-17 17:56:23 +01:00
Kerrick Staley 2c9e18d5a9 Hardcode search radius parameters 2016-11-17 17:56:23 +01:00
Kerrick Staley 4f81e31d63 Fix capture 2016-11-17 17:56:23 +01:00
kerrick-lyft b73c59088c Smarter search radius formula for map matching 2016-11-17 17:56:23 +01:00
Michael Krasnyk 1eaf9f3269 Fix ubsan runtime error: left shift of negative value -9 2016-11-16 12:12:20 -08:00
Daniel Patterson 608044305d Rename the datafacades to more clearly describe what they do. 2016-11-15 16:55:02 -08:00
Daniel Patterson bf6df74d44 Consolidate datafacade file loading logic.
Both datafacades now use a single large memory block and common
file loading logic.
2016-11-15 16:55:02 -08:00
Moritz Kobitzsch 6ec505281e fix edge discovery in tile plugin 2016-11-12 02:15:04 +01:00
Moritz Kobitzsch f88ac989ea reserve when possible 2016-11-11 14:48:50 +01:00
Moritz Kobitzsch 88208bfa5d add testscases for mode changes / additional assertions 2016-11-09 12:55:28 +01:00
Daniel Patterson cef53c4b56 Fix key/val offset bug. 2016-11-08 11:45:28 -08:00
Daniel Patterson 481b03baeb Review changes. 2016-11-08 11:45:28 -08:00
Daniel Patterson f96e61ee06 Construct adjacency list and properly traverse it. 2016-11-08 11:45:28 -08:00
Daniel Patterson af7960a796 Fix buffering of query box - it was shrinking in the Y axis, rather than growing. 2016-11-08 11:45:28 -08:00
Daniel Patterson 4c6d6aeaa7 Fix retrieval of forward/reverse data. 2016-11-08 11:45:27 -08:00
Daniel J. Hofmann 6ac9617d49 Adapt test to returning ref, Take Pronunciation into Account, Fixes name change heuristic usage in UTurn check 2016-11-08 12:14:23 +01:00
Kajari Ghosh f33180f092 request polyline with precision of 5 or 6 positions (#3220) 2016-11-07 15:11:21 -05:00
Moritz Kobitzsch 3eeb3cb6c6 fix collapsing of roundabout instructions 2016-11-07 17:16:44 +01:00
Moritz Kobitzsch cd03877c90 link ConnectedRoad and TurnOperation via class hierarchy
and empower intersection by adding basic functionality to pod type
refactor extractor/toolkit into intersection
2016-11-03 13:42:29 +01:00
Moritz Kobitzsch 388d84a89e check for compatibility in post-processing (#3227) 2016-11-02 16:59:35 -06:00
Patrick Niklaus b749d9bd2f Address PR comments 2016-11-02 16:45:20 +00:00
Patrick Niklaus 8f00936790 Fix non-overlap logic for simplified geometries. 2016-11-02 16:45:20 +00:00
Kajari Ghosh c30f43b148 added max_speed to the profiles (#3089) 2016-11-01 17:13:10 -04:00
Patrick Niklaus f02b7b0910 [skip ci] Fix formating using format.sh 2016-10-28 14:45:05 -07:00
Moritz Kobitzsch 88c3f4c481 Considering multiple small turns, right after each
other can result in a combined turn angle that is
straight instead of turning left and right.
2016-10-27 19:19:23 +02:00
Daniel J. Hofmann a933b5d949 Prevents the Matching getting confused when users are time-travelling. 2016-10-25 10:42:24 -07:00
Patrick Niklaus b8795c7341 Rename increasingly inaccuratly named distance member of QueryEdge to weight 2016-10-21 21:00:02 +02:00
Moritz Kobitzsch e3c2d4dddc use-lane can occur in roundabouts as well 2016-10-20 14:28:33 -07:00
Moritz Kobitzsch 5e167b8745 Turn Angles in OSRM were computed using a lookahead of 10 meters.
This PR adds more advanced coordinate extraction, analysing the road
to detect offsets due to OSM way modelling.

In addition it improves the handling of bearings. Right now OSM reports
bearings simply based on the very first coordinate along a way.
With this PR, we store the bearings for a turn correctly, making the
bearings for turns correct.
2016-10-20 10:47:29 +02:00
Moritz Kobitzsch 1f8ca2879f fix u-turn collapsing onto empty name / in presence of turning use lane 2016-10-20 09:39:38 +02:00
Daniel J. Hofmann 18bc02f087 Collapses Double OSRM <-> Engine <-> .. PImpl Indirection, Resolves #3019. 2016-10-19 13:42:08 -07:00
Patrick Niklaus 8205c34abe Fix duplicated code in tile plugin 2016-10-18 22:11:43 +02:00
Patrick Niklaus 847f530c8e Only keep reader lock on shared memory during queries. 2016-10-18 21:58:50 +02:00
Patrick Niklaus c69545c47a Don't block all requests to switch data
This switchtes the data even if there are requests still running on the
old data. osrm-datastore then waits until all of these old requests have
finished before freeing the old regions.

This also means that osrm-datastore will return with an error if there
is a data update currenlty in progress.
2016-10-18 21:58:50 +02:00
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