2016-06-06 07:52:41 -04:00
|
|
|
@routing @guidance @turn-lanes
|
|
|
|
Feature: Turn Lane Guidance
|
|
|
|
|
|
|
|
Background:
|
|
|
|
Given the profile "car"
|
|
|
|
Given a grid size of 20 meters
|
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Anticipate Lane Change for subsequent multi-lane intersections
|
|
|
|
Given the node map
|
|
|
|
| a | | b | | x | | |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | c | | d | | z |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | y | | e | | |
|
|
|
|
|
|
|
|
And the ways
|
2016-07-07 09:31:20 -04:00
|
|
|
| nodes | turn:lanes:forward |
|
|
|
|
| ab | through\|right\|right\|right |
|
|
|
|
| bx | |
|
|
|
|
| bc | left\|left\|through |
|
|
|
|
| cd | through\|right |
|
|
|
|
| cy | |
|
|
|
|
| dz | |
|
|
|
|
| de | |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
When I route I should get
|
2016-06-21 04:41:08 -04:00
|
|
|
| waypoints | route | turns | lanes | # |
|
|
|
|
| a,d | ab,bc,cd,cd | depart,turn right,turn left,arrive | ,straight:false right:true right:true right:false,left:true left:true straight:false, | 2 hops |
|
|
|
|
| a,e | ab,bc,cd,de,de | depart,turn right,turn left,turn right,arrive | ,straight:false right:false right:true right:false,left:false left:true straight:false,straight:false right:true, | 3 hops |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Anticipate Lane Change for quick same direction turns, staying on the same street
|
|
|
|
Given the node map
|
|
|
|
| a | | b | x |
|
|
|
|
| | | | |
|
|
|
|
| | | c | |
|
|
|
|
| | | | |
|
|
|
|
| e | | d | y |
|
|
|
|
|
|
|
|
And the ways
|
2016-07-07 09:31:20 -04:00
|
|
|
| nodes | turn:lanes:forward | turn:lanes:backward | name |
|
|
|
|
| ab | through\|right\|right | | MySt |
|
|
|
|
| bx | | | XSt |
|
|
|
|
| bc | | left\|right | MySt |
|
|
|
|
| cd | left\|right | through\|through | MySt |
|
|
|
|
| de | | left\|left\|through | MySt |
|
|
|
|
| dy | | | YSt |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
When I route I should get
|
2016-06-21 04:41:08 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,e | MySt,MySt,MySt,MySt | depart,continue right,turn right,arrive | ,straight:false right:false right:true,left:false right:true, |
|
|
|
|
| e,a | MySt,MySt,MySt,MySt | depart,continue left,turn left,arrive | ,left:true left:false straight:false,left:true right:false, |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Anticipate Lane Change for quick same direction turns, changing between streets
|
|
|
|
Given the node map
|
|
|
|
| a | | b | x |
|
|
|
|
| | | | |
|
|
|
|
| | | c | |
|
|
|
|
| | | | |
|
|
|
|
| e | | d | y |
|
|
|
|
|
|
|
|
And the ways
|
2016-07-07 09:31:20 -04:00
|
|
|
| nodes | turn:lanes:forward | turn:lanes:backward | name |
|
|
|
|
| ab | through\|right\|right | | AXSt |
|
|
|
|
| bx | | | AXSt |
|
|
|
|
| bc | | left\|right | BDSt |
|
|
|
|
| cd | left\|right | through\|through | BDSt |
|
|
|
|
| de | | left\|left\|through | EYSt |
|
|
|
|
| dy | | | EYSt |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
When I route I should get
|
2016-06-21 04:41:08 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,e | AXSt,BDSt,EYSt,EYSt | depart,turn right,turn right,arrive | ,straight:false right:false right:true,left:false right:true, |
|
|
|
|
| e,a | EYSt,BDSt,AXSt,AXSt | depart,turn left,turn left,arrive | ,left:true left:false straight:false,left:true right:false, |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Anticipate Lane Change for quick turns during a merge
|
|
|
|
Given the node map
|
|
|
|
| a | | | | |
|
|
|
|
| x | b | | c | y |
|
|
|
|
| | | | | d |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | name | highway | oneway |
|
|
|
|
| ab | slight_left\|slight_left | On | motorway_link | yes |
|
|
|
|
| xb | | Hwy | motorway | |
|
|
|
|
| bc | through\|slight_right | Hwy | motorway | |
|
|
|
|
| cd | | Off | motorway_link | yes |
|
|
|
|
| cy | | Hwy | motorway | |
|
|
|
|
|
|
|
|
When I route I should get
|
2016-06-21 04:41:08 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,d | On,Hwy,Off,Off | depart,merge slight right,off ramp right,arrive | ,slight left:false slight left:true,straight:false slight right:true, |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Schoenefelder Kreuz
|
|
|
|
# https://www.openstreetmap.org/way/264306388#map=16/52.3202/13.5568
|
|
|
|
Given the node map
|
|
|
|
| a | b | x | | | i |
|
|
|
|
| | | c | d | | |
|
|
|
|
| | | | | | j |
|
|
|
|
|
|
|
|
And the ways
|
2016-07-07 09:31:20 -04:00
|
|
|
| nodes | turn:lanes:forward | lanes | highway | oneway | name |
|
|
|
|
| ab | none\|none\|none\|slight_right\|slight_right | 5 | motorway | | abx |
|
|
|
|
| bx | | 3 | motorway | | abx |
|
|
|
|
| bc | | 2 | motorway_link | yes | bcd |
|
|
|
|
| cd | slight_left\|slight_left;slight_right\|slight_right | 3 | motorway_link | yes | bcd |
|
|
|
|
| di | slight_left\|slight_right | 2 | motorway_link | yes | di |
|
|
|
|
| dj | | 2 | motorway_link | yes | dj |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
When I route I should get
|
2016-06-15 08:38:24 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
2016-06-21 04:41:08 -04:00
|
|
|
| a,i | abx,bcd,di,di | depart,off ramp right,fork slight left,arrive | ,none:false none:false none:false slight right:true slight right:true,slight left:true slight left;slight right:true slight right:false, |
|
|
|
|
| a,j | abx,bcd,dj,dj | depart,off ramp right,fork slight right,arrive | ,none:false none:false none:false slight right:true slight right:true,slight left:false slight left;slight right:true slight right:true, |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Kreuz Oranienburg
|
|
|
|
# https://www.openstreetmap.org/way/4484007#map=18/52.70439/13.20269
|
|
|
|
Given the node map
|
|
|
|
| i | | | | | a |
|
|
|
|
| j | | c | b | | x |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | lanes | highway | oneway | name |
|
|
|
|
| ab | | 1 | motorway_link | yes | ab |
|
|
|
|
| xb | | 1 | motorway_link | yes | xbcj |
|
|
|
|
| bc | none\|slight_right | 2 | motorway_link | yes | xbcj |
|
|
|
|
| ci | | 1 | motorway_link | yes | ci |
|
|
|
|
| cj | | 1 | motorway_link | yes | xbcj |
|
|
|
|
|
|
|
|
When I route I should get
|
2016-07-14 09:05:46 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,i | ab,ci,ci | depart,turn slight right,arrive | ,none:false slight right:true, |
|
|
|
|
| a,j | ab,xbcj | depart,arrive | , |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Lane anticipation for fan-in
|
|
|
|
Given the node map
|
|
|
|
| a | | b | | x | | |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | c | | d | | z |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | y | | e | | |
|
|
|
|
|
|
|
|
And the ways
|
2016-07-07 09:31:20 -04:00
|
|
|
| nodes | turn:lanes:forward | name |
|
|
|
|
| ab | through\|right\|right\|right | abx |
|
|
|
|
| bx | | abx |
|
|
|
|
| bc | left\|left\|through | bcy |
|
|
|
|
| cy | | bcy |
|
|
|
|
| cd | through\|right | cdz |
|
|
|
|
| dz | | cdz |
|
|
|
|
| de | | de |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
When I route I should get
|
2016-06-21 04:41:08 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,e | abx,bcy,cdz,de,de | depart,turn right,turn left,turn right,arrive | ,straight:false right:false right:true right:false,left:false left:true straight:false,straight:false right:true, |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Lane anticipation for fan-out
|
|
|
|
Given the node map
|
|
|
|
| a | | b | | x | | |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | c | | d | | z |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | y | | e | | |
|
|
|
|
|
|
|
|
And the ways
|
2016-07-07 09:31:20 -04:00
|
|
|
| nodes | turn:lanes:forward | name |
|
|
|
|
| ab | through\|right | abx |
|
|
|
|
| bx | | abx |
|
|
|
|
| bc | left\|left\|through | bcy |
|
|
|
|
| cy | | bcy |
|
|
|
|
| cd | through\|right\|right\|right | cdz |
|
|
|
|
| dz | | cdz |
|
|
|
|
| de | | de |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
When I route I should get
|
2016-06-21 04:41:08 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,e | abx,bcy,cdz,de,de | depart,turn right,turn left,turn right,arrive | ,straight:false right:true,left:true left:true straight:false,straight:false right:true right:true right:true, |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Lane anticipation for fan-in followed by fan-out
|
|
|
|
Given the node map
|
|
|
|
| a | | b | | x | | |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | c | | d | | z |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | y | | e | | |
|
|
|
|
|
|
|
|
And the ways
|
2016-07-07 09:31:20 -04:00
|
|
|
| nodes | turn:lanes:forward | name |
|
|
|
|
| ab | through\|right\|right\|right | abx |
|
|
|
|
| bx | | abx |
|
|
|
|
| bc | left\|left\|through | bcy |
|
|
|
|
| cy | | bcy |
|
|
|
|
| cd | through\|right\|right\|right | cdz |
|
|
|
|
| dz | | cdz |
|
|
|
|
| de | | de |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
When I route I should get
|
2016-06-21 04:41:08 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,e | abx,bcy,cdz,de,de | depart,turn right,turn left,turn right,arrive | ,straight:false right:true right:true right:false,left:true left:true straight:false,straight:false right:true right:true right:true, |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Lane anticipation for fan-out followed by fan-in
|
|
|
|
Given the node map
|
|
|
|
| a | | b | | x | | |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | c | | d | | z |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | y | | e | | |
|
|
|
|
|
|
|
|
And the ways
|
2016-07-07 09:31:20 -04:00
|
|
|
| nodes | turn:lanes:forward | name |
|
|
|
|
| ab | through\|right | abx |
|
|
|
|
| bx | | abx |
|
|
|
|
| bc | left\|left\|through | bcy |
|
|
|
|
| cy | | bcy |
|
|
|
|
| cd | through\|right | cdz |
|
|
|
|
| dz | | cdz |
|
|
|
|
| de | | de |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
When I route I should get
|
2016-06-21 04:41:08 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,e | abx,bcy,cdz,de,de | depart,turn right,turn left,turn right,arrive | ,straight:false right:true,left:false left:true straight:false,straight:false right:true, |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Lane anticipation for multiple hops with same number of lanes
|
|
|
|
Given the node map
|
|
|
|
| a | | b | | x | | |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | c | | d | | z |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | y | | e | | f |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | | | w | | |
|
|
|
|
|
|
|
|
And the ways
|
2016-07-07 09:31:20 -04:00
|
|
|
| nodes | turn:lanes:forward | name |
|
|
|
|
| ab | through\|right\|right\|right | abx |
|
|
|
|
| bx | | abx |
|
|
|
|
| bc | left\|left\|through | bcy |
|
|
|
|
| cy | | bcy |
|
|
|
|
| cd | through\|right\|right | cdz |
|
|
|
|
| dz | | cdz |
|
|
|
|
| de | left\|through | dew |
|
|
|
|
| ew | | dew |
|
|
|
|
| ef | | ef |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
|
|
|
When I route I should get
|
2016-06-21 04:41:08 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
2016-07-08 06:39:29 -04:00
|
|
|
| a,f | abx,bcy,cdz,dew,ef,ef | depart,turn right,turn left,turn right,turn left,arrive | ,straight:false right:true right:false right:false,left:true left:false straight:false,straight:false right:true right:false,left:true straight:false, |
|
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Anticipate Lanes for through, through with lanes
|
|
|
|
Given the node map
|
|
|
|
| | | | f | g | |
|
|
|
|
| | | | | | |
|
|
|
|
| a | b | c | d | | e |
|
|
|
|
| | | | | | |
|
|
|
|
| | | | h | i | |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | name |
|
|
|
|
| ab | | main |
|
|
|
|
| bc | left\|through\|through\|through\|right | main |
|
|
|
|
| cd | left\|through\|right | main |
|
|
|
|
| de | | main |
|
|
|
|
| cf | | off |
|
|
|
|
| ch | | off |
|
|
|
|
| dg | | off |
|
|
|
|
| di | | off |
|
|
|
|
|
|
|
|
When I route I should get
|
2016-07-22 03:08:40 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,e | main,main,main | depart,use lane straight,arrive | ,left:false straight:false straight:true straight:false right:false, |
|
2016-07-08 06:39:29 -04:00
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Anticipate Lanes for through and collapse multiple use lanes
|
|
|
|
Given the node map
|
|
|
|
| | | e | f | g |
|
|
|
|
| | | | | |
|
|
|
|
| a | b | c | d | |
|
|
|
|
| | | | | |
|
|
|
|
| | | h | i | j |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | name |
|
|
|
|
| ab | left\|through\|through\|right | main |
|
|
|
|
| bc | left\|through\|through\|right | main |
|
|
|
|
| cd | left\|through\|through\|through\|right | main |
|
|
|
|
| be | | off |
|
|
|
|
| bh | | off |
|
|
|
|
| cf | | off |
|
|
|
|
| ci | | off |
|
|
|
|
| dg | | off |
|
|
|
|
| dj | | off |
|
|
|
|
|
|
|
|
When I route I should get
|
2016-07-22 03:08:40 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,c | main,main | depart,arrive | , |
|
|
|
|
| a,d | main,main | depart,arrive | , |
|
2016-07-08 06:39:29 -04:00
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Anticipate Lanes for through followed by left/right
|
|
|
|
Given the node map
|
|
|
|
| | | f | g | |
|
|
|
|
| | | | | d |
|
|
|
|
| a | b | c | x | |
|
|
|
|
| | | | | e |
|
|
|
|
| | | h | i | |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | name |
|
|
|
|
| ab | left\|through\|through\|through\|through\|right | main |
|
|
|
|
| bc | left\|through\|through\|right | main |
|
|
|
|
| cx | left\|right | main |
|
|
|
|
| xd | | left |
|
|
|
|
| xe | | right |
|
|
|
|
| bf | | off |
|
|
|
|
| bh | | off |
|
|
|
|
| cg | | off |
|
|
|
|
| ci | | off |
|
|
|
|
|
|
|
|
When I route I should get
|
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,d | main,main,main,left,left | depart,use lane straight,use lane straight,turn left,arrive | ,left:false straight:false straight:true straight:false straight:false right:false,left:false straight:true straight:false right:false,left:true right:false, |
|
|
|
|
| a,e | main,main,main,right,right | depart,use lane straight,use lane straight,turn right,arrive | ,left:false straight:false straight:false straight:true straight:false right:false,left:false straight:false straight:true right:false,left:false right:true, |
|
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Anticipate Lanes for through with turn before / after
|
|
|
|
Given the node map
|
|
|
|
| a | b | c |
|
|
|
|
| | d | |
|
|
|
|
| f | e | g |
|
|
|
|
| | h | |
|
|
|
|
| j | i | l |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | name | oneway |
|
|
|
|
| ab | right\|right\|right\|right | ab | yes |
|
|
|
|
| cb | left\|left\|left\|left | cb | yes |
|
|
|
|
| bd | | bdehi | |
|
|
|
|
| de | left\|left\|through\|through\|through\|through\|right\|right | bdehi | |
|
|
|
|
| ef | | ef | |
|
|
|
|
| eg | | eg | |
|
|
|
|
| eh | | bdehi | |
|
|
|
|
| hi | left\|left\|right\|right | bdehi | |
|
|
|
|
| ij | | ij | |
|
|
|
|
| il | | il | |
|
|
|
|
|
|
|
|
When I route I should get
|
|
|
|
| waypoints | route | turns | lanes | # |
|
|
|
|
| a,f | ab,bdehi,ef,ef | depart,turn right,turn right,arrive | ,right:false right:false right:true right:true,left:false left:false straight:false straight:false straight:false straight:false right:true right:true, | |
|
|
|
|
| a,g | ab,bdehi,eg,eg | depart,turn right,turn left,arrive | ,right:true right:true right:false right:false,left:true left:true straight:false straight:false straight:false straight:false right:false right:false, | |
|
|
|
|
| a,j | ab,bdehi,bdehi,ij,ij | depart,turn right,use lane straight,turn right,arrive | ,right:true right:true right:false right:false,left:false left:false straight:false straight:false straight:true straight:true right:false right:false,left:false left:false right:true right:true, | |
|
|
|
|
| a,l | ab,bdehi,bdehi,il,il | depart,turn right,use lane straight,turn left,arrive | ,right:false right:false right:true right:true,left:false left:false straight:true straight:true straight:false straight:false right:false right:false,left:true left:true right:false right:false, | not perfect |
|
|
|
|
| c,g | cb,bdehi,eg,eg | depart,turn left,turn left,arrive | ,left:true left:true left:false left:false,left:true left:true straight:false straight:false straight:false straight:false right:false right:false, | |
|
|
|
|
| c,f | cb,bdehi,ef,ef | depart,turn left,turn right,arrive | ,left:false left:false left:true left:true,left:false left:false straight:false straight:false straight:false straight:false right:true right:true, | |
|
|
|
|
| c,l | cb,bdehi,bdehi,il,il | depart,turn left,use lane straight,turn left,arrive | ,left:false left:false left:true left:true,left:false left:false straight:true straight:true straight:false straight:false right:false right:false,left:true left:true right:false right:false, | |
|
|
|
|
| c,j | cb,bdehi,bdehi,ij,ij | depart,turn left,use lane straight,turn right,arrive | ,left:true left:true left:false left:false,left:false left:false straight:false straight:false straight:true straight:true right:false right:false,left:false left:false right:true right:true, | not perfect |
|
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Anticipate Lanes for turns with through before and after
|
|
|
|
Given the node map
|
|
|
|
| a | b | q | | s | h | i |
|
|
|
|
| | | e | f | g | | |
|
|
|
|
| c | d | r | | t | j | k |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | name |
|
|
|
|
| ab | through\|right\|right\|right | top |
|
|
|
|
| be | | top |
|
|
|
|
| bq | | off |
|
|
|
|
| ef | left\|through\|through\|through\|through\|right | main |
|
|
|
|
| fg | left\|left\|right\|right | main |
|
|
|
|
| fs | | off |
|
|
|
|
| ft | | off |
|
|
|
|
| gh | | top |
|
|
|
|
| hi | | top |
|
|
|
|
| cd | left\|left\|left\|through | bot |
|
|
|
|
| de | | bot |
|
|
|
|
| dr | | off |
|
|
|
|
| gj | | bot |
|
|
|
|
| jk | | bot |
|
|
|
|
|
|
|
|
When I route I should get
|
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,i | top,main,main,top,top | depart,turn right,use lane straight,turn left,arrive | ,straight:false right:false right:true right:true,left:false straight:true straight:true straight:false straight:false right:false,left:true left:true right:false right:false, |
|
|
|
|
| a,k | top,main,main,bot,bot | depart,turn right,use lane straight,turn right,arrive | ,straight:false right:true right:true right:false,left:false straight:false straight:false straight:true straight:true right:false,left:false left:false right:true right:true, |
|
|
|
|
| c,i | bot,main,main,top,top | depart,turn left,use lane straight,turn left,arrive | ,left:false left:true left:true straight:false,left:false straight:true straight:true straight:false straight:false right:false,left:true left:true right:false right:false, |
|
|
|
|
| c,k | bot,main,main,bot,bot | depart,turn left,use lane straight,turn right,arrive | ,left:true left:true left:false straight:false,left:false straight:false straight:false straight:true straight:true right:false,left:false left:false right:true right:true, |
|
|
|
|
|
|
|
|
@anticipate
|
|
|
|
Scenario: Anticipate Lanes for turn between throughs
|
|
|
|
Given the node map
|
|
|
|
| | q | | |
|
|
|
|
| a | b | c | s |
|
|
|
|
| | r | d | t |
|
|
|
|
| | | e | |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | name |
|
|
|
|
| ab | left\|through\|through\|through\|through\|through\|right | main |
|
|
|
|
| bq | | off |
|
|
|
|
| br | | off |
|
|
|
|
| bc | through\|through\|right\|right\|right | main |
|
|
|
|
| cs | | off |
|
|
|
|
| cd | left\|through\|through | main |
|
|
|
|
| de | | main |
|
|
|
|
| dt | | off |
|
|
|
|
|
|
|
|
When I route I should get
|
2016-07-22 03:08:40 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,e | main,main,main,main | depart,use lane straight,continue right,arrive | ,left:false straight:false straight:false straight:false straight:true straight:true right:false,straight:false straight:false right:false right:true right:true, |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
2016-09-19 17:13:44 -04:00
|
|
|
@anticipate @todo @2661
|
2016-07-15 09:04:01 -04:00
|
|
|
Scenario: Anticipate with lanes in roundabout: roundabouts as the unit of anticipation
|
2016-06-30 06:10:48 -04:00
|
|
|
Given the node map
|
|
|
|
| | | e | | |
|
|
|
|
| a | b | | d | f |
|
|
|
|
| | | c | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | g | | |
|
|
|
|
| k | h | | j | l |
|
|
|
|
| | | i | | |
|
|
|
|
|
|
|
|
And the ways
|
2016-06-24 10:06:45 -04:00
|
|
|
| nodes | turn:lanes:forward | highway | junction | # |
|
2016-07-13 05:48:53 -04:00
|
|
|
| ab | slight_right\|slight_right\|slight_right | primary | | |
|
|
|
|
| bc | slight_left\|slight_right\|slight_right | primary | roundabout | top |
|
2016-06-24 10:06:45 -04:00
|
|
|
| cd | | primary | roundabout | top |
|
|
|
|
| de | | primary | roundabout | top |
|
|
|
|
| eb | | primary | roundabout | top |
|
|
|
|
| df | | primary | | |
|
|
|
|
| cg | slight_right\|slight_right | primary | | |
|
|
|
|
| gh | slight_left\|slight_right | primary | roundabout | bot |
|
|
|
|
| hi | | primary | roundabout | bot |
|
|
|
|
| ij | slight_left\|slight_right | primary | roundabout | bot |
|
|
|
|
| jg | | primary | roundabout | bot |
|
|
|
|
| hk | | primary | | |
|
|
|
|
| jl | | primary | | |
|
2016-06-30 06:10:48 -04:00
|
|
|
|
|
|
|
When I route I should get
|
|
|
|
| # | waypoints | route | turns | lanes |
|
|
|
|
| right-right | a,k | ab,cg,hk,hk | depart,roundabout-exit-1,roundabout-exit-1,arrive | ,slight right:false slight right:false slight right:true,slight right:false slight right:true, |
|
|
|
|
| right-left | a,l | ab,cg,jl,jl | depart,roundabout-exit-1,roundabout-exit-2,arrive | ,slight right:false slight right:false slight right:true,slight right:false slight right:true, |
|
|
|
|
| todo exits | a,f | ab,df,df | depart,roundabout-exit-2,arrive | ,slight right:false slight right:false slight right:true, |
|
|
|
|
| todo exits | a,e | ab,bc,eb | depart,roundabout-exit-undefined,arrive | ,slight right:true slight right:true slight right:true, |
|
|
|
|
|
|
|
|
@anticipate @todo
|
|
|
|
Scenario: Roundabout with lanes only tagged on exit
|
|
|
|
Given the node map
|
|
|
|
| | | e | | |
|
|
|
|
| a | b | | d | f |
|
|
|
|
| | | c | | |
|
|
|
|
|
|
|
|
And the ways
|
2016-06-24 10:06:45 -04:00
|
|
|
| nodes | turn:lanes:forward | highway | junction |
|
|
|
|
| ab | | primary | |
|
|
|
|
| bc | | primary | roundabout |
|
2016-07-13 05:48:53 -04:00
|
|
|
| cd | slight_left\|slight_left\|slight_right | primary | roundabout |
|
2016-06-24 10:06:45 -04:00
|
|
|
| de | | primary | roundabout |
|
|
|
|
| eb | | primary | roundabout |
|
|
|
|
| df | | primary | |
|
2016-06-30 06:10:48 -04:00
|
|
|
|
|
|
|
When I route I should get
|
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,f | ab,df,df | depart,roundabout-exit-1,use lane slight right,arrive | ,,slight left:false slight left:false slight right:true, |
|
|
|
|
|
|
|
|
@anticipate
|
2016-07-22 12:59:08 -04:00
|
|
|
Scenario: No Lanes for Roundabouts, see #2626
|
2016-06-30 06:10:48 -04:00
|
|
|
Given the node map
|
|
|
|
| | | a | | |
|
|
|
|
| | | b | | |
|
|
|
|
| | c | | g | h |
|
|
|
|
| | | | | |
|
|
|
|
| | d | | f | |
|
|
|
|
| | | e | | |
|
|
|
|
| x | | | | y |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | highway | junction |
|
|
|
|
| ab | slight_right\|slight_right | primary | |
|
|
|
|
| bc | | primary | roundabout |
|
|
|
|
| cd | | primary | roundabout |
|
|
|
|
| de | | primary | roundabout |
|
|
|
|
| ef | | primary | roundabout |
|
2016-07-08 06:39:29 -04:00
|
|
|
| fg | through\|slight_right | primary | roundabout |
|
2016-06-30 06:10:48 -04:00
|
|
|
| gb | | primary | roundabout |
|
|
|
|
| gh | | primary | |
|
|
|
|
| cx | | primary | |
|
|
|
|
| dx | | primary | |
|
|
|
|
| ey | | primary | |
|
|
|
|
| fy | | primary | |
|
|
|
|
|
|
|
|
When I route I should get
|
2016-07-22 12:59:08 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,h | ab,gh,gh | depart,roundabout-exit-5,arrive | ,, |
|
2016-06-30 06:10:48 -04:00
|
|
|
|
|
|
|
@anticipate
|
2016-07-22 12:59:08 -04:00
|
|
|
Scenario: No Lanes for Roundabouts, see #2626
|
2016-06-30 06:10:48 -04:00
|
|
|
Given the node map
|
|
|
|
| | | a | | |
|
|
|
|
| x | b | | d | y |
|
|
|
|
| | | c | | |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | highway | junction | name |
|
|
|
|
| xb | slight_right\|slight_right | primary | | xb |
|
|
|
|
| dy | | primary | | dy |
|
|
|
|
| ab | | primary | roundabout | roundabout |
|
|
|
|
| bc | | primary | roundabout | roundabout |
|
|
|
|
| cd | left\|slight_right | primary | roundabout | roundabout |
|
|
|
|
| da | | primary | roundabout | roundabout |
|
|
|
|
|
|
|
|
When I route I should get
|
2016-07-22 12:59:08 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| x,y | xb,dy,dy | depart,roundabout-exit-1,arrive | ,, |
|
|
|
|
| x,c | xb,roundabout,roundabout | depart,roundabout-exit-undefined,arrive | ,, |
|
|
|
|
| x,a | xb,roundabout,roundabout | depart,roundabout-exit-undefined,arrive | ,, |
|
2016-07-15 08:14:06 -04:00
|
|
|
|
2016-07-20 08:05:53 -04:00
|
|
|
@anticipate
|
|
|
|
Scenario: No Lanes for Roundabouts, see #2626
|
|
|
|
Given the profile "lhs"
|
|
|
|
And the node map
|
|
|
|
| | | a | | |
|
|
|
|
| | | b | | |
|
|
|
|
| h | c | | g | |
|
|
|
|
| | | | | |
|
|
|
|
| | d | | f | |
|
|
|
|
| | | e | | |
|
|
|
|
| x | | | | y |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | highway | junction |
|
|
|
|
| ab | slight_left\|slight_left | primary | |
|
|
|
|
| bg | | primary | roundabout |
|
|
|
|
| gf | | primary | roundabout |
|
|
|
|
| fe | | primary | roundabout |
|
|
|
|
| ed | | primary | roundabout |
|
|
|
|
| dc | slight_left | primary | roundabout |
|
|
|
|
| cb | | primary | roundabout |
|
|
|
|
| ch | | primary | |
|
|
|
|
| ex | | primary | |
|
|
|
|
| dx | | primary | |
|
|
|
|
| gy | | primary | |
|
|
|
|
| fy | | primary | |
|
|
|
|
|
|
|
|
When I route I should get
|
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,h | ab,ch,ch | depart,roundabout-exit-5,arrive | ,, |
|
|
|
|
|
2016-07-15 08:14:06 -04:00
|
|
|
@anticipate
|
2016-07-22 12:59:08 -04:00
|
|
|
Scenario: No Lanes for Roundabouts, see #2626
|
2016-07-15 08:14:06 -04:00
|
|
|
Given the node map
|
|
|
|
| | | a | | |
|
|
|
|
| x | b | | d | y |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | |
|
|
|
|
| | | c | | |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | highway | junction | name |
|
|
|
|
| xb | slight_right\|slight_right | primary | | xb |
|
|
|
|
| dy | | primary | | dy |
|
|
|
|
| ab | | primary | roundabout | roundabout |
|
|
|
|
| bc | | primary | roundabout | roundabout |
|
|
|
|
| cd | left\|slight_right | primary | roundabout | roundabout |
|
|
|
|
| da | | primary | roundabout | roundabout |
|
|
|
|
|
|
|
|
When I route I should get
|
2016-07-22 12:59:08 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| x,y | xb,dy,dy | depart,roundabout-exit-1,arrive | ,, |
|
|
|
|
| x,c | xb,roundabout,roundabout | depart,roundabout-exit-undefined,arrive | ,, |
|
|
|
|
| x,a | xb,roundabout,roundabout | depart,roundabout-exit-undefined,arrive | ,, |
|
2016-06-30 06:10:48 -04:00
|
|
|
|
2016-07-22 03:08:40 -04:00
|
|
|
@anticipate @todo @2032
|
2016-07-22 12:59:08 -04:00
|
|
|
Scenario: No Lanes for Roundabouts, see #2626
|
2016-06-30 06:10:48 -04:00
|
|
|
Given the node map
|
|
|
|
| a | b | | | x |
|
|
|
|
| | c | | | |
|
|
|
|
| d | | f | g | z |
|
|
|
|
| | e | | h | |
|
|
|
|
| | | | | |
|
|
|
|
| | y | | | |
|
|
|
|
|
|
|
|
And the ways
|
2016-07-08 05:45:36 -04:00
|
|
|
| nodes | turn:lanes:forward | highway | junction | name |
|
|
|
|
| ab | through\|right\|right\|right\|right | primary | | abx |
|
|
|
|
| bx | | primary | | abx |
|
|
|
|
| bc | right\|right\|right\|right | primary | | bc |
|
|
|
|
| cd | | primary | roundabout | cdefc |
|
|
|
|
| de | slight_left\|slight_left\|slight_left\|slight_right | primary | roundabout | cdefc |
|
|
|
|
| ef | left\|slight_right\|slight_right | primary | roundabout | cdefc |
|
|
|
|
| fc | | primary | roundabout | cdefc |
|
|
|
|
| ey | | primary | | ey |
|
|
|
|
| fg | through\|right | primary | | fg |
|
|
|
|
| gz | | primary | | gz |
|
|
|
|
| gh | | primary | | gh |
|
2016-06-30 06:10:48 -04:00
|
|
|
|
|
|
|
When I route I should get
|
2016-07-29 15:35:01 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
2016-07-22 12:59:08 -04:00
|
|
|
| a,h | abx,bc,fg,gh,gh | depart,turn right,cdefc-exit-2,turn right,arrive | ,straight:false right:false right:false right:false right:true,,straight:false right:true, |
|
2016-06-30 06:10:48 -04:00
|
|
|
|
2016-07-08 06:39:29 -04:00
|
|
|
@anticipate
|
|
|
|
Scenario: Anticipate none tags
|
|
|
|
Given the node map
|
|
|
|
| a | b | c |
|
|
|
|
| | d | |
|
|
|
|
| f | e | g |
|
|
|
|
| | h | |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | highway | name |
|
|
|
|
| ab | none\|none\|right\|right | primary | abc |
|
|
|
|
| bc | | primary | abc |
|
|
|
|
| bd | | primary | bdeh |
|
|
|
|
| de | left\|none\|none\|right | primary | bdeh |
|
|
|
|
| eh | | primary | bdeh |
|
|
|
|
| ef | | primary | feg |
|
|
|
|
| eg | | primary | feg |
|
|
|
|
|
|
|
|
When I route I should get
|
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,g | abc,bdeh,feg,feg | depart,turn right,turn left,arrive | ,none:false none:false right:true right:false,left:true none:false none:false right:false, |
|
|
|
|
| a,f | abc,bdeh,feg,feg | depart,turn right,turn right,arrive | ,none:false none:false right:false right:true,left:false none:false none:false right:true, |
|
|
|
|
|
|
|
|
@anticipate
|
2016-09-19 17:13:44 -04:00
|
|
|
Scenario: Triple Right keeping Left
|
2016-06-06 07:52:41 -04:00
|
|
|
Given the node map
|
|
|
|
| a | | | | b | | i |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | | | | | |
|
|
|
|
| f | | e | | | | g |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | | | | | |
|
|
|
|
| | j | d | | c | | |
|
|
|
|
| | | | | h | | |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | highway | name |
|
2016-07-07 09:31:20 -04:00
|
|
|
| abi | \|\|right\|right | primary | start |
|
|
|
|
| bch | \|\|right\|right | primary | first |
|
|
|
|
| cdj | \|\|right\|right | primary | second |
|
|
|
|
| de | left\|right\|right | secondary | third |
|
2016-06-06 07:52:41 -04:00
|
|
|
| feg | | tertiary | fourth |
|
|
|
|
|
|
|
|
When I route I should get
|
2016-07-08 06:39:29 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,f | start,first,second,third,fourth,fourth | depart,turn right,turn right,turn right,turn left,arrive | ,none:false none:false right:true right:false,none:false none:false right:true right:false,none:false none:false right:true right:false,left:true right:false right:false, |
|
|
|
|
| a,g | start,first,second,third,fourth,fourth | depart,turn right,turn right,turn right,turn right,arrive | ,none:false none:false right:true right:true,none:false none:false right:true right:true,none:false none:false right:true right:true,left:false right:true right:true, |
|
2016-06-06 07:52:41 -04:00
|
|
|
|
2016-07-08 06:39:29 -04:00
|
|
|
@anticipate
|
2016-06-06 07:52:41 -04:00
|
|
|
Scenario: Tripple Left keeping Right
|
|
|
|
Given the node map
|
|
|
|
| i | | b | | | | a |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | | | | | |
|
|
|
|
| g | | | | e | | f |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | | | | | |
|
|
|
|
| | | c | | d | j | |
|
|
|
|
| | | h | | | | |
|
|
|
|
|
|
|
|
And the ways
|
|
|
|
| nodes | turn:lanes:forward | highway | name |
|
2016-07-07 09:31:20 -04:00
|
|
|
| abi | left\|left\|\| | primary | start |
|
|
|
|
| bch | left\|left\|\| | primary | first |
|
|
|
|
| cdj | left\|left\|\| | primary | second |
|
|
|
|
| de | left\|left\|right | secondary | third |
|
2016-06-06 07:52:41 -04:00
|
|
|
| feg | | tertiary | fourth |
|
|
|
|
|
|
|
|
When I route I should get
|
2016-07-08 06:39:29 -04:00
|
|
|
| waypoints | route | turns | lanes |
|
|
|
|
| a,f | start,first,second,third,fourth,fourth | depart,turn left,turn left,turn left,turn right,arrive | ,left:false left:true none:false none:false,left:false left:true none:false none:false,left:false left:true none:false none:false,left:false left:false right:true, |
|
|
|
|
| a,g | start,first,second,third,fourth,fourth | depart,turn left,turn left,turn left,turn left,arrive | ,left:true left:true none:false none:false,left:true left:true none:false none:false,left:true left:true none:false none:false,left:true left:true right:false, |
|