Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

barrier=kerb causing severe Routing errors on OpenStreetMap #6582

Open
c-h-r-i-s-t-i-a-n opened this issue Mar 29, 2023 · 10 comments
Open

barrier=kerb causing severe Routing errors on OpenStreetMap #6582

c-h-r-i-s-t-i-a-n opened this issue Mar 29, 2023 · 10 comments

Comments

@c-h-r-i-s-t-i-a-n
Copy link
Author

Note that none of the other routers on osm (valhalla, graphhopper) are showing this behaviour.

@c-h-r-i-s-t-i-a-n
Copy link
Author

Also note that WIKI is suggesting access=yes as the default.

@osmuser63783
Copy link

osmuser63783 commented Apr 1, 2023

This bug has led to quite a bit of discussion on the German forum.

In my view, failing to route cars over barrier=kerb with kerb=rolled is a clearly a bug in OSRM if we apply the Wiki definition that it's "traversable by large wheeled vehicles, such as cars and bicycles". This should be whitelisted, like kerb=lowered and kerb=flush already are.

It is less clear if it's a bug that OSRM won't route cars over barrier=kerb with kerb=raised. There is some disagreement about this one: where there really is a raised kerb on the road, drivers probably don't want to be routed over it. But the vast majority of barrier=kerb with kerb=raised are tagging errors. Fixing the data will fix all the examples Christian posted. Unfortunately this is not straightforward: the cause of the tagging errors is a bug in iD (related discussion), so we before correct the data, we should fix the bug in iD, otherwise they will just reappear.

@c-h-r-i-s-t-i-a-n
Copy link
Author

It's not just a bug in ID. Some mappers find it okay to tag the kerb-barrier on the crossing node footway/highway.
There might also be some QM tools which are indicating nodes with kerb=* without barrier=kerb as an error.

@1ec5
Copy link
Member

1ec5 commented Apr 6, 2023

As of #5996, OSRM ignores kerb=* on a highway=crossing node along the roadway and also on a barrier=kerb node with kerb=lowered or kerb=flush. It would be appropriate to apply a small penalty to a kerb=rolled node, similar to a speed bump (#3021), but not to avoid it entirely.

# https://github.com/Project-OSRM/osrm-backend/issues/5996
Scenario: Car - Kerb exception for barriers
Then routability should be
| node/barrier | node/highway | node/kerb | bothw |
| kerb | | | |
| kerb | crossing | | x |
| kerb | crossing | yes | x |
| kerb | | lowered | x |
| kerb | | flush | x |
| kerb | | raised | |
| kerb | | yes | |

@osmuser63783
Copy link

I have removed barrier=kerb tags from many of these nodes because there was consensus that they are a data problem.

What is left for OSRM to do? In my view,

  • barrier=kerb kerb=rolled should not prevent car routing entirely, a small penalty is appropriate
  • it is questionable whether barrier=kerb kerb=raised should prevent car routing entirely, perhaps a large penalty would be appropriate?

@c-h-r-i-s-t-i-a-n
Copy link
Author

Blocking: No. Penalty: Yes, but make sure that barrier=kerb is mapped on the actual position of the kerb and not on the crossing with the main road.

@mjjbell
Copy link
Member

mjjbell commented Jul 2, 2023

What is left for OSRM to do? In my view,

  • barrier=kerb kerb=rolled should not prevent car routing entirely, a small penalty is appropriate

  • it is questionable whether barrier=kerb kerb=raised should prevent car routing entirely, perhaps a large penalty would be appropriate?

Thanks, I'll see if I can add this.

https://www.openstreetmap.org/directions?engine=fossgis_osrm_car&route=43.31610%2C-1.40310%3B43.31712%2C-1.40388

I'd be interested to know if we think barrier=kerb is the correct tagging for this. It looks more like the kerb is for a pavement/viewing point, and would only be a barrier if it's used as an overtake location. Bit of a niche situation in any case.

@osmuser63783
Copy link

As far as I can see (without testing it), whitelisting kerb=rolled for cars only requires a tiny change in car.lua:
osmuser63783/cbf-routing-profiles@bb0fab0

(Shows here for cbf-routing-profiles, but it should be the same for the profiles in this repo)

I'd be interested to know if we think barrier=kerb is the correct tagging for this. It looks more like the kerb is for a pavement/viewing point, and would only be a barrier if it's used as an overtake location. Bit of a niche situation in any case.

This is the node. Maybe they were trying to say that you have to cross a kerb to access the passing place? Hard to say with certainty, but it's probably not the best way of tagging this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants