Problem in Routing Algortithm?

as an OpenStreetMap user and mapper I have found a note pointing to the following pronlem:
The routing by OpenRouteService creates an illegal U turn:

https://classic-maps.openrouteservice.org/directions?n1=48.702597&n2=8.964295&n3=16&a=48.701291,8.968045,48.700175,8.960544&b=4a&c=0&k1=en-US&k2=km

The OpenStreetMap database seems to be correct, other routing systems correctly route via Mühlackerstraße.

The OpenRouteService routing is correct when I add the preference maxspeed = 100 km/h:

https://classic-maps.openrouteservice.org/directions?n1=48.706228&n2=8.959243&n3=15&a=48.701291,8.968045,48.700175,8.960544&b=4a&c=0&d=100&k1=en-US&k2=km

This looks like a problem in the algorithm.
Any idea how the OSM database can be improved in order to circumvent this issue?

Thanks for reaching out!

The observed behavior is caused by the fact that without any additional filters or settings such as maxspeed a routing algorithm which does not support turn restrictions is used. With some additional options active the routing is performed with a slower algorithm which takes turn restrictions into account. Another possibility to circumvent the issue is, apart from setting maxpeed, activating one of the avoidables such as ferries.

1 Like

Thanks so much, ANdrzej, for your fast and clear reply! It has helped me to understand the issue.

Intuitivela, I would expect that any route created by the routing algorithm is a legal route respecting the turn restrictions.

Do you think there was a conscious design decision to tolerate violations of turn restrictions?
Is this the right forum to discuss this requirement?