User:JochenB/split nodes
Folgend mein Textvorschlag für das Wiki betreffs Split-Node in Knotenpunktnetzwerken. Dies könnte ach einer Übersetzung den englischen Text ersetzen und Grundlage für eine deutsche Beschreibung sein.
Da ich im Forum keine Reaktion auf meinen Vorschlag bekommen habe, habe ich mir nicht zugetraut, diesen Tex auch tatsächlich zu verwenden.
Knotenpunkte mit mehren Verknüpfungsknoten (Split-Nodes)
An einen Knotenpunkt treffen mehrere Verbindungen aufeinander. Die Relationen der Verbindungen werden so geführt, dass man lückenlos von jeder ankommenden Verbindung auf jede abgehende Verbindung wechseln kann.
Vor allen an größeren Kreuzungen kann das schwierig werden. Dort treffen Verbindungen mitunter in verschiedenen Knoten aufeinander. Der Knotenpunkt teilt sich auf mehrere "Split-Nodes" auf. Ursache ist häufig, dass Verbindungen je nach Fahrrichtung auf anderen Linien verlaufen (abgesetzte Radwege an jeder Seite der Straße).
Die Aufgabe ist, die Relationen trotzdem in allen möglichen Richtungen lückenlos zu verbinden. Dabei sollen Relationen vermieden werden, die Start und Ziel im gleichen Knoten haben (z. B. Relation "18-18" innerhalb des Knotenpunkts 18).
Folgend eine Schritt-für Schritt-Anleitung dafür. Dafür sind folgende Begriffe zu unterscheiden:
- OSM-Node - der Knoten im OSM-Graph
- Knotenpunkt - der nummerierte Knotenpunkt im Knotenpunktnetzwerk ("Radeln nach Zahlen")
- Split-Nodes - OSM-Nodes, auf die sich ein Knotenpunkt aufteilt
- Relation - route-Relation der Verbindung zweier Knotenpunkte. Die Relationen enthalten die Wege beider Fahrrichtungen. Die Fahrrichtungen werden hier in getrennten Schritten betrachtet:
- zulaufend - Richtung von einem benachbarten Knotenpunkt
- abgehend - Richtung zu einem benachbarten Knotenpunkt
- Fahrweg - Wege einer Fahrrichtung
Der Knotenpunkt wird auf mehrere OSM-Nodes aufgeteilt, den "Split-Nodes". Die Split Nodes werden an jede Relation angebunden. Folgende Schritte werden dafür durchgeführt:
Vorgehen | Beispiel 1: Knotenpunkt Nr. 2
mit 3 Verbindungen zu Nachbarknoten |
Beispiel 2: Knotenpunkt Nr. 2
mit 4 Verbindungen zu Nachbarknoten |
---|---|---|
Nacheinander jede Relation betrachten
Es wird am Knotenpunkt nacheinander jede Relation betrachtet: Im Beispiel 1:
Im Beispiel 2:
Für jede dieser Relation werden die folgende drei Schritte durchgeführt: |
||
1. Schritt: Split-Node markieren
Es wird der zulaufende Fahrweg betrachtet. Der Split-Node ist der erste OSM-Node, an dem der Fahrweg auf einen Fahrweg von/ zu einem anderen Knotenpunkt trifft. Jeder Split-Node erhält die Nummer des Knotenpunkts mittels rcn_ref=*. In beiden Beispielen:
Besonderheit im Beispiel 2:
|
||
2. Schritt: Zulaufenden Fahrweg in die Relation aufnehmen:
Der zulaufende Fahrweg endet am ersten Split-Node des Knotenpunkts. |
||
3. Schritt: Abgehenden Fahrweg in die Relation aufnehmen:
Der abgehende Fahrweg soll die Verbindung zu den anderen Relationen herstellen. Er beginnt dazu an einem Split-Node, wo ein zulaufender Fahrweg aus Schritt 2 endet. Idealerweise wird der Start des abgehenden Fahrwegs so gewählt, dass in seinem Verlauf durch den Knotenpunkt alle anderen zulaufenden Fahrwege angebunden werden Im Beispiel 1:
Im Beispiel 2:
Mitunter ist es nicht möglich, alle zulaufenden Fahrwege auf einmal anzubinden. Dann werden weitere abgehende Fahrwege in die Relation aufgenommen, mit denen die restlichen Split-Nodes angebunden werden. Es gibt dadurch mehrere "Tentakel" am Beginn der Relation. Die Tentakel holen Radfahrer/ Wanderer von anderen zulaufenden Relationen ab. Im Beispiel 2:
Es wird dabei in Kauf genommen, dass die Wege in der Relation keine durchgehende Wegekette mehr ergeben.
Je nach Führung durch den Knotenpunk können auch zulaufende Fahrwege Einrichtungs-Fahrwege sein. Dann sind auch dort diese Rollen zu vergeben. |
Qualitätschecks:
- Es gibt es maximal so viele OSM-Node mit rcn_ref=*, wie es Relationen zu Nachbarknoten gibt.
- In jeder Fahrrichtung durch den Knoten gibt es nur einen Wechsel der Relationen.
- In jeder Fahrrichtung durch den Knoten gibt es nur mindestens einen OSM-Node mit rcn_ref=*.
- An jedem OSM-Node mit rcn_ref=* endet mindestens ein zulaufender Fahrweg einer Relation.
- An jedem OSM-Node mit rcn_ref=* beginnt mindestens ein abgehender Fahrweg einer Relation.
- An jedem endenden zulaufenden Fahrweg befindet sich ein OSM-Node mit rcn_ref=*
- An jedem endenden zulaufenden Fahrweg schließen sich die abgehenden Fahrwegen aller anderen Relationen an
- ... (weitere?)