osrm-backend/features/guidance
Michael Bell a98074a051
Improvements to maneuver override processing (#6215)
This change unblocks the osrm-extract debug build, which is
currently failing on a maneuver override assertion.

The processing of maneuver overrides currently has three issues
- It assumes the via node(s) can't be compressed (the failing assertion)
- It can't handle via-paths containing incompressible nodes
- It doesn't interop with turn restriction on the same path

Turn restrictions and maneuver overrides both use the same
from-via-to path representation.
Therefore, we can fix these issues by consolidating their
structures and reusing the path representation for
turn restrictions, which already is robust to the above
issues.

This also simplifies some of the codebase by removing maneuver
override specific path processing.

There are ~100 maneuver overrides in the OSM database, so the
impact on processing and routing will be minimal.
2022-08-24 16:19:24 +01:00
..
advanced-lanes.feature update tests 2017-11-06 13:34:02 -05:00
anticipate-lanes.feature Fix distance calculation consistency. (#6315) 2022-08-19 22:31:40 +01:00
bicycle-sliproads.feature Fix wrong one-way identification in the bike profile 2018-03-19 16:02:25 +01:00
bike-staggered-intersections.feature test and control for pushing both ways 2016-11-18 10:13:38 -05:00
bridges_and_tunnels.feature Set type of trivial intersections where classes change to Suppressed 2018-01-25 11:43:44 -05:00
bugs.feature refactor of post-processing 2017-02-25 12:17:22 +00:00
circular.feature use enter + exit for roundabout instructions (#4358) 2017-09-05 12:30:34 -07:00
collapse-detail.feature fix collapsing into uturns, that aren't u-turns 2017-10-17 15:08:29 +01:00
collapse-ferry.feature don't emit invalid turns when having u-turns on ferries 2017-01-26 13:08:00 +01:00
collapse.feature Added post process logic to collapse segregated turn instructions (#4925) 2018-03-30 07:43:56 -04:00
continue.feature fix detection of suffix/prefix changes for name-changes 2017-10-11 14:07:35 +02:00
dedicated-turn-roads.feature Fix distance calculation consistency. (#6315) 2022-08-19 22:31:40 +01:00
destination-signs.feature Supports destination:street, resolves #3541 2017-01-13 11:07:01 +05:30
directional-destination-signs.feature Directional Destination Tags (#3061) 2016-10-18 23:09:19 -04:00
directional-ref-destination-signs.feature Supports destination:street, resolves #3541 2017-01-13 11:07:01 +05:30
divided-highways.feature Added post process logic to collapse segregated turn instructions (#4925) 2018-03-30 07:43:56 -04:00
driveway.feature Adjust Straight direction modifiers of side roads in driveway handler 2018-03-05 13:19:57 +01:00
end-of-road.feature detect turning onto oneways at the end of the road as non obvious 2017-08-18 16:33:11 +02:00
exit-numbers-names.feature Canonicalizes all OSM string list handling in the profiles 2017-07-12 22:09:01 +00:00
fork.feature refactor of post-processing 2017-02-25 12:17:22 +00:00
internal-intersections.feature Updated segregated intersection identification (#4845) 2018-02-27 15:11:23 -05:00
intersections.feature use enter + exit for roundabout instructions (#4358) 2017-09-05 12:30:34 -07:00
low-priority.feature Update tests expectations and obvious detection 2018-03-20 16:33:15 +01:00
maneuver-tag.feature Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
merge-segregated-roads.feature Fix distance calculation consistency. (#6315) 2022-08-19 22:31:40 +01:00
merge.feature Don't compute new modifier for merge instructions in collapsing 2017-11-08 11:26:47 -05:00
motorway.feature Handle oneways in get_forward_backward_by_key 2018-03-05 13:19:57 +01:00
new-name.feature Announce reference change if names are empty, #4830 2018-01-29 16:32:59 -05:00
notification.feature cucumber: change syntax of node maps 2016-10-11 09:07:48 +02:00
obvious-turn-discovery.feature Fix distance calculation consistency. (#6315) 2022-08-19 22:31:40 +01:00
perception.feature normalise angles only if an improvement 2017-10-25 10:17:14 +02:00
post-processing.feature cucumber: change syntax of node maps 2016-10-11 09:07:48 +02:00
ramp.feature Fix distance calculation consistency. (#6315) 2022-08-19 22:31:40 +01:00
rotary.feature use enter + exit for roundabout instructions (#4358) 2017-09-05 12:30:34 -07:00
roundabout-bike.feature use enter + exit for roundabout instructions (#4358) 2017-09-05 12:30:34 -07:00
roundabout-left-sided.feature Expose driving_side as a property on RouteStep 2017-11-09 10:08:11 -05:00
roundabout-turn-bike.feature use enter + exit for roundabout instructions (#4358) 2017-09-05 12:30:34 -07:00
roundabout-turn.feature use enter + exit for roundabout instructions (#4358) 2017-09-05 12:30:34 -07:00
roundabout.feature Fix distance calculation consistency. (#6315) 2022-08-19 22:31:40 +01:00
staggered-intersections.feature refactor of post-processing 2017-02-25 12:17:22 +00:00
suffix-changes.feature Uses Name Change Heuristic Instead of Comparing Name Ids 2016-11-08 12:14:23 +01:00
suppressed.feature add ascii art to a set of tests 2016-12-19 09:57:05 +01:00
trimming.feature cucumber: change syntax of node maps 2016-10-11 09:07:48 +02:00
turn-angles.feature Review updates 2018-03-20 16:33:15 +01:00
turn-lanes.feature Fix distance calculation consistency. (#6315) 2022-08-19 22:31:40 +01:00
turn-location.feature add locations feature to allow testing turn locations, fix minor bug breaking the arrival location 2016-11-08 13:42:15 +01:00
turn.feature Update tests expectations and obvious detection 2018-03-20 16:33:15 +01:00