How-to find the reason a road is not used for a route?

I use OSM data through various routing services to find routes, mainly for going from A to B with a bicycle.

Often these routing services avoid a road and instead propose what looks like a detour, which can be hefty.

For example consider this route in Baden-Würtemberg, Germany from Titisee to Freiburg (seems you may have to switch routing engines away and back to get a resulting route):

There’s the B31. I think it’s not prohibited to cycle on it (although many cyclists probably would want to avoid it, but I would use it at least for the decent from Titisee in the mountains to Freiburg in the rhine valley). OSRM avoids it, Graphopper uses it, Brouter avoids it, komoot uses it.

What is a good way to figure out why a road could be not considered for a route, specifically for bike navigation?
What could work: displaying what tags are along a relation (not a segment: there are usually too many of them to go through every segment that could be the culprit)

I realise every routing engine works a bit different, so to get a proper answer, I’d have to dug into how the routing engine works - that just seems a bit infeasible to me (particular when it comes to proprietary engines like comoot)
FWIW, the one I most care about would be brouter, but often it’s just tooo cumbersome to use an android device.

7 posts - 7 participants

Read full topic


Ce sujet de discussion accompagne la publication sur https://community.openstreetmap.org/t/how-to-find-the-reason-a-road-is-not-used-for-a-route/98270