use 7s as signal penalty

This commit is contained in:
Emil Tin 2012-09-28 16:47:44 +02:00
parent dde4a496f6
commit e69777d20a
2 changed files with 49 additions and 10 deletions

View File

@ -1,6 +1,7 @@
@routing @penalty @signal
Feature: Penalties
Testbot uses a signal penalty of 7s
Background:
Given the speedprofile "testbot"
@ -21,7 +22,34 @@ Feature: Penalties
When I route I should get
| from | to | route | time |
| a | c | abc | 20s +-1 |
| d | f | def | 50s +-1 |
| d | f | def | 27s +-1 |
Scenario: Signal penalty should not depend on way type
Given the node map
| a | b | c |
| d | e | f |
| g | h | i |
And the nodes
| node | highway |
| b | traffic_signals |
| e | traffic_signals |
| h | traffic_signals |
And the ways
| nodes | highway |
| abc | primary |
| def | secondary |
| ghi | tertiary |
When I route I should get
| from | to | route | time |
| a | b | abc | 10s +-1 |
| a | c | abc | 17s +-1 |
| d | e | abc | 20s +-1 |
| d | f | abc | 27s +-1 |
| g | h | abc | 30s +-1 |
| g | i | abc | 37s +-1 |
Scenario: Passing multiple traffic signals should incur a accumulated delay
Given the node map
@ -38,8 +66,8 @@ Feature: Penalties
| abcde |
When I route I should get
| from | to | route | time |
| a | e | abcde | 130s +-1 |
| from | to | route | time |
| a | e | abcde | 61s +-1 |
Scenario: Starting or ending at a traffic signal should not incur a delay
Given the node map
@ -68,8 +96,8 @@ Feature: Penalties
| d | traffic_signals |
And the ways
| nodes |
| abcd |
| nodes | highway |
| abcd | primary |
When I route I should get
| from | to | route | time |
@ -86,10 +114,10 @@ Feature: Penalties
| b | traffic_signals |
And the ways
| nodes |
| abc |
| adc |
| nodes | highway |
| abc | primary |
| adc | primary |
When I route I should get
| from | to | route |
| a | c | adc |
| a | c | adc |

View File

@ -13,6 +13,17 @@ speed_profile = {
["default"] = 24
}
-- these settings are read directly by osrm
take_minimum_of_speeds = true
obey_oneway = true
obey_bollards = true
use_restrictions = true
ignore_areas = true -- future feature
traffic_signal_penalty = 7 -- seconds
u_turn_penalty = 20
function node_function (node)
local traffic_signal = node.tags:Find("highway")