You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A man_made=bridge area only represents the physical footprint of a bridge structure, not a routable closed loop. But the default bicycle profile routes around the edge of this man_made=bridge area in Milwaukee, Wisconsin, that happens to be tagged bridge=movable:
Though this example may seem contrived, it’s actually quite easy to encounter because any roadway that the bridge carries needs to be connected to the bridge area. Here, the bicycle profile is using the edge of the bridge area as a shortcut to hop off the curb from the sidewalk to the roadway:
Diagnosis
The default bicycle route’s initial routability check passes, because the way has a man_made=* tag (and would also pass it if it only had a bridge=* tag):
This issue was fixed in #3739, but contrary to the commit message, it was only fixed for the car profile. The foot profile theoretically has the same loophole, but it happens to avoid this issue because no speed is defined for any bridge=* value.
This issue was recently rediscovered by @kaneapin OSMUS Slack. By coincidence, this bridge exacerbates the problem, because each of the streets and paths that pass under the bridge also connects to the bridge area.
The text was updated successfully, but these errors were encountered:
Issue
A
man_made=bridge
area only represents the physical footprint of a bridge structure, not a routable closed loop. But the default bicycle profile routes around the edge of thisman_made=bridge
area in Milwaukee, Wisconsin, that happens to be taggedbridge=movable
:Though this example may seem contrived, it’s actually quite easy to encounter because any roadway that the bridge carries needs to be connected to the bridge area. Here, the bicycle profile is using the edge of the bridge area as a shortcut to hop off the curb from the sidewalk to the roadway:
Diagnosis
The default bicycle route’s initial routability check passes, because the way has a
man_made=*
tag (and would also pass it if it only had abridge=*
tag):osrm-backend/profiles/bicycle.lua
Line 256 in 0ca9131
osrm-backend/profiles/bicycle.lua
Lines 262 to 264 in 0ca9131
The profile assumes that bikes can go 5 kilometers per hour along a movable bridge:
osrm-backend/profiles/bicycle.lua
Lines 171 to 173 in 0ca9131
So it turns the bridge area into a
highway=movable
edge with aduration
weight of 5:osrm-backend/profiles/bicycle.lua
Lines 324 to 332 in 0ca9131
The tests make clear that the profile isn’t checking for a routable
highway=*
value, as it should:osrm-backend/features/bicycle/bridge.feature
Line 18 in 0ca9131
History
This issue was fixed in #3739, but contrary to the commit message, it was only fixed for the car profile. The foot profile theoretically has the same loophole, but it happens to avoid this issue because no speed is defined for any
bridge=*
value.This issue was recently rediscovered by @kaneap in OSMUS Slack. By coincidence, this bridge exacerbates the problem, because each of the streets and paths that pass under the bridge also connects to the bridge area.
The text was updated successfully, but these errors were encountered: