osrm-backend/features/car/oneway.feature
Daniel J. Hofmann a13cf3f2be Route over alternating oneways but not reversible ones, closes #2837.
- alternating: high frequency, route over them with penalty
- reversible: low frequency, do not route over them - time dependence

- http://wiki.openstreetmap.org/wiki/Tag:oneway%3Dreversible
- http://wiki.openstreetmap.org/wiki/Tag:oneway%3Dalternating

This distinction was made at the Elbe-Labe Meetup in Dresden, with
accompanying Wiki pages and tagging scheme. Thanks all involed!

- https://github.com/Project-OSRM/osrm-backend/issues/2837
- http://wiki.openstreetmap.org/wiki/Key:oneway
2016-10-12 12:53:07 +02:00

97 lines
4.0 KiB
Gherkin

@routing @car @oneway
Feature: Car - Oneway streets
# Handle oneways streets, as defined at http://wiki.openstreetmap.org/wiki/OSM_tags_for_routing
Background:
Given the profile "car"
Scenario: Car - Simple oneway
Then routability should be
| highway | oneway | forw | backw |
| primary | yes | x | |
Scenario: Car - Simple reverse oneway
Then routability should be
| highway | oneway | forw | backw |
| primary | -1 | | x |
Scenario: Car - Implied oneways
Then routability should be
| highway | junction | forw | backw | # |
| motorway | | x | | |
| motorway_link | | x | x | does not imply oneway |
| primary | | x | x | |
| motorway | roundabout | x | | |
| motorway_link | roundabout | x | | |
| primary | roundabout | x | | |
Scenario: Car - Overrule implied oneway
Then routability should be
| highway | oneway | forw | backw | # |
| motorway | no | x | x | |
| motorway_link | no | x | x | |
| motorway_link | yes | x | | |
| motorway_link | | x | x | does not imply onway |
Scenario: Car - Around the Block
Given the node map
"""
a b
f d c e
"""
And the ways
| nodes | oneway |
| ab | yes |
| bc | |
| cd | |
| da | |
| ce | |
| df | |
When I route I should get
| from | to | route |
| a | b | ab,ab |
| b | a | bc,cd,da,da |
Scenario: Car - Cars should not be affected by bicycle tags
Then routability should be
| highway | junction | oneway | oneway:bicycle | forw | backw |
| primary | | yes | yes | x | |
| primary | | yes | no | x | |
| primary | | yes | -1 | x | |
| primary | | no | yes | x | x |
| primary | | no | no | x | x |
| primary | | no | -1 | x | x |
| primary | | -1 | yes | | x |
| primary | | -1 | no | | x |
| primary | | -1 | -1 | | x |
| primary | roundabout | | yes | x | |
| primary | roundabout | | no | x | |
| primary | roundabout | | -1 | x | |
Scenario: Car - Two consecutive oneways
Given the node map
"""
a b c
"""
And the ways
| nodes | oneway |
| ab | yes |
| bc | yes |
When I route I should get
| from | to | route |
| a | c | ab,bc,bc |
# Reversible oneways (low frequency) vs alternating oneways (high frequency).
# See: https://github.com/Project-OSRM/osrm-backend/issues/2837
Scenario: Car - Route over alternating but not reversible oneways
Then routability should be
| highway | oneway | forw | backw |
| primary | reversible | | |
| primary | alternating | x | x |