Make pedestrian roads marked as destination routable with car profile.

Check provided tests with:

    cucumber --tags @access -p verify

References:

- https://github.com/Project-OSRM/osrm-backend/issues/1617
- http://wiki.openstreetmap.org/wiki/Tag:highway%3Dpedestrian
- http://wiki.openstreetmap.org/wiki/Key:motorcar
- http://wiki.openstreetmap.org/wiki/Key:access
This commit is contained in:
Daniel J. Hofmann 2015-09-02 12:03:07 +02:00
parent 70bb082973
commit b6ef558c86
2 changed files with 14 additions and 8 deletions

View File

@ -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

View File

@ -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