140 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
			
		
		
	
	
			140 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
@routing @maxspeed @car
 | 
						|
Feature: Car - Max speed restrictions
 | 
						|
OSRM will use 4/5 of the projected free-flow speed.
 | 
						|
 | 
						|
    Background: Use specific speeds
 | 
						|
        Given the profile "car"
 | 
						|
        Given a grid size of 1000 meters
 | 
						|
 | 
						|
    Scenario: Car - Respect maxspeeds when lower than way type speed
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
            a b c d e f g
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway | maxspeed    |
 | 
						|
            | ab    | trunk   |             |
 | 
						|
            | bc    | trunk   | 60          |
 | 
						|
            | cd    | trunk   | FR:urban    |
 | 
						|
            | de    | trunk   | CH:rural    |
 | 
						|
            | ef    | trunk   | CH:trunk    |
 | 
						|
            | fg    | trunk   | CH:motorway |
 | 
						|
 | 
						|
        When I route I should get
 | 
						|
            | from | to | route | speed   |
 | 
						|
            | a    | b  | ab,ab | 85 km/h |
 | 
						|
            | b    | c  | bc,bc | 48 km/h |
 | 
						|
            | c    | d  | cd,cd | 40 km/h |
 | 
						|
            | d    | e  | de,de | 64 km/h |
 | 
						|
            | e    | f  | ef,ef | 80 km/h |
 | 
						|
            | f    | g  | fg,fg | 96 km/h |
 | 
						|
 | 
						|
    Scenario: Car - Do not ignore maxspeed when higher than way speed
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
            a b c d
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       | maxspeed | # |
 | 
						|
            | ab    | residential   |          | default residential speed is 25 |
 | 
						|
            | bc    | residential   | 90       |   |
 | 
						|
            | cd    | living_street | FR:urban |   |
 | 
						|
 | 
						|
        When I route I should get
 | 
						|
            | from | to | route | speed   |
 | 
						|
            | a    | b  | ab,ab | 25 km/h |
 | 
						|
                                            # default residential speed is 25, don't mess with this
 | 
						|
            | b    | c  | bc,bc | 72 km/h |
 | 
						|
                                            # parsed maxspeeds are scaled by profile's speed_reduction value
 | 
						|
            | c    | d  | cd,cd | 40 km/h |
 | 
						|
                                            # symbolic posted speeds without explicit exceptions are parsed
 | 
						|
                                            # from the profile's maxspeed_table_default table
 | 
						|
 | 
						|
    Scenario: Car - Forward/backward maxspeed are scaled by profile's speed_reduction if explicitly set
 | 
						|
        Given a grid size of 100 meters
 | 
						|
 | 
						|
        Then routability should be
 | 
						|
            | highway | maxspeed | maxspeed:forward | maxspeed:backward | forw    | backw   |
 | 
						|
            | primary |          |                  |                   | 65 km/h | 65 km/h |
 | 
						|
            | primary | 60       |                  |                   | 48 km/h | 48 km/h |
 | 
						|
            | primary |          | 60               |                   | 48 km/h | 65 km/h |
 | 
						|
            | primary |          |                  | 60                | 65 km/h | 48 km/h |
 | 
						|
            | primary | 15       | 60               |                   | 48 km/h | 12 km/h |
 | 
						|
            | primary | 15       |                  | 60                | 12 km/h | 48 km/h |
 | 
						|
            | primary | 15       | 30               | 60                | 24 km/h | 48 km/h |
 | 
						|
 | 
						|
    Scenario: Car - Maxspeed should not allow routing on unroutable ways
 | 
						|
        Then routability should be
 | 
						|
            | highway   | railway | access | maxspeed | maxspeed:forward | maxspeed:backward | bothw |
 | 
						|
            | primary   |         |        |          |                  |                   | x     |
 | 
						|
            | secondary |         | no     |          |                  |                   |       |
 | 
						|
            | secondary |         | no     | 100      |                  |                   |       |
 | 
						|
            | secondary |         | no     |          | 100              |                   |       |
 | 
						|
            | secondary |         | no     |          |                  | 100               |       |
 | 
						|
            | (nil)     | train   |        |          |                  |                   |       |
 | 
						|
            | (nil)     | train   |        | 100      |                  |                   |       |
 | 
						|
            | (nil)     | train   |        |          | 100              |                   |       |
 | 
						|
            | (nil)     | train   |        |          |                  | 100               |       |
 | 
						|
            | runway    |         |        |          |                  |                   |       |
 | 
						|
            | runway    |         |        | 100      |                  |                   |       |
 | 
						|
            | runway    |         |        |          | 100              |                   |       |
 | 
						|
            | runway    |         |        |          |                  | 100               |       |
 | 
						|
 | 
						|
    Scenario: Car - Too narrow streets should be ignored or incur a penalty
 | 
						|
        Then routability should be
 | 
						|
 | 
						|
            | highway | maxspeed | width | maxspeed:forward | maxspeed:backward | forw    | backw   | forw_rate | backw_rate |
 | 
						|
            | primary |          |       |                  |                   | 64 km/h | 64 km/h | 18        | 18         |
 | 
						|
            | primary |          |   3   |                  |                   | 64 km/h | 64 km/h | 9         | 9          |
 | 
						|
            | primary | 60       |       |                  |                   | 47 km/h | 47 km/h | 13        | 13         |
 | 
						|
            | primary | 60       |   3   |                  |                   | 47 km/h | 47 km/h | 7         | 7          |
 | 
						|
            | primary |          |       | 60               |                   | 47 km/h | 64 km/h | 13        | 18         |
 | 
						|
            | primary |          |   3   | 60               |                   | 47 km/h | 64 km/h | 7         | 9          |
 | 
						|
            | primary |          |       |                  | 60                | 64 km/h | 47 km/h | 18        | 13         |
 | 
						|
            | primary |          |   3   |                  | 60                | 64 km/h | 47 km/h | 9         | 7          |
 | 
						|
            | primary | 15       |       | 60               |                   | 47 km/h | 11 km/h | 13        | 3          |
 | 
						|
            | primary | 15       |   3   | 60               |                   | 48 km/h | 12 km/h | 7         | 2          |
 | 
						|
            | primary | 15       |       |                  | 60                | 12 km/h | 47 km/h | 3         | 13         |
 | 
						|
            | primary | 15       |   3   |                  | 60                | 12 km/h | 47 km/h | 2         | 7          |
 | 
						|
            | primary | 15       |       | 30               | 60                | 23 km/h | 47 km/h | 7         | 13         |
 | 
						|
            | primary | 15       |   3   | 30               | 60                | 23 km/h | 47 km/h | 3         | 7          |
 | 
						|
 | 
						|
    Scenario: Car - Single lane streets be ignored or incur a penalty
 | 
						|
        Then routability should be
 | 
						|
 | 
						|
            | highway | maxspeed | lanes | maxspeed:forward | maxspeed:backward | forw    | backw   | forw_rate | backw_rate |
 | 
						|
            | primary |          |       |                  |                   | 64 km/h | 64 km/h | 18        | 18         |
 | 
						|
            | primary |          |   1   |                  |                   | 64 km/h | 64 km/h | 9         | 9          |
 | 
						|
            | primary | 60       |       |                  |                   | 47 km/h | 47 km/h | 13        | 13         |
 | 
						|
            | primary | 60       |   1   |                  |                   | 47 km/h | 47 km/h | 7         | 7          |
 | 
						|
            | primary |          |       | 60               |                   | 47 km/h | 64 km/h | 13        | 18         |
 | 
						|
            | primary |          |   1   | 60               |                   | 47 km/h | 64 km/h | 7         | 9          |
 | 
						|
            | primary |          |       |                  | 60                | 64 km/h | 47 km/h | 18        | 13         |
 | 
						|
            | primary |          |   1   |                  | 60                | 64 km/h | 47 km/h | 9         | 7          |
 | 
						|
            | primary | 15       |       | 60               |                   | 47 km/h | 11 km/h | 13        | 3          |
 | 
						|
            | primary | 15       |   1   | 60               |                   | 48 km/h | 12 km/h | 7         | 2          |
 | 
						|
            | primary | 15       |       |                  | 60                | 12 km/h | 47 km/h | 3         | 13         |
 | 
						|
            | primary | 15       |   1   |                  | 60                | 12 km/h | 47 km/h | 2         | 7          |
 | 
						|
            | primary | 15       |       | 30               | 60                | 23 km/h | 47 km/h | 7         | 13         |
 | 
						|
            | primary | 15       |   1   | 30               | 60                | 23 km/h | 47 km/h | 3         | 7          |
 | 
						|
 | 
						|
    Scenario: Car - Single lane streets only incur a penalty for two-way streets
 | 
						|
        Then routability should be
 | 
						|
            | highway | maxspeed | lanes  | oneway | forw    | backw   | forw_rate | backw_rate |
 | 
						|
            | primary |   30     |   1    | yes    | 23 km/h |         | 7         |            |
 | 
						|
            | primary |   30     |   1    | -1     |         | 23 km/h |           | 7          |
 | 
						|
            | primary |   30     |   1    |        | 23 km/h | 23 km/h | 3         | 3          |
 | 
						|
            | primary |   30     |   2    |        | 23 km/h | 23 km/h | 7         | 7          |
 | 
						|
 | 
						|
    Scenario: Car - Forward/backward maxspeed on reverse oneways
 | 
						|
        Then routability should be
 | 
						|
            | highway | maxspeed | maxspeed:forward | maxspeed:backward | oneway | forw    | backw   | forw_rate | backw_rate |
 | 
						|
            | primary |          |                  |                   | -1     |         | 64 km/h |           | 18         |
 | 
						|
            | primary | 30       |                  |                   | -1     |         | 23 km/h |           | 7          |
 | 
						|
            | primary |          | 30               |                   | -1     |         | 64 km/h |           | 18         |
 | 
						|
            | primary |          |                  | 30                | -1     |         | 23 km/h |           | 7          |
 | 
						|
            | primary | 20       | 30               |                   | -1     |         | 15 km/h |           | 4          |
 | 
						|
            | primary | 20       |                  | 30                | -1     |         | 23 km/h |           | 7          |
 |