Add the PSV vehicle subtypes to the access_tag_blacklist of the car profile (taxi, share_taxi, minibus, and bus)#7295
Conversation
DennisOSRM
left a comment
There was a problem hiding this comment.
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.
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 |
There was a problem hiding this comment.
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.