Add sidepath name fallback using is_sidepath:of:name and street:name tags #7288
+266
−6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
Fixes #7259
When sidewalks and cycleways are mapped as separate ways in OSM, they often lack a
nametag. This results in unhelpfulnavigation instructions like "Turn right, walk 150 m" instead of "Turn right onto Main Street, walk 150 m".
This PR adds support for fallback name tags that OSM mappers use to associate sidewalks with their adjacent streets:
is_sidepath:of:name(~15,500 uses in OSM)street:name(~9,100 uses in OSM)The fallback only applies when:
nametagfootway,cycleway, orpathfootway=sidewalk,cycleway=sidepath, oris_sidepath=yesCar routing is unaffected because the fallback requires the highway type to be
footway,cycleway, orpath. Even ifsomeone mistakenly adds
footway=sidewalkto ahighway=primary, the fallback will not trigger since it checks thehighway type first.
Tests added
Foot profile (
features/foot/sidepath_names.feature):is_sidepath:of:namefor unnamed sidewalkstreet:namefor unnamed sidewalkis_sidepath:of:nametakes priority overstreet:namenametag takes priority over fallbackis_sidepath=yeswithstreet:nameBicycle profile (
features/bicycle/sidepath_names.feature):is_sidepath:of:namefor cycleway sidepathstreet:namefor cycleway sidepathis_sidepath=yeswithis_sidepath:of:nameCar profile (
features/car/sidepath_names.feature):is_sidepath:of:nameon roadsTasklist
Requirements / Relations
None