Knotenpunktnetzwerke

Mir sind hier in meiner Umgebung auf die Schnelle nur zwei Stellen mit je 2 Punkten bekannt, an der Buchstaben anstelle von Zahlen verwendet werden. Das betrachte ich aber als temporären Workaround, da an beiden Stellen eine Eisenbahnunterführungen gebaut werden. Das ist Eichwalde und das ist Zeuthen.

angezeigt werden alle Punkte mit network:type=* und Buchstaben im rcn_ref oder ohne rcn_ref für das Bundesland Brandenburg:
https://overpass-turbo.eu/s/X66

Die anderen beiden Punke sind offensichtlich “versteckte” noch nicht erkannte Knotenpunkte des Netzes Landkreis Spree-Neiße. Die verarbeite ich am Nachmittag.

Sven

Wenn ich mir das Beispiel von Peter mal auf waymarkedtrails anschaue, frage ich mich, wie so etwas auf Karten für kleinere Navi’s sinnvoll angezeigt werden kann. Man sieht ja nur noch elliptische Knotenpunkte, alles andere, selbst Wanderwege ist nicht mehr sichtbar.

Issue 1 ! I want to ask Waymarkedtrails to render differently, but they will need a consensus about the tags which does conform to general principles.

A ref is not a name, so WMT can expect refs not to be lengthy names.

My preference for now in the test cases would be to put the node name in a new tag: rwn_name=*, and to simply put a zero in rwn_ref. This would produce reasonable rendering of the nodes and it would be accepted by the Knooppuntnet validations. In Knooppuntnet Planner it will route and produce a gpx-output, but the node strip output will not be usable.

All the node routes would get the tag ref=0-0 (which incidentally mimics a node2node route…). No name, no note. If you want to, you could enter the from and to information in the description tag.

Once consensus tagging has been established I’m sure WMT and Knooppuntnet will accept and honour requests for rendering and data-use, then the zeroes can removed.

Above all, I am curious about your preferences, because it’s a German thing. The Dutch do not (yet) have named nodes.

Ich habe einen kleinen Test zum Rendern in WMT durchgeführt. https://hiking.waymarkedtrails.org/#routelist?ids=11168677,11168684&map=16!48.6116!8.1609

Oben rechts habe ich für zwei Punkte rwn_ref = 0 gemacht, oben links habe ich einen Punkt verwendet. Sie können den Namen der Kreuzung sehen, da sich der Wegweiser in der Nähe befindet. Darunter befinden sich die andere Namen im Knoten in einer roten Ellipse. Welches ist das Beste?
Oder sollte der Knotenname noch separat auf der Karte stehen, wie z.B. an einer Bushaltestelle?

Vertrackte Knotenpunktgeschichte Stadt Cottbus (CB) und Landkreis Spree-Neiße (SPN).

Ich hab mich eben mal um die vertrackte Knotenpunktgeschichte Stadt Cottbus gekümmert… Die Geschichte ist so, daß auf den Knotenpunktkarten an den Knotenpunkten im Landkreis SPN vor Ort auch das Stadtgebiet Cottbus mit abgedeckt wird und Knotenpunkte vergeben sind. Vom Knotenpunkt im Landkreis SPN wird auch auf den Knotenpunkt Stadt CB verwiesen, wo aber eben nicht ausgeschildert ist. Diese Info habe ich unanhängig von zwei Mappern: silverlion und MaGIStokrat, Danke dafür. Ich habe erst mal alle Knotenpunkte im Stadtgebiet Cottbus auf “proposed:rcn_ref=*” gesetzt und eine für Cottbus eine extra Netzwerk-Relation angelegt…
CS: https://www.openstreetmap.org/changeset/90474266
Relation https://www.openstreetmap.org/relation/11587560

Ich bin mir noch nicht sicher, wie man mit solchem hybriden Zwischenstand umgeht… die Punkte zu löschen fände ich sehr schlecht, da sie zu mindestens auf dem Papier existieren und Ausschilderung auf diese verweisen…

Wie ich mit den connection-Routen vom Landkreis SPN nach Stadt CB umgehe, weiß ich nich nicht. eventuell lasse ich die einfach…

Sven

…der sich ägert, daß sich Cottbus mal sperrt…

Find ich genau richtig.

Inzwischen tut sich auch in BW etwas. Es wurden neue Wegweiser aufgestellt oder bestehende verändert. Das Verkehrsministerium BW hat anscheinend Karten mit Knotenpunkten und dazu Katasterblätter erstellt. Die Knoten sind bezeichnet mit meist 3 Buchstaben (Kreisstadt Ludwigsburg nur 2 Buchstaben=LB) und einer Zahl, in meinem Heimatort z.B. von BIE 1 bis BIE 37 (einschließlich der Zwischenwegweiser). An den Pfosten der Wegweiser befindet sich eine Art Banderole, auf der z.B. steht: www.radnetz-bw.de, Standortnummer: LB-BIE.016.1. Befinden sich an einem Knoten aus verschiedenen Richtungen mehrere Wegweiser, wird die letzte Ziffer entsprechend geändert auf 2, 3 oder 4. Die Kennzeichnung ist recht klein und von größerer Entfernung nicht lesbar. Die Richtung zu einer benachbarten Nummer eines Knotenpunktes findet sich auch nicht am Wegweiser-Schild.
Mir ist jetzt nicht bekannt, ob es in BW bereits Knotenpunktnetze, insbesondere im Kreis Ludwigsburg, von RadNETZ gibt, wenn ja, könnte das ein Kollege hier mal erklären. Über waymarkedtrails habe ich im Kreis LB jedenfalls noch keine solche Relation gefunden. Ich stelle mir vor:
a) Knotenpunkt
cycle_network=Knotenpunktwegweisung Landkreis Ludwigsburg
network:type=node_network
expected_rcn_route_relations=nn (die Anzahl der Kontenpunktrouten, die sich dort treffen)
rcn_ref=BIE 16
oder ist hier nur die 16 anzugeben? Die 16 kann aber auch im Nachbarort vorhanden sein.

b) Wegweiser
Die bereits bestehenden Wegweiser würde ich z.B. mit folgenden Tags ergänzen:
name=BIE 16.1
network=rcn
ref=16.1 (oder nur 16? Dann könnte bei einem Knoten 4-mal die 16 auftreten)

Erfreulich ist, dass auch waymarkedtrails Sachen wie direction_north=* auswertet. Da frage ich mich aber, warum wir Dinge erfinden, die vor Ort nicht existieren. Ich habe schon Hunderte von Radwegweisern gesehen, aber hinter der Zahl der Entfernungsangabe noch nie die Buchstaben „km“ entdecken können. Erfinden wir das „km“ dann künftig z.B. auch für maxspeed?

c) Relation zwischen 2 Knotenpunkten
name=Bietigheim-Bissingen (15) – Bietigheim-Bissingen (16)
network=rcn
network_type=node_network
type=route
route=bicycle
ref=mm-nn (z.B. 15-16)
cycle_network=Knotenpunktwegweisung Landkreis Ludwigsburg
Den Sinn der Knotenpunktrelation kann ich allerdings nicht erkennen, wenn die Entfernung zwischen 2 Knoten sehr gering ist. So beträgt z.B. die Entfernung zwischen BIE 15 und BIE 16 ca. 70 m. Während sich längere Strecken über https://cycling.waymarkedtrails.org zum Download und Nachfahren eignen, ist eine Strecke von 70 m doch uninteressant. Oder gibt es eine Möglichkeit, mehrere solcher anschließenden Relationen auf einmal als gpx-Datei per Download zu erhalten?
Gibt es bei der Aufnahme der Mitglieder der Relation eine bestimmte Reihenfolge zu beachten?
Bei der Busrelation müssen zuerst alle Haltestellen und dann die Streckenabschnitte aufgenommen werden.
In #60 ist das Beispiel https://www.openstreetmap.org/relation/10953915 aufgeführt. Da ist die Reihenfolge:
guidepost, Knotenpunkt, einzelne Streckenabschnitte, Knotenpunkt, guidepost.

d) Netzwerkrelation
type=network
network:type=node_network
network=rcn
name=RadNETZ Baden-Württemberg
operator= Baden-Württemberg - Ministerium für Verkehr

Ist bei der Aufnahme der Relationen eine bestimmte Reihenfolge zu beachten?
Bei der Netzwerkrelation https://www.openstreetmap.org/relation/10953719 sind zunächst die Knotenpunkte und dann die Relationen aufgenommen, m.E. aber nicht in einer bestimmten Reihenfolge.

Kann jemand meine Fragen beantworten und hat zu meinen Vorstellungen Verbesserungsvorschläge?

Sorry to reply in English!

For answers, I look at two things:

  1. rendering (in waymarkedtrails, osmand, the OSM cycle layer and the upcoming Knooppuntnet planner)
  2. nodenetwork routing from node to node using only the node network. (Not regular A to B routing).
    The test-version of the Knooppuntnet node network planner is available here: https://experimental.knooppuntnet.nl/de/map/cycling

cycle_network tag is, as far as I know, not used for 1. and 2.

If BIE is not really part of the number but indicates the network or the area, better leave that out. 3 characters is the max for the refs.

Repeating node numbers is no problem, as long as they have at least two other nodes in between. (Otherwise the intermediate node would point to the same number in two different directions…). Most areas in Nederland use numbers 01 to 99 all the time.

