Add sidepath name fallback using is_sidepath:of:name and street:name tags#7288
Merged
DennisOSRM merged 2 commits intoProject-OSRM:masterfrom Jan 13, 2026
Merged
Add sidepath name fallback using is_sidepath:of:name and street:name tags#7288DennisOSRM merged 2 commits intoProject-OSRM:masterfrom
DennisOSRM merged 2 commits intoProject-OSRM:masterfrom
Conversation
023243f to
ecd5eb3
Compare
ecd5eb3 to
45f1d1f
Compare
45f1d1f to
a1fa26b
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds support for fallback name tags for unnamed sidewalks and sidepaths in OSM routing. When sidewalks and cycleways are mapped as separate ways, they often lack a name tag, resulting in unhelpful navigation instructions. The PR enables using is_sidepath:of:name and street:name tags as fallbacks to provide better instructions.
Changes:
- Added sidepath name fallback logic to
WayHandlers.namesfunction inprofiles/lib/way_handlers.lua - Added comprehensive test coverage for foot, bicycle, and car profiles
- Updated documentation with new "Way names" section and various grammar/style improvements
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| profiles/lib/way_handlers.lua | Added fallback logic to use is_sidepath:of:name or street:name for unnamed sidewalks/sidepaths when appropriate sidepath markers are present |
| features/foot/sidepath_names.feature | New test file with 6 scenarios testing sidepath name fallback for foot routing |
| features/bicycle/sidepath_names.feature | New test file with 5 scenarios testing sidepath name fallback for bicycle routing |
| features/car/sidepath_names.feature | New test file with 3 scenarios verifying car routing is unaffected by sidepath tags |
| docs/profiles.md | Added "Way names" section documenting the new feature, plus minor grammar/style corrections (LUA → Lua) |
| CHANGELOG.md | Added entry documenting the new feature under Profiles section |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
DennisOSRM
approved these changes
Jan 12, 2026
|
Nice! Thanks! |
This was referenced Mar 31, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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