-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Add the PSV vehicle subtypes to the access_tag_blacklist of the car profile (taxi, share_taxi, minibus, and bus) #7295
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
DennisOSRM
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR probably requires a rebase.
…rofile (taxi, share_taxi, minibus, and bus) Project-OSRM#7295
bf25f05 to
2673fe7
Compare
|
Rebased |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds support for specific PSV (Public Service Vehicle) subtypes to the car profile's access restrictions. Since the generic psv tag was already blacklisted but more specific PSV vehicle types (taxi, share_taxi, minibus, and bus) could bypass these restrictions, this change ensures consistent handling of all PSV-related access restrictions.
Changes:
- Added taxi, share_taxi, minibus, and bus to the car profile's access_tag_blacklist
- Extended lane counting logic to recognize PSV subtype-specific lane tags
- Added test coverage for the new access tag restrictions
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| profiles/car.lua | Added four PSV subtypes (taxi, share_taxi, minibus, bus) to the access_tag_blacklist with explanatory comments |
| features/car/access.feature | Added test cases for the new PSV subtype access restrictions in both way and node access scenarios |
| taginfo.json | Registered the four new PSV subtype access tag values in the tag metadata |
| profiles/lib/guidance.lua | Extended get_psv_counts function to check for PSV subtype-specific lane tags (lanes:taxi, lanes:share_taxi, lanes:minibus, lanes:bus) |
| CHANGELOG.md | Added entry documenting this change under the Profiles section |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| local taxi_forward, taxi_backward = Tags.get_forward_backward_by_key(way,data,'lanes:taxi') | ||
| local share_taxi_forward, share_taxi_backward = Tags.get_forward_backward_by_key(way,data,'lanes:share_taxi') | ||
| local minibus_forward, minibus_backward = Tags.get_forward_backward_by_key(way,data,'lanes:minibus') | ||
| local bus_forward, bus_backward = Tags.get_forward_backward_by_key(way,data,'lanes:bus') | ||
| psv_forward = psv_forward or taxi_forward or share_taxi_forward or minibus_forward or bus_forward | ||
| psv_backward = psv_backward or taxi_backward or share_taxi_backward or minibus_backward or bus_backward |
Copilot
AI
Jan 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new support for lanes:taxi, lanes:share_taxi, lanes:minibus, and lanes:bus tags lacks test coverage. Consider adding test scenarios in features/guidance/turn-lanes.feature similar to the existing lanes:psv tests to verify that these new lane types are correctly handled when lanes:psv is not present.
Add the PSV vehicle subtypes to the access_tag_blacklist of the car profile (taxi, share_taxi, minibus, and bus).
Car access to highways restricted to PSV vehicles is currently blocked because psv is included in the car profile’s access_tag_blacklist.
However,
psvis a generic value, and more specific PSV vehicle types can be defined. According to the OSM wiki, these include: taxi, share_taxi, minibus, and bus.So, also blacklist this values.