GraphHopper (Bike) does not allow routing

Hello
I have mapped a 1,5 meter wide path in a forrest near me that is open for public and biking is allowed.
I mapped the section and allowed bike and walking to it, but when the edit shows up in plotaroute that I use for planning, the section is not used.
In OSM i tested routing and see that Bike - GraphHopper does not allow routing over that section, but all the others does.
And somehow this “blocking” is transferred to plotaroute and then simply denies any routing even if i select on foot.
Is there a fix for this?

1 Like

Not sure, but maybe GraphHopper does not allow surface=gravel on paths for bicycles.

gravel is supposed to be around 5cm big stones (similar to the ballast bed in a railway track). Maybe it’s actually more like fine_gravel or compacted?

(Link to location: Way: 1327828217 | OpenStreetMap)

2 Likes

Hi,

Plotaroute uses the GraphHopper software for routing but this does not mean that they use the same profiles.

If Plotaroute does not update their routing graph (they say once a month), your change will not apply to their routing.

If their bike routing uses the default bike profile, you will not be routed via that path because the bike profile prefers tracks over unpaved paths without explicit bicycle access. However, the moutainbike profile prefers it.

Best regards

Michael

5 Likes

I can confirm this for the “bicycle” profile:
https://graphhopper.com/maps/?point=55.041394%2C9.774033&point=55.044142%2C9.769891&profile=bike&layer=Omniscale

With the “mountainbike” profile, on the other hand, the path is used:
https://graphhopper.com/maps/?point=55.041394%2C9.774033&point=55.044142%2C9.769891&profile=mtb&layer=Omniscale

Perhaps GraphHopper prefers wider paths in the “bicycle” profile?

Generally, GraphHopper also routes along this path in the bike profile if it has no other choice:
https://graphhopper.com/maps/?point=55.042371%2C9.772402&point=55.044142%2C9.769891&profile=bike&layer=Omniscale

1 Like

Thank you all.

I compared this path to another path nearby where I can plot both bike and walk routes in Plotaroute. This other path does not have any surface defined.

I have now made an edit to the path in question where I simply removed the surface. Now I will wait for that edit to be processed and see what will happen.
I’ll keep you posted.

Whilst that might (after a router update) help with testing here, obviously that’s not a more general “solution” - adding surface information is extremely valuable to OSM data consumers.

If a particular router is not using OSM ways because of surface information, use a different router.

2 Likes

In that case you should add the bicycle=yes tag. Just mapping as a “path” is incomplete information, and some routers will refuse to route along any such way.

2 Likes

As one of the graphhopper contributors I recommend to add as many bicycle relevant tags as apply on the ground.
Currently we evaluate the following tags for the determination of the speed and the priority:

  • highway
  • surface
  • segregated
  • scenic
  • bicycle
  • smoothness
  • tracktype
  • maxspeed
  • sac_scale
  • mtb:scale
  • class:bicycle

I hope that I didn’t miss one.

Therefore, I ask you to add back at least the surface. The width tag is currently not considered. Given the unspecific tag description for highway=path we generally do allow highway=path for the routing, but assume walking speed and “SLIGHT_AVOID” priority as it most probably is a small path in the forest, where bicycles are not allowed.

If you have suggestions for further tags, which we could support and what your expectations would be in terms of influence on the preference and speed than the best thing is to raise an issue with routing examples on github.

4 Likes

Today I learned about the scenic-tag. Thank you!

1 Like