diff --git a/features/car/access.feature b/features/car/access.feature index 5fd56f395..8f05ccbca 100644 --- a/features/car/access.feature +++ b/features/car/access.feature @@ -125,13 +125,15 @@ Feature: Car - Restricted access Scenario: Car - Access combinations Then routability should be - | highway | accesss | vehicle | motor_vehicle | motorcar | bothw | - | runway | private | | | permissive | x | - | primary | forestry | | yes | | x | - | cycleway | | | designated | | x | - | residential | | yes | no | | | - | motorway | yes | permissive | | private | | - | trunk | agricultural | designated | permissive | no | | + | highway | accesss | vehicle | motor_vehicle | motorcar | bothw | + | runway | private | | | permissive | x | + | primary | forestry | | yes | | x | + | cycleway | | | designated | | x | + | residential | | yes | no | | | + | motorway | yes | permissive | | private | | + | trunk | agricultural | designated | permissive | no | | + | pedestrian | | | | | | + | pedestrian | | | | destination | x | Scenario: Car - Ignore access tags for other modes Then routability should be diff --git a/profiles/car.lua b/profiles/car.lua index c6d443ccd..b542f2620 100644 --- a/profiles/car.lua +++ b/profiles/car.lua @@ -302,8 +302,12 @@ function way_function (way, result) result.backward_speed = highway_speed end else + -- make an exception for restricted highway=pedestrian with motorcar=destination + local motorcar = way:get_value_by_key("motorcar") + local pedestrian_road = motorcar and "destination" == motorcar and "pedestrian" == highway + -- Set the avg speed on ways that are marked accessible - if access_tag_whitelist[access] then + if access_tag_whitelist[access] or pedestrian_road then result.forward_speed = speed_profile["default"] result.backward_speed = speed_profile["default"] end