diff --git a/features/bicycle/safety.feature b/features/bicycle/safety.feature new file mode 100644 index 000000000..b774e1093 --- /dev/null +++ b/features/bicycle/safety.feature @@ -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 | diff --git a/profiles/bicycle.lua b/profiles/bicycle.lua index 3ebbf3e80..0af85c7b1 100644 --- a/profiles/bicycle.lua +++ b/profiles/bicycle.lua @@ -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 {