osrm-backend/src/extractor
Michael Bell bfb74c2dad
Fix snapping target locations to ways used in turn restrictions (#6339)
Currently there is an edge-case in the turn restriction implementation,
such that routes can not be found if the target input location snaps
to a way used in a (multi) via restriction.

With the addition of snapping input locations to multiple ways, we
can now also snap to the "duplicate" edges created for the restriction graph,
thereby fixing the problem.
This is achieved by adding the duplicate restriction edges to the
geospatial search RTree.

This does open up the possibility of multiple paths representing exactly
the same route - one using the original edge as a source, the other
using the duplicate restriction graph edge as source. This is fine,
as both edges are represented by the same geometry, so will generate
the same result.
2022-08-27 15:59:44 +01:00
..
intersection Fix distance calculation consistency. (#6315) 2022-08-19 22:31:40 +01:00
compressed_edge_container.cpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
edge_based_graph_factory.cpp Fix snapping target locations to ways used in turn restrictions (#6339) 2022-08-27 15:59:44 +01:00
extraction_containers.cpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
extractor_callbacks.cpp Enable performance-move-const-arg clang-tidy check (#6319) 2022-08-23 19:03:41 +02:00
extractor.cpp Migrate to modern TBB version (#6300) 2022-08-24 18:13:49 +02:00
graph_compressor.cpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
location_dependent_data.cpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
maneuver_override_relation_parser.cpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
node_based_graph_factory.cpp Add support for multiple via-way restrictions (#5907) 2020-12-20 13:59:57 -08:00
raster_source.cpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
restriction_graph.cpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
restriction_parser.cpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
scripting_environment_lua.cpp Complete support for no_entry and no_exit turn restrictions (#5988) 2022-08-22 12:58:16 +01:00
suffix_table.cpp Implements Zero-Copy String Views onto Contiguous Memory, resolves #3265. 2017-01-23 15:22:39 +01:00
turn_path_compressor.cpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
turn_path_filter.cpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
way_restriction_map.cpp Add support for multiple via-way restrictions (#5907) 2020-12-20 13:59:57 -08:00