shared node bei kreuzenden Abbiegespuren

Ich versteh das leider immer noch nicht, es ist auch etwas zu abstrakt. Kannst Du mal entweder 2 Zeichnungen machen, oder eine konkrete Linie aus Deiner Beispielkreuzung benennen? (im Optimalfall beides?)

Bitte beachten, dass Router ohne Shared Node keinen Abbiegevorgang erkennen können.

Eine Idee wäre für Abbiegespuren auf Kreuzungen eine neue Kategorie unterhalb von highway=_link z.B. namens highway=_junction. Ein solcher Way hätte eine eingebaute “nur geradeaus Abbiegebeschränkung” auf seinen Mittelknoten, ebenso darf von anderen Ways in der Mitte nicht auf ihn gewechselt werden. Zur Rückwärtskompatibilität würde man das Routen über das “Rechteck”, welches die durchgehenen highway aufspannen, erlauben. Diese Art von highway könnte man weniger wichtiger darstellen und ab einer bestimten Zoomstufe dann auch weglassen.

Probeweise in JOSM folgende Kreuzung: http://osm.org/go/0DmUKe~1h?layers=N Aber so richtig viel spart es nicht.

Vorher 35 Ways, 16 Abbiegerelationen

Nachher 29 Ways, nur noch 7 Abbiegerelationen. Es fehlen wegen Rückwärtskompatibilität 4 Relationen

Auch Rechtsabbiegespuren: 28 Ways, nur noch 5 Abbiegerelationen. Es fehlen wegen Rückwärtskompatibilität 6 Relationen

Wo die Abbiegespuren von den Geradeausspuren abzweigen, sind natürlich shared nodes. Mir geht es um den shared node dort, wo zwei Spuren einander kreuzen, ohne daß zwischen ihnen irnkeine Interaktion erlaubt wäre. Das können auch zwei Geradeausspuren sein. Die erfordern dann jeweils eine Menge Zusatzaufwand.

In meinem Beispiel:
http://osm.org/node/21724196
http://osm.org/node/3297180386

–ks

Genau das hatte ich auch schon einmal hier:
http://www.sammyshp.de/fsmap/#19/51.06145/13.69048 (Sollte man sich einmal im Luftbild - rechts oben Layer ansehen.)
vorgeschlagen. Das wären aber dann eingezeichnete “lanes”, sind zwar einfacher - aber nicht erwünscht.

Hier die “halbfertige” Datei:
Flgelwegbrcke.osm

Die Interaktion ist doch schon ob ein Router/Navi “an der ersten oder zweiten Kreuzung rechts/links” ansagt. Ohne shared node ist das wohl kaum zu zählen/erkennen.

Wenn der Benutzer an der zweiten Kreuzung rechts abbiegen muss, möchte er sicher nicht die Ansage “An der vierten Kreuzung rechts abbiegen” erhalten, nur weil auf der ersten Kreuzung drei Shared Nodes mit irgendwechen querenden Fahrbahnen durchfahren werden.

Für das Zählen der Kreuzungen dürfte der Shared Node zwischen kreuzenden Abbiegefahrbahnen eher störend sein.

Man könnte ein Tag für den Shared Node definieren, das festlegt, dass kein Wechsel zwischen durch diesen Knoten hindurchlaufenden OSM-Wegen möglich ist.

Router müssen die Knoten-Tags ohnehin auswerten, denn da könnte ja auch z.B. ein barrier=* stehen.

Grundsätzliche halte isch den Shared Node für entbehrlich, auch wenn man dazu die OSM-Regeln anpassen muss. Dies wäre aber keine sinnvolle Lösung für das Problem, da die Wahrscheinlichkeit sehr hoch ist, dass ein Benutzer, dem die Regelanpassung nicht bekannt ist, den Shared Node nachträglich setzt.

Snip > da Doppelpost.
(Man sollte sowas nicht im Zug beantworten, da beim upload die Verbindung haken kann.)

Vom Grundsatz her finde ich den Ansatz von imagic im proposal
https://wiki.openstreetmap.org/wiki/Proposed_features/highway%3Djunction
gut. Darauf aufbauend finde ich die Idee von Jojo4u gut, wie man auf die Fläche highway=junction verzichten könnte, aber kreuzende Verbindungen ohne die Notwendigkeit von shared nodes in Kreuzungen besonders kennzeichnet, damit QA und Auswertungen damit umgehen können.

Ergänzend zu Jojo4u meine ich:
Diese Verbindungen erhalten als Zusatz zu highway=* hinten “_junction” (Beispiel: highway=tertiary_junction). Alle derartigen highways müssen lediglich mindestens am Anfang und Ende shared nodes mit anderen highways haben, können aber andere highays ohne shared node kreuzen, wenn kein Übergang zu diesen dort möglich ist. Außerdem sollen Router diese highway=*_junction grundsätzlich gegenüber anderen Verbindungsmöglichkeiten zwischen zwei highways bevorzugen, damit z.B. die gesonderten vor Kreuzungen abzweigenden Spuren verwendet werden, ohne dass turning restrictions an folgenden shared nodes erforderlich sind.
Ich sehe darin eine für jeden Mapper machbare Methode, die maschinenlesbare Ergebnisse liefert und ohne Relationen auskommt.
Vieleicht schaffe ich es heute abend, ein Beispiel zu zeichnen.

Ich hatte einmal vorgeschlagen, hw=lanes als Spur in Kreuzungen (bei größeren Zoomstufen) zu nutzen. Damals wurde die Fortführung der hw=* in der Spur abgelehnt, da es ein lanes-Schema gibt. Wenn eine hw=tertiär über eine Kreuzung mit einer hw=primary in gesonderter Spur verläuft, kann der Router dies auch “vorauswählen”.

Auch das “nichtverbinden der Spur” (siehe Flügelwegbrücke) wurde abgelehnt - damals habe ich es damit auch belassen. Das Routing hat damals einwandfrei geklappt. Und das Mappen wäre nach den Tatsachen auch einfach “bildlich” möglich.

Auf die Fläche würde ich nicht verzichten, da es auch im Flächen Mapping (area:highway) enthalten ist.

Meinst du das?
http://forum.openstreetmap.org/viewtopic.php?pid=518976#p518976

Danke - ja da müsste der “Versuch” von mir herstammen …

Was eine “Kreuzung” ist wird durch Heuristiken sicher immer mal falsch sein. Die Lösung ist hier eine area:highway=* + junction=yes Fläche (https://wiki.openstreetmap.org/wiki/Proposed_features/Street_area#Plumbers_principle).

Das setzt aber voraus, das wirklich jede noch so einfache Kreuzung so erfasst wird, was äußerst unwahrscheinlich ist. Die von mir verwendeten Router zählen auch nicht “an der x-ten …abbiegen” sondern sagen “in x Metern abbiegen”.
Außerdem orientieren sich Router an edge und node, was schnell und zuverlässig funktioniert. Wenn sie zusätzlich am jedem shared node von highway prüfen müssen, ob dieser in einem ah=* mit junction=yes liegt, würde das die erforderliche Datemenge und die Auswertungsgeschwindigkeit negativ beeinflussen.
Daher bleibe ich bei meinem Vorschlag, in komplexen Kreuzungen highway=*_junction für die hier diskutierten Spuren im Kreuzungsbereich zu verwenden, wenn andere einfachere generalisierte Erfassungen nicht ausreichen oder eine Unmenge von turn restrictions bedingen.

Und warum die shared_node nicht einfach als einfache node ohne Verbindung? Meinetwegen auch mit hw=*_junktion, wobei * dem “Zielweg” zugeordnet sein sollte. Das beschreibt den tatsächlichen üblichen “Handlungsverlauf” für den Nutzer.

Dann ist es aber kein shared node mehr, wenn keine Verbindung zu andern ways am node besteht. Kann es sein, dass wir nicht vom selben reden?
QA bemängeln doch kreuzende highway auf gleicher Ebene, wenn sie keinen gemeinsamen node (shared node) haben. hw=*_junction, soll ausdrücken, dass das in Ordnung ist, weil man dort nicht auf den gekreuzten way wechseln kann, damit turning restrictions an diese Stellen überflüssig sind.

Genau - kein shared_node. Diese shared_nodes sind nur am Anfang und Ende von diesem hw=_.

Genau so dachte ich. wenn ein hw=_junktion (oder hw=lane - mein damaliger Vorschlag) eine andere hw=* kreuzt, ist ein fehlender shared_node “kein Fehler”. Damit haben Router auch keine Möglichkeit, zu wechseln und die Restriktion braucht gar nicht abgefragt werden. Sonst muss an jedem shared_node eine Restriktion abgefragt werden. Die hw=** könne auch zwei lanes beinhalten - Beispiel Flügelwegbrücke.

Wie unter http://wiki.openstreetmap.org/wiki/File:Rautenweg_New.jpeg
Dort soll m.E. durch abfragen der Fläche die fehlenden shared_nodes für richtig befunden werden. Die hw erhielten aber keine Änderungen - z.B. wurden sie einfach als hw=* weiter geführt. Das sollte aber durch hw=_ geändert werden. Dort könnten m.E. sogar die zwei geradeaus Restriktionen entfallen, wenn kein shared_node (richtigerweise) vorhanden ist und die ways als hw=_ geführt sind. Dann wäre lediglich für a:h die highway=junction als Fläche und kann für Router entfallen.

Stimmt ist bei mir auch so (Mapfactor Navigator). OT: Dort ist mir bloß mal aufgefallen, dass bei Kreisverkehren jetzt statt der Ansage “nehmen sie die dritte Ausfahrt” die gefährliche Variante “am Kreisverkehr biegen sie nach links ab” kommt.

Das passiert nach meiner Kenntnis aber nur, wenn die Kreisverkehre bei Ein- und Ausfahrtspuren nicht als oneway erfasst sind. Danke für die Erinnerung. Das wollte ich denen per PN mal melden. Aber wir sollten jetzt wieder zum Thema kommen.
Und deshalb:
Wer ist außer geri-oc und mir auch dafür, diese Spuren innerhalb von Kreuzungsanlagen unabhängig von Flächenerfassung mit besonderen highway-values zu erfassen, wobei diese mit kreuzenden highways keine shared nodes haben müssen, um auf turn resttictions verzichten zu können?
Ich schreibe Martin (imagic) als Verfasser des oben erwähnten proposals mal an. Die Masse der proposals zum Thema *:lanes ist federführend von ihm und da ist mir seine Beteiligung wichtig.