Openrouteservice erlaubt abbiegen, obwohl in OSM verboten

Hallo,
hier https://www.openstreetmap.org/edit#map=19/49.80055/9.95202 wird mit Openrouteservice ein Abbiegen erlaubt

obwohl in OSM verboten.

Woran kann das liegen?

Fahrrad - sollte da nicht abbiegen (eventuell schieben) möglich sein?
Auto routet richtig - meines Erachtens.

Hallo obstreng,

die Dienste der Uni Heidelberg sind für lange Updatezyklen bekannt. Bist du dir sicher, dass deren Daten überhaupt aktuell sind?

Es kann auch sein, dass ihr Router keine Abbiegebeschränkungen unterstützt, was mich bei meinem aktuellen Kenntnisstand über den Quellcode des Openrouteservice-Backends etwas überraschen würde.

Viele Grüße

Michael

Ja, ORS scheint keine Turn-Restriktionen zu berücksichtigen.

Danke für die Antworten.
Ich habe es nochmal überprüft, ORS kümmert sich tatsächlich bei keiner Bewegungsart außer Rollstuhl um diese Verbote und die Kartendaten sind darüber hinaus noch veraltet. Doch auch Brouter.de lässt Abbiegen per Fahrrad hier zu, nicht jedoch per Auto.
Es ist eine 4-spurige Straße mit durchgezogenem Mittelstreifen. Fahrräder und Fußgänger kommen hier vorschriftsmäßig nur durch die Fußgängertunnel auf die andere Straßenseite.
Das ist ja frustrierend, dass die Navigationsdienste hier so ein Mist produzieren. Ausgerechnet Google Maps macht es wenigstens nicht falsch. Navigation für Autos und Fußgänger richtig, den Radfahrern wird zwar nicht die Möglichkeit durch die Tunnel angezeigt, aber wenigstens eine erlaubte Route.
Gibt es irgendwelche Workarounds, um an solchen Stellen eine richtige Navigation anzuzeigen?

https://wiki.openstreetmap.org/wiki/DE:Relation:restriction#Wichtig_zu_beachten
(Goo… trennt die Fahrbahnen als oneway)

EDIT: im EN-WIKI ist möglich restriction:bicycle=* - weiß aber nicht ob das funktioniert.
Sogar: Turn restrictions do not apply to pedestrian unless the type or key is restriction:foot=*.
(Wieder solche Unterschiede zu EN und DE - nach was soll sich ein Router nun richten?)

Puh, alleine sich im Wiki zurechtzufinden ist schon eine Kunst.
Vor deinem Zitat steht noch:

D.h. die Aussage bezieht sich nur auf das “Können” des Abbiegens. Die durchgezogene Linie zwischen den Fahrspuren gibt eindeutig an, dass Abbiegen verboten ist.

Im nächsten Absatz

steht, dass Abbiegebeschränkungen auf spezielle Fahrzeugtypen beschränkt werden können. Hier ist das nicht der Fall, müsste also auch für Fahrräder im Router gelten. Ich habe nochmal die Beschränkungen geprüft und finde keinen Fehler. Dann muss es an den Navigationssystemen liegen, dass die sich nicht an die OSM-Regelungen halten. Dass brouter.de Fahrräder abbiegen lässt und Autos nicht, scheint mir das zu bestätigen, denn eine Differenzierung nach Fahrzeugtypen ist an diesem Punkt nicht angegeben.

Mir fällt noch ein: Wenn Google sich mit zwei Einbahnstraßen hilft, gibt es einen Tag für die Straße, der auf die Mittelstreifen hinweist? Könnte theoretisch ja auch ein Grünstreifen sein.

Anderen Router nehmen, zB. “Auto (OSRM)” auf openstreetmap.org.

“Auto OSRM” ist die einzige richtige Navigation. GraphHopper zeigt alles falsch an. Für Fußgänger ist die Straße ohne Lebensgefahr nicht zu überqueren und Sie müssen einen Umweg von mehreren hundert Metern machen. Aber das ist für die Router nicht erkennbar. Deutet alles darauf hin, dass es nicht am Tagging, sondern an den Navigationssystemen liegt, die nicht richtig interpretieren.

Hier https://wiki.openstreetmap.org/wiki/DE:Highways#Einbahnstraßen habe ich das gefunden

Heißt das, dass diese vierspurige Straße mit durchgezogenem Mittelstreifen wie in Google Maps als zwei zweispurige Einbahnstraßen kartiert werden müsste?

Edit: Ich sehe gerade, dass das bei einer anderen solchen Straße in der Stadt so kartiert ist.

Mittelstreifen ist in OSM Bauliche Trennung also Bäume; Leitplanken; …

Wenn es nur so wäre - dann sollten auch Fußgänger und Radfahrer richtig geroutet werden. Leider gibt es das nicht, um anderen zu zeigen das es geht.

waren böse Buben

Hm, ich darf auf einer normalen Straße an jeder beliebigen Stelle mit dem Auto wenden, also nicht nur an Knoten. Wie kann das auf OSM dann auf einer Straße mit durchgezogener Mittellinie verhindert werden?

Warum sollte ein Router jemanden mitten auf der Straße wenden lassen?

Dass ORS Abbiegebeschränkungen standardmäßig ignoriert, steht übrigens auch hier: https://ask.openrouteservice.org/t/route-ignores-no-right-turn-restriction/220. Aktuell scheint auch das Zuschalten von weiteren Optionen das nicht mehr zu beeinflussen.

Das ist Sache des Routers. Normalerweise wenden Router nur an Abbiegungen/Kreuzungen, nicht auf freier Strecke.

Ein Attribut für “durchgezogene Mittellinie” gibt es meines Wissens noch nicht in OSM.

Indirekt mit overtaking(:forward/backward)=no.
Erweiterung mit source=road_marking/median wäre möglich.

Habe es mit Mapfaktor free und OSM-Daten (2020-05) getestet:
Fahrrad

Auto:

(Fußgänger darf allerdings über die Straße spurten. Alles mit Standarteinstellungen.)

Vielen Dank für die Antworten. Es sind also zwei verschiedene Paar Schuhe, was in OSM getaggt ist und was die verschiedenen Router daraus machen. OsmAnd z.B. navigiert manche Abzweigungen mit Abbiegebeschränkungen richtig, andere falsch. Wie der Test von @geri-oc https://forum.openstreetmap.org/viewtopic.php?pid=790953#p790953 zeigt, ist die Stelle also richtig getaggt, aber selbst der Router auf openstreetmap.org navigiert zwar Autos richtig, aber Radfahrer falsch. Ich denke, dass der Router auf openstreetmap.org das, was Mapfaktor free kann, auch können sollte. Dann ist das wohl ein Software-Fehler, der m.E. behoben werden muss, denn Radfahrer sind hier von der Beschränkung nicht ausgenommen. Wo kann ich das melden?

Auf osm.org gibt’s zwei Engines zur Auswahl, eine davon ist https://github.com/graphhopper/graphhopper .

Ja, das hatte ich auch schon getestet, GraphHopper kommt mit den Abbiegebeschränkungen noch schlechter zurecht als OSRM. Soweit ich das verstanden habe, ist OSRM der OSM-eigene Routingservice. Deshalb bleibe ich mit dem Testen der Beschränkungen bei dem, denn alle anderen Ungereimtheiten wie auch bei OsmAnd muss ich jeweils dort melden.

Ich denke mal, dass die Probleme längst bekannt sind. Wäre aber trotzdem interessant zu erfahren, warum die Restriktionen immer noch ignoriert werden. Bei Restriktionen mit nur einem via node ist ja ziemlich klar, was gemeint ist. Bei only_* mit mehreren via ways musste ich da schon länger grübeln. Und anders als bei den verschiedenen barrier=* ist da auch wenig Interpretationsspielraum.