Warum gibt es so viele Wendeverbote?

Da habe ich eine ganz schlechte Nachricht für dich. Dann ist nämlich leider jeder Router dumm / schlecht.

Routingengines arbeiten in der Regel nicht auf Basis einer sichtbaren Geometrie, wie wir es hier beim editieren von OSM gewohnt sind, sondern auf Basis von Kanten-Knoten, deren Parametern und Beziehungen zueinander, also ganz stark vereinfacht gesagt eine Tabelle die sagt was mit was verbunden ist. Das wird gemacht, damit man auch in annehmbarer Zeit ein Ergebnis bekommt.
Es gibt in manchen Routingengines die Möglichkeit zusätzlich Informationen zur geometrischen Beziehung von Kanten zueinander in die Wegfindung einzubeziehen um bspw. das Rechts-Links-Abbiegen zu bestrafen (oder das andere zu bevorzugen). Das erzeugt aber einen weitaus größeren (in der Datenmenge, nicht in der Ausdehnung) Routinggraphen und führt in der Regel dazu dass die Berechnungszeit deutlich steigt, weil an jedem Knoten eben weit mehr Parameter beachtet werden müssen.

Ohne bspw. einen Marker “Kreisverkehr” stellt sich der Router nicht die Frage ob das jetzt ein Kreisverkehr ist, nur weil es geometrisch so modelliert ist. Ohne einen Marker “Kein U-Turn” stellt sich ein Router nicht die Frage ob irgendetwas anderes sinnvoller ist, er nimmt den kürzesten Weg.
Warum auch, nur Deutschland betrachtet ist nach StVO das Wenden überall erlaubt, wo es nicht aufgrund von Gebots- oder Verbotsbeschilderung anders geregelt ist. Genauso wie das Links/Rechts/Geradeaus fahren erlaubt ist, wo es nicht aufgrund von Gebots- oder Verbotsbeschilderung anders geregelt ist. Also muss einer Routingengine in irgendeiner Form (Tagging als Einbahnstraße, Kreisverkehr, Turn-Restrictions, Trennung von Fahrbahnen) gesagt werden wo es weiter geht. Die schlechteste Variante ist die Turn-Restriction

Ein Schild Kreisverkehr (also VZ 215) braucht deshalb kein Wenden verboten (also VZ 272) an der Einfahrt, weil es die einzige Richtung in die gefahren werden darf explizit vorgibt (Anlage 2 StVO (zu § 41 Absatz 1 ) Vorschriftzeichen Straßenverkehrs-Ordnung Zeichen 215) und auf OSM übersetzt braucht es deshalb auch keine Turn-Restriction, weil der Kreisverkehr als solcher Getagged wird und das von Routingengines als Einbahnstraße in Erfassungsrichtung verstanden wird (DE:Tag:junction=roundabout - OpenStreetMap Wiki , die Entwickler lesen das Wiki). Es steht sogar explizit im Wiki, das Zu- und Abfahrten nicht im selben Knoten im Kreisverkehr enden/begonnen sollen sondern mindestens ein Segment dazwischen haben sollen, um die Fahrtrichtung klar zu machen. Vergleiche den Screenshot von flohoff .
Das gleiche gilt für Einbahnstraßen (oder getrennte Fahrbahnen), wir taggen die Einbahnstraße in Erfassungsrichtung, deshalb braucht es keine Turn-Restriction die eine Einfahrt in Gegenrichtung verbietet.

Vergleiche flohoffs Aussage, nichts anders als “den Mist braucht es nicht, wir haben dokumentierte andere Möglichkeiten” hat er damit gesagt.

Die Amis halt …

Eigentlich ist das keine Abbiegebeschränkung im Sinne des Routings und dass man bei Rot nicht fahren sollte ist wohl auch klar, nur halt dann nicht, wenn die Ampel hinter der Kreuzung steht.

Naja, eine restriction (Beschränkung) mit from, to und via aber schon

Und Router könnten theoretisch eine kleine Penalty dafür rechnen, da es länger als dort üblisch dauert, abzubiegen

Manche Router können für Ampelanlagen schon eine Duration (keinen Penalty, der würde eher verhindern dass Strecken mit Ampeln befahren werden) ergänzen.
Allerdings wird das dann für jede Ampelanlage gemacht.

Eine Routingengine hat keine Ahnung wann eine Ampel auf grün oder rot oder gelb oder lilablassblau ist. Von daher ist das ein enomer Aufwand beim auslesen der Daten, diese im Gesamtkontext extrem gering genutzten Tags zu unterstützen.

  • es muss das Land ermittelt werden um bestimmen zu können wo solche Regeln gelten
  • es dürfen die Länder nicht vergessen werden wo es das Konzept des grünen Rechtsabbiegerpfeils oder ein anders ähnliches Konzept gilt
  • dann müssen in diesen Ländern für alle Ampeln ohne dieses Mapping Zeitaufwände aufgerechnet werden
  • in allen anderen Ländern wo diese Regeln nicht gelten sowieso
  • Die durschnittliche Wartezeit pro Ampel, an der wahrscheinlich gewartet werden muss, muss ermittelt werden (erwisch ich jetzt die grüne Welle oder nicht hmmm)

Am Ende stehen für die Gesamtstrecke dann 2 Minuten Wartezeit auf 100km auf dem Zettel…
Alternativ kann die Anwendung auch einfach regelmäßig vom aktuellen Standort aus die Route neu berechnen und die ETA entsprechend anpassen… Also so wie Google Maps und alle fahrzeuginternen Systeme das machen…

EDIT:

Bitte 2 Dinge nie vergessen… Kommerzielle Routenanbieter bauen nur das ein was Ihnen Kunden bezahlen. Open Source Router werden von Leuten in Ihrer Freizeit betreut und weiterentwickelt, genauso wie wir hier in unserer Freizeit mappen, gerade die haben deshalb auch ein Recht darauf 1. die Dinge zu entwickeln oder weiterzuentwickeln, die für Ihre begrenzte Zeit den meisten Gesamtnutzen versprechen und 2. sich keinem Forderungsverhalten aussetzen zu müssen, solange der fordernde nicht bereit ist bei der Entwicklung beizutragen.
Die selben Rechte die auch wir hier beim Mapping für uns beanspruchen.

Alles gut. Ich hab auch “könnten theoretisch” geschrieben. Ich erwarte nicht, dass die Router das jetzt gleich auswerten.

Aber: es ist eine rechtliche Beschränkung, mit from und to, vor Ort verifizierbar. Deshalb wird es auch gemappt. Euch könnten noch diskutieren, wie es zu taggen ist; Vorschlage dazu dann im Ami forum :slight_smile: