Description
Outcome of discussion with @MoKob:
Tagging scheme of osm restrictions using ways http://wiki.openstreetmap.org/wiki/Relation:restriction#Prohibitory_restriction
OSRM does not handle restrictions ways with via role and
ignores via.way restrictions in RestrictionParser parser
at https://github.com/Project-OSRM/osrm-backend/blob/master/src/extractor/restriction_parser.cpp#L168-L172
For example, in germany-latest there are 1404 such relations with 1331 (95%) one-via-way relations
relations.txt
Possible approaches and their respective drawbacks:
- modify graph creation
- hidden turns within the new edges
- parallel edges -> new edges non start
- additional contraction
- contract relation vertices first (breaks contraction order)
- pass restrictions along to the contraction
- only allows to handle simple isolated intersections first
For future work:
- longer restrictions (more than one via ways)
- non-isolated restrictions that can have overlapping ways
Related issues:
#483 relation http://www.openstreetmap.org/relation/2339761 has a via node restriction and will not be affected by the change
#2634 https://www.openstreetmap.org/relation/6187972 has one via way restriction and must be fixed with the first step
#1828 looks like an implementation of the first approach
/cc @MoKob