Zusätzliche Punkte auf einer geraden Straße, damit das Navi beim Ab...

Zusätzliche Punkte auf einer geraden Straße, damit das Navi beim Abbiegen die Kurve besser berechnen kann?

Hallo,
in diesem CS
https://www.openstreetmap.org/changeset/85707453#map=19/48.21942/9.87780&layers=N
geht es um das Einfügen von zusätzlichen Punkten auf einer geraden Straße:

Achavi: http://nrenner.github.io/achavi/?changeset=85707453

Machen die zusätzlichen Punkte wirklich Sinn?

Fragende Grüße

Zusätzliche Punkte auf einer Geraden scheinen mir auch völlig sinnfrei. Verstanden hätte ich es, wenn die Ecken damit ein wenig runder gemappt würden. Ich weiss nicht, wie es andere Navis machen, aber bei mkgmap werden die Punkte wieder “weggerechnet”.

Ich kann mir gut vorstellen, dass es der Software etwas helfen könnte, rein theoretisch. Aber das ist hier ganz klares Mappen für den Router, was wir nicht wollen.
Die Software sollte annehmen, dass der Weg in OSM in der Fahrbahnmitte gezeichnet ist, und dass die Fahrbahn eine gewissen Breite hat. Wenn die Breite nicht angegeben ist, muss sie geschätzt werden (lanes=, highway=, usw.), was in der Realität ausreichen sollte.

Es gibt auch keinen Standard, wo man solche Zwischenpunkte setzen soll, also machen die Mapper das irgendwie. In der Praxis kann das also nicht funktionieren.

tl;dr: Bitte nicht!

Erst fand ichs komisch, beim zweiten Lesen finde ich die Idee pfiffig: Bei schmalen Straßen und kurzen Biegeradien wird der benachbarte Punkt zum Kreuzungspunkt näher rangesetzt und bei breiten Strassen weiter weg. Das Navi kann dann ausrechnen, wie schnell ich um die Kurve fahren kann.

Ich glaube aber nicht, dass irgendeine vorhandene Software diese Information auswertet oder dass sich diese Art zu Mappen verbreiten wird. Aber falls der Mapper so ein Programm hat und ein paar Teststrecken baut, wird vielleicht doch was Grosses draus, man weiss ja nie :wink:

Im Berechnung vom abbiege Radius ist es egal ob da ein kurve ist oder ob es eine scharfe 90° ist aber mit zwei punkte bei den start und stop von den kreis.
Hier ist ein bild wo man sieht das der Berechnung von ein kreis durch drei knoten genau so gut geht mit eine schafe ecke.
https://ibb.co/yWX6vcx

denkbar, aber sinnvoll? Allenfalls für autonomes Fahren.

Keines meiner Navis gibt mir eine Ansage in der Form:

Ich will mir lieber nicht vorstellen, wie weit ich gefahren bin, bis mein Hirn das verarbeitet hat. Da schaue und denke ich doch lieber selber bei einer Ansage “Biegen Sie jetzt links ab.”
Aber es soll ja auch Leute geben, die sich von ihrem Navi bis zur Klingel an der Haustür routen lassen wollen, weshalb ein access=private auf den letzten Metern störend sein soll…

Ich denke hier liegt mal wieder eine misinterpretation des OSM mixed models vor. In OSM sind Nodes von Areas an exakten stellen, wohingegen nodes auf der Mitte der Straße liegen.

Wenn man jetzt also die reale Fläche der Kreuzung abbilden will (Und damit den möglichen Radius) muss man den Straßen breiten zuweisen. Das kann man ganz pragmatisch über Straßenklassen, oder über das width tag machen.

Wenn das geschehen ist ergibt sich eine Fläche und auf der kann eben gefahren werden, und eben auch im Bogen abgebogen. Dazu kommt ja in der misinterpretation noch die ungenauigkeit vom GPS, und die physische Dimension des Fahrzeugs, und die Fahrzeugklasse bzw Überhang vorne. Ein Bulli/Sprinter/LKW fährt einen anderen Bogen als ein PKW.

Zusätzliche nodes haben keinerlei Aussagekraft und ich halte das sogar eher für Gefährlich. Wir haben zwar in den Best Common Practices das nodes nur gesetzt werden wenn sich ein Winkel ergibt (Also auf gerade eher nicht) - trotzdem gibts ja reichlich mapper die das ganz exzessiv tun.

Ist der Node der da jetzt fliegt eine information über einen radius, oder nur ein übereifriger Mapper der nach dem Motto handelt “Mehr nodes, mehr gut”?

Flo

Bei einer Geraden kann ich mir beim besten Willen nicht vorstellen, dass zustätzliche Punkte irgendeinen Vorteil bringen.

Bei Kurven vermute ich, dass es da etwas anders ist. Ich wundere mich bei Fußgängernavigation über OSMAND z.B. öfter, dass ich in Kurven ohne jegliche Abzweigung eine Ansage kommt “leicht links abbiegen” oder so ähnlich oder bei einem kleinen Schlenker vor einer Abzweigun “leicht rechts abbiegen, dann links abbiegen”. Ich habe den Verdacht, dass dies vornehmlich an Stellen geschieht, wo eine Kurve relativ grob eingezeichnet wurde, so dass zwischen einem und dem anderen Linienteilstück ein gewisser Winkel überschritten wird. Aber das ist nur eine Vermutung. Aber nicht nur deswegen erhöhe ich die Dichte der Punkte bei Straßen und Wegen oft so weit, dass es auch wie eine Kurve und nicht nur wie eine Zickzacklinie aussieht.

Bei komplett geraden Streckenabschnitten entferne ich dagegen teilweise sogar unnötige Zwischenpunkte.

Noch eine Beobachtung: Ich habe das Gefühl, dass Karten, die man z.B. auf sein Handy oder auf sein Hand-GPS-Gerät herunterladen kann, oft aus Gründen eines möglichst geringen Datenvolumens Wege vereinfacht werden, d.h. dass die Anzahl der Punkte reduziert wird. Denn diese Karten sehen teilweise eckiger aus als das Online-Mapnik-Kartenbild.

Vielleicht sollte ich mich mal vorstellen. Ich fahre Autonom schon seit zwei Jahre.

Software liegt hier

https://github.com/arne182/openpilot

Hier ist mein Youtube channel:

https://www.youtube.com/arneschwarck

Ich könnte auch den straßen breite eigenschaft benutzen aber so sollte es hoffentlich keiner stören und erfüllt so den zweck selbst die kurve zu nehmen.

Ansagen im Navi zum abbiegen kommen immer aus der Geometrie. D.h. wenn du eine Ansage bekommst die nicht kommen sollte ist die Geometrie kaputt.

Und “leicht links” oder “leicht rechts” heisst das eine Straße/Weg nicht im rechten Winkel einmündet sondern eben im (sehr) spitzen Winkel. Damit geht der Automat davon aus das sich die Straße gabelt und du ein “Rechts halten”, “Links halten” etc bekommst.

Einmündungen sind in vermutlich 80-90% der Fälle im rechten Winkel. Das liegt daran das das aufstellende Fahrzeug beide Fahrtrichtungen einsehen muss. Daher kommt die Straße zwar in einem Spitzen Winkel an, dann weitet die sich typischerweise in den letzten 5-10m (Je nach Straßenkategorie) um eine “asymmetrische Trompete” zu bilden um die Aufstellfläche für die Fahrzeuge zu erzeugen die ja im rechten Winkel zur Zielstraße stehen sollen um eben in der Sichtachse zu stehen.

Ich habe da vor Jahren mal eine schnelle Zeichnung für jemanden Gemacht in einer Diskussion:

https://silicon-verl.de/home/flo/tmp/osm-spitzer-winkel.jpg

So gut wie keine Straße der Welt sieht so wie die links aus. In den allermeisten Fällen ist die Einmündung wie rechts. Und wenn man der Mittellinie die ich da ja gestrichelt eingezeichnet habe folgt ist eben die Einmündung im rechten Winkel. Einfach mal wahllos Einmündungen im Luftbild ansehen. Wenn man die Geometrie danach mal in OSM durchsieht und korrigiert geht das mit einem mal auch mit den Ansagen.

Das ganze ist Normiert - Leider natürlich alles Kostenpflichtig:

Rast und Co
https://de.wikipedia.org/wiki/Richtlinien_f%C3%BCr_die_Anlage_von_Stadtstra%C3%9Fen

Hier das Inhaltsverzeichnis:

Forschungsgesellschaft für Straßen- und Verkehrswesen
Richtlinien für die Anlage von Stadtstraßen
https://www.fgsv-verlag.de/pub/media/pdf/200.i.pdf

Flo

Moin Arne,

Ja - coole Geschichte. Der Punkt ist aber das du eben die Karte nicht unter Kontrolle hast. Da bastelt jeder dran rum und macht wie er meint. Und es gibt eine Fraktion die eben viele viele Punkte setzt auch wenn das gegen die Best Common Practice ist, und es gibt eben leute die Sparsam sind.

Und dein Punkt den du heute setzt kann morgen zu 5 werden oder eben zu 0 … Dann ist der weg.

Deshalb halte ich die Variante Nodes zu setzen für zu fragil. Das Thema width oder implizite width durch Straßenklasse sollte da robuster sein. Das ist seltener und vor allem ist ein width eindeutig für jeden zuordnebar wofür das ist.

Ein “random” Node der irgendwo auf einem Weg liegt eben nicht. Den würde selbst der auto optimizer im Josm (Nimmt den noch wer?) wegwerfen.

Flo

Ich bekomme von OSMAND aber Ansagen an Stellen, wo weder irgendeine Linie (highway) abzweigte, noch die Linie irgendwie unterbrochen ist (z.B. bei Tracktype-Wechsel), insofern kommt meines Erachtens nur der “Knick” in der Linie in Frage. Und wir reden da von einer Winkelabweichen von weniger als 20 Grad.

Das mit den Trompeteneinmündungen kenne ich und setze es auch um. Mit den geschilderten Ansagen hat es offensichtlich nichts zu tun.

Hast du mal eine Beispielstelle? Ich kenne die Ansagen auch und ich setze mir da immer OSM Notes wenn die falschen Ansagen kommen und das sind Ausnahmslos bisher kaputte Geometrieen gewesen. Ohne das sich 3 ways treffen kann es ja keine Ansage über “Abbiegen” geben.

Ggfs könnte die ansagen auch noch aus “lanes” kommen bzw “turn:lanes” aber wenn du als Fußgänger unterwegs bist eher nicht.

Ich will nicht Ausschliessen das es da spannende Nebeneffekte von Non-Highway objekten gibt die mit dem Way verbunden sind.

Flo

Was mir noch so eingefallen ist was vielleicht noch robuster ist wenn du auf dem Node ein “turn_diameter=12m” oder sowas hinterlässt. Ist jetzt nen erfundenes tag so spontan - aber es geht ja um ein Abbiegeradius hinting. Könnte man ja auch gleich explizit machen anstatt da mit Hilfskonstrukten zu bauen. Weiss noch nicht wie man das bei asymmetrischen Kreuzungen machen könnte. Dann ist man vermutlich wieder bei relationen was ja eher unschön ist dann für 4 ecken 4 relationen zu bauen.

Flo

Ich kann aus dem Kopf keine Stelle sicher benennen, bei der ich zudem noch sicher sagen kann, dass ich seither nicht die Kurvengeometriet o.Ä. verändert habe. Es handelt sich aber um Waldwege, also higway=track.
Wenn ich mich mal wieder durch den Wald navigieren lasse, werde ich mal darauf achten. Wir aber frühestens kommendes Wochenende sein.

Ich habe es letzte Woche ausprobiert: Der Waldweg, auf dem ich mit OSMAND wieder ständig Abbiegeanweistungen hatte nach Art: “in 30m leicht rechts abbiegen” war ein Waldweg, der bis vor kurzem noch recht “eckig” eingezeichnet war, also statt sanfter Kurven in den Kurven deutliche Winkel.
Es handelt sich um diesen Weg: https://www.openstreetmap.org/way/260814787
Allerdings hatte ich zwischenzeitlich die “Ecken” schon durch zusätzliche Wegpunkte in den Kurven “runder” gemacht, meine Laufstrecke aber mit outdooractive.com erstellt. Den dort erstellen Track hatte ich mir dann auf mein Smartphone geladen und mich dann anhand des Tracks mit OSMAND routen lassen. Der Track hatte also noch die Ecken.
(ok, OSMAND scheint dann also nicht den Wegverlauf zum Navigieren zu nutzen sondern den Track, aber ich habe vergleichbare Erfahrungen tatsächlich auch schon früher beim Straßenrouting gemacht, und dort navigiere ich nie nach Track)
Hier ein Vergleich vorher (Datenstand outdooractive, osm-layer) / nachher (OSM original):


Wie ist diese “Verbesserung” der Geometrie denn zustande gekommen? Wenn ich auf einen Weg mit so exzessiv vielen Punkten stoße, würde ich annehmen daß hier jemand einen Track ungefiltert importiert hat und ihn als erstes vereinfachen.

?
In meiner Anfrage ging es nicht darum Kurven runder zu machen, sondern um den Sinn von zusätzliche Knoten auf einer geraden.

Also wenn du auf einem Waldweg in dem du nur den einen Weg hast ohne abzweigungen eine Anweisung zum Abbiegen bekommst ist da signifikant mehr kaputt.

Selbst bei 90° knicken bekomme ich bei OSM keine Abbiegeanweisung solange da nicht etwas anderes abzweigt.

Flo

Bei 75°+ darf aber schon eine Anweisung kommen. (Oder zumindest das als customisierbare Einstellung im Router.) Es könnte ja sein, dass dieser Knick tatsächlich eine Kreuzung darstellt, deren weitere abgehende Wege nur noch nicht gemappt worden sind.