Skip to content

Proposed ways are included in routing for bicycle and foot profiles #6614

@lliehu

Description

@lliehu

Issue

According to OpenStreetMap wiki, ways with highway=proposed and proposed=* tags are for "any feature that is still in planning phase but construction hasn't yet started". These ways are currently avoided in car profile but bicycle and foot profiles happily route on these ways even though it's possible that nothing exists on the ground.

It looks like these ways were intentionally discarded for routing on all of these profiles (car, bicycle and foot) on Jul 10, 2017. Link to merged pull request: #4258

Interestingly, routing on proposed ways was effectively re-enabled for bicycle and foot profiles about a week later on Jul 18 when a large pull request #4072 was merged. Reading through the pull request, there were no comments nor any mention in the commit message about this change. Note that the behavior was retained for car profile that had tests. It seems possible that the behavior was accidentally lost for bicycle and foot profiles during a rebase for this large pull request because these profiles did not have any tests for this behavior. taginfo.json also still says that both construction and proposed ways are discarded for routing and doesn't mention that it only applies to certain profiles.

Steps to reproduce

At first, I noticed this problem when openstreetmap.org routed me through the following proposed way: https://www.openstreetmap.org/way/386217696

Results of further investigation are written above. Cucumber tests and a possible fix are included in pull request #6615.

Specifications

  • osrm-backend from latest master branch
  • clang version 15.0.7 (failed to build with gcc 12)
  • Arch Linux updated less than a day ago

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions