OSMand und bestimmte Kreuzungen

OSMand scheint an manchen Kreuzungen Probleme zu haben zu definieren was “geradeaus” ist.

An folgender Kreuzung
http://osm.org/go/0GlVRrSPQ-?layers=N&m=

meint OSMand, dass von Bielefeld Richtung Halle fahrend die B68 folgend “links halten” ist und meiner Meinung nach scharf rechts in die L778 Richtung Dornberg abbiegen “dem Straßenverlauf folgen” ist.

Sieht da irgend wer einen Fehler in der Karte oder ist das ein Bug in OSMand ?

“links halten” heißt ja nicht links abbiegen, sondern an der Abzweigung den linken Zweig zu nehmen.

Das Problem ist, dass OSMand aber glaubt, dass der Hauptstraßenverlauf rechts rum geht und dies nicht als abbiegen definiert sondern als Straße folgen . Dies ist defintiv falsch.

Ich habe es gerade einmal simuliert. Das Problem ist der highway=secondary_link von der B 68 auf die L 778. Im vorhergehenden Abschnitt der B 68 haben wir turn:lanes:forward=left|through;right. Für Osmand stellt sich die Sache damit wie folgt dar:

Es gibt die left-Spur, die auf den folgenden Abschnitt der B68 bis zur Kreuzung führt und es gibt eine through;right-Spur, die im Sinne von Osmand falsch getaggt ist, weil es ja nur eine andere Fahrmöglichkeit gibt - nämlich auf den highway=secondary_link. Damit wird nur die Geradeaus-Option genommen und rechts ignoriert.

Der Fehler kann nur von Osmand selbst behoben werden. Getaggt ist das dem ersten Anschein nach alles richtig. Osmand müsste mal schauen, dass es die Anzahl der Fahrspuren (bzw. Fahrmöglichkeiten) vor einem Abzweig mit denen danach abgleicht. Dann würde die Zuordnung auch automatisch passen, weil vorher drei Fahrmöglichkeiten vorhanden sind, eine nach rechts weggeht und zwei in den darauffolgenden Geradeausabschnitt.

Wenn ich es mir genauer überlege, ist das aber vermutlich alles gar nicht so einfach: Wenn beispielsweise eine kleinere Straße an einer Kreuzung auf eine große mehrspurige Straße trifft, dann kann es beispielsweise sein, dass nur eine Linksabbiegespur vorhanden ist, obwohl anschließend mehrere Spuren vorhanden sind. Die Summe Eingangsspuren = Summe Ausgangsspuren stimmt also nicht immer. Und damit braucht es “Intelligenz” bei der Zuordnung, was offenbar nicht in allen Situationen gut funktioniert. Unser Taggingschema der Abbiegespuren ist da nicht gut genug, weil es eben nicht klar macht, welche Eingangsspur zu welcher Ausgangsspur eines Knotens gehört. Vermutlich bräuchte es dort besser from-to-Relationen, damit das Routing-Programm nicht auf Heuristiken zurückgreifen muss.

Dafür gibt es auch ein Proposal: http://wiki.openstreetmap.org/wiki/Proposed_features/transit
In den einfacheren Fällen reicht ein zusätzliches Tag, in den komplizierteren braucht es eine Relation, aber das ist selten.

Wenn ich das richtig sehe, braucht es praktisch in allen Fällen Relationen, wenn eine Spur mehrere Abbiegemöglichkeiten vereint und damit nicht für jede Abbiegemöglichkeit eine separate Fahrspur existiert - also ziemlich häufig. Das Ausgangsbeispiel in diesem Thread dürfte ohne Relationen meines Erachtens nicht gehen.

Nebenbei fühlt es sich in meinen Augen auch recht falsch an. Hier wird, weil die Turn-Lanes allein zu kurz gedacht waren, nun mit einem weiteren Überbau versucht das Problem zu beheben. Weil nun die Turn-Lanes in Keys liegen, will man möglichst auch einen Key nehmen, aber weil das wiederum nicht reicht, dann doch noch Relationen alternativ. Wer soll denn das alles mal vernünftig auswerten, wenn man allein für Dinge wie Abbiegespuren schon x verschiedene Sachen beachten und passend zusammenführen muss (zumal Inkonsistenzen dann auch ganz schnell passieren, wenn alles so verteilt ist)? Statt es richtig zu machen, wird hier einer Krücke die nächste Krücke zur Seite gestellt und auch die schon im Proposal mit einer weiteren Ersatzkrücke versehen, für die Fälle, die mit den anderen zwei Krücken auch zusammen nicht gehen…

OSMand … “links halten” … meiner Meinung nach scharf rechts
Sieht da irgend wer einen Fehler in der Karte …

Das kommt vom “Fast-Spurmapping”. Dort wo die Abbiegespur abzweigt ist ein spitzer Winkel, für den Router sieht das aus wie eine Weggabelung. Der Abzweigpunkt sollte erst dort liegen, wo die Fahrbahn tatsächlich abzweigt, etwa 7 m weiter (nach anderen Konventonen noch später, nämlich erst an der baulichen Trennung), und nicht bereits dort, wo man beginn, das Lenkrad zu drehen. Dann wird auch der Winkel der abzweigenden Fahrbahn steiler.

OsmAnd scheint bei solchen Abzweigen den Winkel etwas ungeschickt zu bewerten. Nach meiner Erfahrung werden Winkel unter ca. 45° als Gabelung betrachtet → Ansage: “links- bzw. rechtshalten”. Erst über 45° lautet die Ansage “links bzw. rechts abbiegen”.

Bernhard

Mapfactor Navigator ist hier gut: Geradeaus sagt es gar nichts, rechts abbiegen heißt “nehmen sie die nächste Abfahrt und dann biegen sie nach rechts ab”. Es werden keine Spurpfeile angezeigt.

Allgemein sollte die Kalkulation von Spurassistenten mal algorithmisch formuliert werden, so wie es bei opening_hours gemacht wurde. Damit wäre dann klarer welche Fälle weitergehendes Mapping benötigen würden. Zum Zuordnen was right oder through ist würde ich gar nicht Spuren zählen sondern Abzweigungen, beginnend von rechts (wegen nicht berücksichtigten Wenden).

Ich habe bei der Kreuzung auch noch zwei “no_right_turn” ergänzt damit die left|through bei der eigentlichen Kreuzung zugeordnet werden können.

Damit würdest du das gleiche Problem nur auf links verlagern. Das würde in Ländern mit Rechtsverkehr zwar vermutlich nur selten offenbar werden, weil separate highway=_link nach links praktisch kaum auftreten werden, aber es ist auch nicht undenkbar - beispielsweise wenn die Ausgangsstraße eine Einbahnstraße ist. Wenn man dort dann die Spursituation genau umgedreht zum Ausgangsbeispiel hätte (eine Rechtsabbiegespur bis zur eigentlichen Kreuzung, eine Geradeaus- und Linksabbiegespur bis kurz vor der Kreuzung, von der dann vor der Kreuzung ein highway=_link nach links abzweigt und an der Kreuzung dann nur noch die Geradeausspur existiert), dann würde man mit der Zählung von rechts in die gleiche Falle laufen, wie bei der derzeitigen Zählung von links.

Zum Ausgangsproblem zurück: Ein entsprechender Bug-Report, der eine vergleichbare Situation beschreibt, existiert bereits bei OsmAnd. Es gab auch einen vorherigen Bug-Report, bei dem es um Probleme mit Turn-Lanes ging und bei dem am 11. August ein Fix eingefügt wurde. Ich weiß nicht, ob der irgendetwas an der Situation ändern würde und auch nicht, wann er in die entsprechend stabile Version einfließt oder ggf. schon eingeflossen ist.