Knotenpunktnetzwerke

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.

Genau das ist hier das Problem. Wie ich bisher erkennen konnte, verläuft durch den Landkreis Ludwigsburg von Norden nach Süden ab Kirchheim am Neckar über Bietigheim-Bissingen und Ludwigsburg bis Kornwestheim nur eine Strecke mit Knotenpunkten und von Bietigheim-Bissingen nach Vaihingen an der Enz von Ost nach West eine weitere Strecke mit Knotenpunkten. Alle weiteren ausgeschilderten Strecken haben nach meinen Kenntnissen keine Nummer, somit auch keinen bekannten Knotenpunkt. Bis wann sich da noch was ändert, ist mir nicht bekannt.

Sorry to press this point. In node networks, the routes are not numbered, or if they are the route numers are not part of the node network.

The nodes have numbers and point to adjacent nodes by node number.

So node xx points to node yy using an arrow or pointer mentioning yy as the next node in a particular direction, and node number yy points back to xx and forward to zz [, aa, bbb, …]. No similar numbers in between.

If that is not the case, it is not a node_network. A node is a point where you choose directions to other nodes.

So, not every numbered guidepost is a network node. If it does not direct you to another number it is not a network node.

From the description I get the impression the routes do bring you along numbered points, but these are not used to choose directions, they are more like numbered milestones on a fixed route.
Of course this could be the beginning of a real node network, but one long route cannot be a network, can it?

Ich hoffe, dass dies der Beginn ist eines echten Knotennetzwerks. Im Bundesland Baden-Württemberg wurden jetzt vom Verkehrsministerium
BW zum ersten Mal Knotenpunkte festgelegt und bei diesen Wegweiser aufgestellt. Neben dem Land planen auch der Landkreis und die Gemeinde (zumindest an meinem Wohnort) ein Radnetz zu erstellen. Bis wann dies fertig ist, weiß momentan niemand. Ich wollte jetzt aber bereits die von anderen Mappern erstellten Relationen, bezeichnet mit “Radroutennetzwerk, Streckenrelation zwischen zwei Knotenpunkten” entlang den neuen Knotenpunkten, die zumindest eine feste Nummer haben, in ein Netzwerk aufnehmen, damit das Ganze auch übersichtlicher wird.

Wieder eines komplett…

Das Knotenpunktnetz meines heimischen Landkreises Dahme-Spreewald ist nun zu 100% fertig: https://knooppuntnet.nl/en/network/10953719 zumindestens soweit ich es vor Ort feststellen konnte. Mein Dank gilt auch den Usern WegefanHB, der mich mit Fotos unterstützt hat und besonders auch den Usern FA-KW und Osmegnos die den Nordteil des Kreises bearbeitet haben…
Damit ist das Netz wahrscheinlich eher in OSM, als das es eine Papierkarte gibt. Eine letzte Liste mit Anmerkungen und fehlenden Schildern geht noch an den Landkreis.

Mal sehen, wieweit ich mit den angrenzenden Netzen Landkreise Elbe-Elster, Oberspreewald-Lausitz und Spree-Neiße komme… Fotos mit Geokoordinaten von nicht erfassten Knotenpunkten sind immer Willkommen.

Sven

Sieht gut aus! Und der neue Planer funktioniert gut damit. https://experimental.knooppuntnet.nl/nl/map/cycling

Kudos!

Habe das gerade gesehen: “Datum letzte Inspektion” als farbliche Darstellung - sehr gut.
Dazu müsste aber ein check_date= in die Daten - meine Meinung - an die Relation und Knotenpunkte. Falls die Auswertung über “last updated” erfolgt genügt ein “verschieben eines nodes (Wegweiser)” zur angeblichen Prüfung.

Recht so. Das Wichtigste ist aber jetzt, die Knoten systematisch einzuführen. Wenn’s nicht komplett in OSM steht, kann man überhaupt nicht zuverlassig planen.