Add test case for safety features on cycleways

This commit is contained in:
Patrick Niklaus 2017-05-15 13:33:28 +00:00 committed by Patrick Niklaus
parent b28077a437
commit 34f62b4894
2 changed files with 71 additions and 2 deletions

View File

@ -0,0 +1,69 @@
@routing @bicycle @safety
Feature: Bicycle - Adds penalties to unsafe roads
Background:
Given the profile file
"""
require 'bicycle'
properties.weight_name = 'cyclability'
"""
Scenario: Bike - Apply penalties to ways without cycleways
Then routability should be
| highway | cycleway | forw | backw | forw_rate | backw_rate |
| motorway | | | | | |
| primary | | 15 km/h | 15 km/h | 2.9 | 2.9 |
| secondary | | 15 km/h | 15 km/h | 2.9 | 2.9 |
| tertiary | | 15 km/h | 15 km/h | 2.9 | 2.9 |
| primary_link | | 15 km/h | 15 km/h | 2.9 | 2.9 |
| secondary_link| | 15 km/h | 15 km/h | 2.9 | 2.9 |
| tertiary_link | | 15 km/h | 15 km/h | 2.9 | 2.9 |
| residential | | 15 km/h | 15 km/h | 4.2 | 4.2 |
| cycleway | | 15 km/h | 15 km/h | 4.2 | 4.2 |
| footway | | 6 km/h +-1 | 6 km/h +-1 | 1.7 | 1.7 |
Scenario: Bike - Apply no penalties to ways with cycleways
Then routability should be
| highway | cycleway | forw | backw | forw_rate | backw_rate |
| motorway | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
| primary | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
| secondary | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
| tertiary | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
| primary_link | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
| secondary_link| lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
| tertiary_link | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
| residential | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
| cycleway | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
| footway | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
Scenario: Bike - Apply no penalties to ways in direction of cycleways
Then routability should be
| highway | cycleway:right | cycleway:left | forw | backw | forw_rate | backw_rate |
| motorway | lane | | 15 km/h | | 4.2 | |
| primary | lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
| secondary | lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
| tertiary | lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
| primary_link | lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
| secondary_link| lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
| tertiary_link | lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
| residential | lane | | 15 km/h | 15 km/h | 4.2 | 4.2 |
| cycleway | lane | | 15 km/h | 15 km/h | 4.2 | 4.2 |
| footway | lane | | 15 km/h | 6 km/h +-1 | 4.2 | 1.7 |
| motorway | | lane | | 15 km/h | | 4.2 |
| primary | | lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
| secondary | | lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
| tertiary | | lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
| primary_link | | lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
| secondary_link| | lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
| tertiary_link | | lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
| residential | | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
| cycleway | | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
| footway | | lane | 6 km/h +-1 | 15 km/h | 1.7 | 4.2 |
Scenario: Bike - Don't apply penalties for all kind of cycleways
Then routability should be
| highway | cycleway | forw | backw | forw_rate | backw_rate |
| tertiary | shared_lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
| tertiary | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
| tertiary | opposite | 15 km/h | 15 km/h | 2.9 | 4.2 |

View File

@ -34,8 +34,8 @@ local profile = {
turn_bias = 1.4,
-- reduce the driving speed by 30% for unsafe roads
-- local safety_penalty = 0.7,
safety_penalty = 1.0,
-- only used for cyclability metric
safety_penalty = 0.7,
use_public_transport = true,
allowed_start_modes = Set {