Improving GraphHopper route planning

As one of the developers of the GraphHopper routing engine, I would like to learn what improvements should be made from the point of view of the OSM community. Regarding the routes suggested by GraphHopper on openstreetmap.org or graphhopper.com/maps (no matter which vehicle profiles). I am especially interested in error patterns that happen frequently and in dangerous route suggestions.

Cross-posted to the German forum: https://forum.openstreetmap.org/viewtopic.php?pid=814798

There was a lengthy discussion on IRC today about penalties for border-crossings (particularly with respect to avoiding Kalingrad Oblast for travel to Lithuania & Latvia). This may have particular relevance for the UK now. Border facilities are, however, poorly mapped on OSM, and I’m not aware of suitable tags to indicate the length of formalities (e.g., Argentina/Chile crossings on Tierra del Fuego may take an hour: at least on a bus all bags are x-rayed), which likely differ between private & goods vehicles.

Richard Fairhurst pointed to this old issue: https://discuss.graphhopper.com/t/restrict-crossing-country-boundaries/229/5.

Thank you for asking.
The main issue I have with GraphHopper is that it doesn’t recognize U turn restriction when “via” member is a way.

So relation:
type=restriction
restriction=no_u_turn
way (from)
way (via)
way (to)
just doesn’t work.
OSRM doesn’t have a problem with it. But GraphHopper router works only when “via” member is a node.

Thank you for your answers.

Yes, crossing borders is an issue. Our goal here is to define the different countries via the data from OSM (we call this currently spatial rules) and then being able to avoid them via our customizable routing feature: https://www.graphhopper.com/blog/2020/05/31/examples-for-customizable-routing/

Yes, unfortunately this is still not supported: https://github.com/graphhopper/graphhopper/issues/446

Oh, why? It was reported 5 years ago. Is it diffucult to code it or there isn’t anyone to do it?

I wouldn’t say it is simple, but at least conceptionally it is clear how to do it. Still it hasn’t yet a top priority for us and/or our community. If the community wants it we would love to get such a feature :). But as the first contribution this is probably not the best. To get warm with the code and dev tools we have separate issues: https://github.com/graphhopper/graphhopper/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22

The total duration of travelling by foot or by bike ON A FERRY is different!
3:45 https://osm.org/directions?engine=graphhopper_foot&route=-32.0558%2C115.7258%3B-31.9957%2C115.5436
3:07 https://osm.org/directions?engine=graphhopper_bicycle&route=-32.0558%2C115.7258%3B-31.9957%2C115.5436
even though the duration is given in https://osm.org/relation/9083692 and it’s 90 minutes.