The Wegweiser are not used in the nodework planner. They are rendered by waymarkedtrails and many other maps as separate objects near the nodes (which are the intersections of the ways). For the planner it does not matter, but if there are multiple guideposts and multiple nodes you would see an awful lot of numbers 16 if you gave them all names and numbers.
In Nederland, we do not tag names and numbers on the guidepost nodes, just on the network nodes.

The name tag does not apply here, unless the route actually has name signs along the road with texts like "Bietigheim-Bissingen (15) – Bietigheim-Bissingen (16). You could put the text in the description tag, but is it really useful to tag all the node routes with the same information?

The cycle_network tag, I don’t know if that is used in applications.

In Nederland, we used to tag information like this in node networks, but it was seldom updated and never used. Now we keep it surprisingly simple.
Just the bicycle nodes with the rcn_refs, and the bicycle route relations with refs, all tagged as network:type=node_network, that’s all you need to make it display and work. This would be my advice: start with the bare minimum to make it work, and only if you (users) really miss something worth while, then add it later. Resist temptation to add everything you know.

It is not about length, but about connectivity.
The Knooppuntnet planner is currently the only application for OSM node network routing. You click or tap some nodes, the planner connects the nodes following the node2node routes, and the result can be exported to a gpx file.

The node network route relation does not need to contain the nodes. For cycling routes with backward/forward roles they even get in the way of sorting and the JOSM continuity line. Just the ways in the correct order, matching the ref tag.
In fact, because the nodes are part of the ways (first node of the first way, last node of the last way), the information is already there. The guideposts nodes are not part of the node network. They are rendered as separate nodes near the network node, and the node network routing does not use them.

The network relation is just a bag of items, a collection. Order is not important. If you try to sort it in JOSM’s relation editor it will group the nodes together and the relations, without any order.
The network relation has no real use for rendering or routing. It mainly served as an entry point for the Knooppuntnet Analysis, but the new version offers Analysis and maintenance by admin_level hierarchy.
https://experimental.knooppuntnet.nl/de/analysis/cycling

Knooppunt Maintenance/analysis by named Network will continue to be supported, though.

Hope this helps! Next time I will try some German again, with a little help of GT.

Fr Gr,

Peter Elderson

Hallo Peter,
vielen Dank für die Antwort. Mein Englisch ist leider nicht besonders gut, ich glaube aber, dass ich den Großteil verstanden habe. Ich werde mich jetzt mal, wie von dir empfohlen, mit den wichtigsten Tags an die Sache herantasten und dann sehen, was noch zu ergänzen ist.

ghostrider44

Inzwischen habe ich einige Knotenpunktrelationen und eine Netzwerkrelation angelegt:
https://www.openstreetmap.org/relation/11606677
Folgendes ist mir noch nicht klar:
Bei der Relation https://www.openstreetmap.org/relation/11607208 ist am Beginn beim tatsächlichen Knotenpunkt ein highway=crossing eingetragen, bei den Relationen https://www.openstreetmap.org/relation/11606793 und https://www.openstreetmap.org/relation/11606792 am Ende bzw. Beginn ein highway=mini_roundabout. Ist dies ein Problem?

Die Nummerierung der Knotenpunkte ist in dem von mir bisher festgestellten Bereich von Nord nach Süd bzw. Ost nach West vorgenommen worden. Innerhalb einer Gemeinde sind somit die Nummern aufsteigend. Beim Wechsel in die Nachbargemeinde ist dies aber z.B. von (BIE)32 nach (SAC)02 bzw. (BIE)29 nach (TAM)02. Bei den Relationen https://www.openstreetmap.org/relation/11606791 und https://www.openstreetmap.org/relation/11606794 habe ich beim Erfassen der Wegstücke deshalb diese Reihenfolge eingehalten, somit also von 32 nach 02 bzw. 29 nach 02. Muss dies gedreht werden, damit die kleinere Ziffer vorne steht?

So wie ich dies bisher aufgenommen habe, ist pro Landkreis nur eine Netzwerkrelation vorgesehen. Deshalb schlage ich vor, dass weitere Knotenpunktrelationen von RadNETZ im Bereich des Landkreises Ludwigsburg in die folgende Netzwerkrelation eingefügt werden: https://www.openstreetmap.org/relation/11606677

crossing oder mini_roundabout kann auch Knotenpunt sein. Kein problem.

Nummerierungssystemen sind nicht sehr wichtig. Die Zahlen sind nur Etiketten. Das Routieren funktioniert auch ohne Nummer, nur auf ein Knotenliste will man die unterwegs sehen!

Manche Mapper haben beim Mappen gerne die Nummer von klein zu gross, aber das ist nicht notwendig. Was logisch ist, oder wie man es mit einander verabredet.

Das gilt (m.m.) auch für die Eingabe von Knotenpunkte in die Relation.

Kleine Frage: Sind diese Knotenpunkte alle richtige Wechselpunkte (expected_rwn_route_relations > 2) , oder sind manche nur Punkte an denen man vorbeigeht (exp… = 2)?

Prinzipiell richtig, aber es kompliziert die Auswertung enorm.

Wie meinst du?

In der Freizeitkarte-Android unterstützen wir die Knotenpunktnetze für Radfahrer, Wanderer und Inline-Skater. Im Moment überlegen wir, auch die Netze für Reiter, Kanu- und Motorbootfahrer zu unterstützen. Als aufwändig/problematisch (aber nicht unlösbar) haben sich zwei Sachverhalte erwiesen:

  • mehrere Netzknoten an einem Node (z.B. cycling + hiking)
  • Netzknoten an anderen Objekten (z.B. turning_loop)
    Für uns war das nur lösbar, indem wir für jeden Netzknoten einen eigenen Node abgeleitet haben. Oder anders ausgedrückt: Ideal ist genau ein Netzknoten an einem extra dafür erzeugten Node. Dies ist aber aufgrund der praktischen Erfassung wohl unrealistisch.

Beispiel: https://www.openstreetmap.org/node/195588382

network:type=node_network zeigt ja, das es ein Element eines oder mehrerer Netzwerke ist.

Reicht hier die Verwendung von rcn_ref, rwn_ref und ähnlich nicht aus zu Unterscheidung, um welche Netzwerke es sich handelt?

Für cycle_network könnte man ja analog* hiking_network* und so weiter einführen.

Selbst expected_rcn_route_relations kann man ja entsprechend anpassen.

@toc-rox Ah so. Aber, mehrere Noden genau an der gleichen Stelle platzieren, das wäre keine gute Idee, oder?
Mehrere Netzknoten an einem Node (z.B. cycling + hiking): Sollten sie gleichzeitig gezeigt werden? Ich denke nicht?
Netzknoten an anderen Objekten (z.B. turning_loop): sollendie im gleichen Layer gezeigt werden? Die Netzen werden meistens als separate Layer gezeigt, denke ich?

cycle_network=* is a name thing, not a type, right?

In my opinion, while the name can indicate the type, it would not be right to construct a cycle_network name from type/region/operator/signing system. A network name is what 's shown on the sign as the network name.

The cycle_network wiki page says to put the tag on all the routes. Nederland currently has 333 node networks (all types) with nearly 60.000 nodes and nearly 80.000 routes. I think operator and network name information is better tagged in the network relations! Then, if something changes e.g. the network is renamed or networks are fused, or the operator changes, you only need to edit the network relation, not all the node2node route relations and network nodes.

With node networks, the maintenance burden is gigantic, because of the sheer numbers of items and the constant stream of changes. Keeping it as simple as possible in the beginning saves you heaps of maintenance work (and complicated mechanical edits) later.

Ich habe gesagt!

Bei den aufgeführten Knotenpunkten steht immer ein entsprechender Wegweiser mit Zielangaben (keine Zwischenwegweiser mit nur einem grünen Pfeil). Das expected_rwn_route_relations habe ich meist weggelassen, da hier meist eine beschilderte Wegweisung abgeht, die aber keine Nummerierung hat und ich noch nicht genau weiß, wie ich diese anlege und einfüge. Einige Punkte haben tatsächlich aber nur die beiden Richtungen. Die Frage ist dann, endet bzw. beginnt hier die Relation nicht, sondern erst an einem Knotenpunkt mit expected_rwn_route_relations > 2? Wird also bis zu diesem durchgezogen?

Bei der Freizeikarte-Android wird die render library mapsforge verwendet. Diese erlaubt die Text Darstellung nur über das Name Tag.
D.h. für jeder Knotenpunkt Bedarf es einer Vorauswertung, um die rcn_ref, rwn_ref, etc. zu transformieren. Wenn man aber die verschiedenen Netze trennen will, muss man sich für eines entscheiden. Oder man muss eigene Punkte erzeugen. Dies dann im gleichen ID Range wie die Rohdaten. :frowning: Dies ist aufwendig und führt immer wieder mal zu Problemen.

Solche “mapsforge Probleme” haben wir bei allen Mulituse-Nodes. Darum ist jeder, welcher mapsforge verwendet, kein Fan davon.

Der Punkt ist, dass die Knoten mittels der Zahlen aufeinander verweisen. An den Knotenpunkten wählt man kein endgültiges Ziel, sondern eine nachfolgende Nummer wo man wieder wählt. Die Route zwischen zwei Punkte die nach einander verweisen ist ein Knotenpunktrelation. In ein richtiges Knotenpunktnetz sind die meiste Knotenpunkte exp… > 2.