Add support for multiple via-way restrictions (#5907)
Currently OSRM only supports turn restrictions with a single via-node or one via-way. OSM allows for multiple via-ways to represent longer and more complex restrictions. This PR extends the use of duplicate nodes for representng via-way turn restrictions to also support multi via-way restrictions. Effectively, this increases the edge-based graph size by the number of edges in multi via-way restrictions. However, given the low number of these restrictions it has little effect on total graph size. In addition, we add a new step in the extraction phase that constructs a restriction graph to support more complex relationships between restrictions, such as nested restrictions and overlapping restrictions.
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include "extractor/compressed_edge_container.hpp"
|
||||
#include "extractor/name_table.hpp"
|
||||
#include "extractor/node_data_container.hpp"
|
||||
#include "extractor/node_restriction_map.hpp"
|
||||
#include "extractor/suffix_table.hpp"
|
||||
#include "extractor/turn_lane_types.hpp"
|
||||
#include "extractor/way_restriction_map.hpp"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "extractor/compressed_edge_container.hpp"
|
||||
#include "extractor/intersection/intersection_view.hpp"
|
||||
#include "extractor/name_table.hpp"
|
||||
#include "extractor/restriction_index.hpp"
|
||||
#include "extractor/node_restriction_map.hpp"
|
||||
#include "extractor/suffix_table.hpp"
|
||||
|
||||
#include "guidance/driveway_handler.hpp"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef OSRM_GUIDANCE_TURN_DISCOVERY_HPP_
|
||||
#define OSRM_GUIDANCE_TURN_DISCOVERY_HPP_
|
||||
|
||||
#include "extractor/restriction_index.hpp"
|
||||
#include "extractor/node_restriction_map.hpp"
|
||||
#include "guidance/intersection.hpp"
|
||||
#include "guidance/turn_lane_data.hpp"
|
||||
#include "util/typedefs.hpp"
|
||||
|
||||
Reference in New Issue
Block a user