Adjustment of bicycle profile to review comments
This commit is contained in:
parent
a3e0eb03db
commit
a41caf0efb
@ -25,6 +25,16 @@ Feature: Bicycle - Adds penalties to unsafe roads
|
|||||||
Scenario: Bike - Apply no penalties to ways with cycleways
|
Scenario: Bike - Apply no penalties to ways with cycleways
|
||||||
Then routability should be
|
Then routability should be
|
||||||
| highway | cycleway | forw | backw | forw_rate | backw_rate |
|
| highway | cycleway | forw | backw | forw_rate | backw_rate |
|
||||||
|
| motorway | track | 15 km/h | | 4.2 | |
|
||||||
|
| primary | track | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
|
| secondary | track | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
|
| tertiary | track | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
|
| primary_link | track | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
|
| secondary_link | track | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
|
| tertiary_link | track | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
|
| residential | track | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
|
| cycleway | track | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
|
| footway | track | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
| motorway | lane | 15 km/h | | 4.2 | |
|
| motorway | lane | 15 km/h | | 4.2 | |
|
||||||
| primary | 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 |
|
| secondary | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
@ -40,31 +50,51 @@ Feature: Bicycle - Adds penalties to unsafe roads
|
|||||||
|
|
||||||
Scenario: Bike - Apply no penalties to ways in direction of cycleways
|
Scenario: Bike - Apply no penalties to ways in direction of cycleways
|
||||||
Then routability should be
|
Then routability should be
|
||||||
| highway | cycleway:right | cycleway:left | forw | backw | forw_rate | backw_rate |
|
| highway | cycleway:right | cycleway:left | forw | backw | forw_rate | backw_rate |
|
||||||
| motorway | lane | | 15 km/h | | 4.2 | |
|
| motorway | track | | 15 km/h | | 4.2 | |
|
||||||
| primary | lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
| primary | track | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
||||||
| secondary | lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
| secondary | track | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
||||||
| tertiary | lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
| tertiary | track | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
||||||
| primary_link | lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
| primary_link | track | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
||||||
| secondary_link| lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
| secondary_link | track | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
||||||
| tertiary_link | lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
| tertiary_link | track | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
||||||
| residential | lane | | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
| residential | track | | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
| cycleway | lane | | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
| cycleway | track | | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
| footway | lane | | 15 km/h | 6 km/h +-1 | 4.2 | 1.7 |
|
| footway | track | | 15 km/h | 6 km/h +-1 | 4.2 | 1.7 |
|
||||||
| motorway | | lane | | 15 km/h | | 4.2 |
|
| motorway | | track | | 15 km/h | | 4.2 |
|
||||||
| primary | | lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
| primary | | track | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
||||||
| secondary | | lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
| secondary | | track | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
||||||
| tertiary | | lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
| tertiary | | track | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
||||||
| primary_link | | lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
| primary_link | | track | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
||||||
| secondary_link| | lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
| secondary_link | | track | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
||||||
| tertiary_link | | lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
| tertiary_link | | track | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
||||||
| residential | | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
| residential | | track | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
| cycleway | | lane | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
| cycleway | | track | 15 km/h | 15 km/h | 4.2 | 4.2 |
|
||||||
| footway | | lane | 6 km/h +-1 | 15 km/h | 1.7 | 4.2 |
|
| footway | | track | 6 km/h +-1 | 15 km/h | 1.7 | 4.2 |
|
||||||
| motorway | shared_lane | | 15 km/h | | 4.2 | |
|
| motorway | lane | | 15 km/h | | 4.2 | |
|
||||||
| primary | shared_lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
| primary | lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
||||||
| motorway | | shared_lane | | 15 km/h | | 4.2 |
|
| secondary | lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
||||||
| primary | | shared_lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
| 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 +-1 | 15 km/h +-1 | 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 +-1 | 15 km/h +-1 | 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 |
|
||||||
|
| motorway | shared_lane | | 15 km/h | | 4.2 | |
|
||||||
|
| primary | shared_lane | | 15 km/h | 15 km/h | 4.2 | 2.9 |
|
||||||
|
| motorway | | shared_lane | | 15 km/h | | 4.2 |
|
||||||
|
| primary | | shared_lane | 15 km/h | 15 km/h | 2.9 | 4.2 |
|
||||||
|
|
||||||
|
|
||||||
Scenario: Bike - Don't apply penalties for all kind of cycleways
|
Scenario: Bike - Don't apply penalties for all kind of cycleways
|
||||||
|
@ -32,10 +32,6 @@ local profile = {
|
|||||||
u_turn_penalty = 20,
|
u_turn_penalty = 20,
|
||||||
turn_penalty = 6,
|
turn_penalty = 6,
|
||||||
turn_bias = 1.4,
|
turn_bias = 1.4,
|
||||||
|
|
||||||
-- reduce the driving speed by 30% for unsafe roads
|
|
||||||
-- only used for cyclability metric
|
|
||||||
safety_penalty = 0.7,
|
|
||||||
use_public_transport = true,
|
use_public_transport = true,
|
||||||
|
|
||||||
allowed_start_modes = Set {
|
allowed_start_modes = Set {
|
||||||
@ -59,17 +55,17 @@ local profile = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
access_tag_whitelist = Set {
|
access_tag_whitelist = Set {
|
||||||
'yes',
|
'yes',
|
||||||
'permissive',
|
'permissive',
|
||||||
'designated'
|
'designated'
|
||||||
},
|
},
|
||||||
|
|
||||||
access_tag_blacklist = Set {
|
access_tag_blacklist = Set {
|
||||||
'no',
|
'no',
|
||||||
'private',
|
'private',
|
||||||
'agricultural',
|
'agricultural',
|
||||||
'forestry',
|
'forestry',
|
||||||
'delivery'
|
'delivery'
|
||||||
},
|
},
|
||||||
|
|
||||||
restricted_access_tag_list = Set { },
|
restricted_access_tag_list = Set { },
|
||||||
@ -77,34 +73,36 @@ local profile = {
|
|||||||
restricted_highway_whitelist = Set { },
|
restricted_highway_whitelist = Set { },
|
||||||
|
|
||||||
access_tags_hierarchy = Sequence {
|
access_tags_hierarchy = Sequence {
|
||||||
'bicycle',
|
'bicycle',
|
||||||
'vehicle',
|
'vehicle',
|
||||||
'access'
|
'access'
|
||||||
},
|
},
|
||||||
|
|
||||||
restrictions = Set {
|
restrictions = Set {
|
||||||
'bicycle'
|
'bicycle'
|
||||||
},
|
},
|
||||||
|
|
||||||
cycleway_tags = Set {
|
cycleway_tags = Set {
|
||||||
'track',
|
'track',
|
||||||
'lane',
|
'lane',
|
||||||
'opposite',
|
'opposite',
|
||||||
'opposite_lane',
|
'opposite_lane',
|
||||||
'opposite_track',
|
'opposite_track',
|
||||||
'share_busway',
|
'share_busway',
|
||||||
'sharrow',
|
'sharrow',
|
||||||
'shared',
|
'shared',
|
||||||
'shared_lane'
|
'shared_lane'
|
||||||
},
|
},
|
||||||
|
|
||||||
unsafe_highway_list = Set {
|
-- reduce the driving speed by 30% for unsafe roads
|
||||||
'primary',
|
-- only used for cyclability metric
|
||||||
'secondary',
|
unsafe_highway_list = {
|
||||||
'tertiary',
|
primary = 0.7,
|
||||||
'primary_link',
|
secondary = 0.7,
|
||||||
'secondary_link',
|
tertiary = 0.7,
|
||||||
'tertiary_link'
|
primary_link = 0.7,
|
||||||
|
secondary_link = 0.7,
|
||||||
|
tertiary_link = 0.7,
|
||||||
},
|
},
|
||||||
|
|
||||||
service_penalties = {
|
service_penalties = {
|
||||||
@ -504,17 +502,18 @@ function way_function (way, result)
|
|||||||
|
|
||||||
-- convert duration into cyclability
|
-- convert duration into cyclability
|
||||||
if properties.weight_name == 'cyclability' then
|
if properties.weight_name == 'cyclability' then
|
||||||
local is_unsafe = profile.safety_penalty < 1 and profile.unsafe_highway_list[data.highway]
|
local safety_penalty = profile.unsafe_highway_list[data.highway] or 1.
|
||||||
|
local is_unsafe = safety_penalty < 1
|
||||||
local forward_is_unsafe = is_unsafe and not has_cycleway_right
|
local forward_is_unsafe = is_unsafe and not has_cycleway_right
|
||||||
local backward_is_unsafe = is_unsafe and not has_cycleway_left
|
local backward_is_unsafe = is_unsafe and not has_cycleway_left
|
||||||
local is_undesireable = data.highway == "service" and profile.service_penalties[service]
|
local is_undesireable = data.highway == "service" and profile.service_penalties[service]
|
||||||
local forward_penalty = 1.
|
local forward_penalty = 1.
|
||||||
local backward_penalty = 1.
|
local backward_penalty = 1.
|
||||||
if forward_is_unsafe then
|
if forward_is_unsafe then
|
||||||
forward_penalty = math.min(forward_penalty, profile.safety_penalty)
|
forward_penalty = math.min(forward_penalty, safety_penalty)
|
||||||
end
|
end
|
||||||
if backward_is_unsafe then
|
if backward_is_unsafe then
|
||||||
backward_penalty = math.min(backward_penalty, profile.safety_penalty)
|
backward_penalty = math.min(backward_penalty, safety_penalty)
|
||||||
end
|
end
|
||||||
|
|
||||||
if is_undesireable then
|
if is_undesireable then
|
||||||
|
Loading…
Reference in New Issue
Block a user