Turn restrictions don't seem to be taken into account in GraphHopper's routing, although their GitHub issues say it is implemented. Does anybody know the state of this? Is it implemented, but not merged, not released, not rolled out or simply not turned on? Or is there a problem with the data in the example below? What's the state of turn restrictions in other open OpenStreetmap-based routing solutions?
GraphHopper Maps is my go-to solution for routing. It seems the best routing service with OpenStreetmap data, which in turn is the most complete database for cycling ways and footpaths.
Since I'm also doing some OpenStreetmap mapping and wanted to advance to more sophisticated features like turn restrictions, I tried to learn from other people's examples. They seem to be recognized by JOSM, but not taken into account by GraphHopper.
Here an example of medium complexity with a crossing that contains a right-turn restriction and a U-turn restriction. OpenStreetmap seems to have the proper turn restrictions and JOSM seems to understand them (judging from the traffic signs shown in the graphical representation).
Note that I selected the "from" via in both cases, so it gets selected in the map visualization and you can confirm that there is no confusion between the "from" and "to" entry.
But when I try it on GraphHopper it turns out that neither of the two restrictions are taken into account. Both the right-turn and the subsequent U-turn in the route that GraphHopper proposes are actually illegal:
So I was wondering, if the problem is in the OpenStreetmap data or in GraphHopper.
From the GitHub issue #2 "Support for turn restrictions and costs" I understand that the feature of turn restrictions was actually implemented a while ago. But there is a related GitHub issue #55 "Initial implementation of turn restriction support by khuebner" that talks about some merging problems with too complex code in a single commit. It also references the merge being split in several parts, the pull requests #133, #134, #135 and #158. They are all marked as "closed" or "merged".
So does anybody know what's the state of this? Is it implemented, but not merged, not released, not rolled out or simply not turned on? Or is there a problem with the data in this example? What's the state of turn restrictions in other open OpenStreetmap-based routing solutions?