Flusskilometrierung

Aus aktuellem Anlass möchte ich das Tagging von Kilometertafeln an und von Kilometerangaben in Fließgewässern klären. Das scheint mir nicht nur für Bootfahrer, … interessant zu sein, sondern auch für Leute wie mich, die am Ufer unterwegs sind (“Ich laufe jetzt bis km 222,8 am Ufer und biege dann rechts ab.”) Dazu habe ich versucht, mir einen Überblick über Theorie (Wiki) und Praxis zu verschaffen. Derzeit werden im Wiki drei unterschiedliche Verfahren beschrieben.

  • river-Tagging (Version von August 2019; inzwischen entfernt): Hier wird die Tafel bzw. im Fluss getaggt gemäß

    waterway=river
    river:category_distance=…   # 3 für Tafel, 1 im Fluss
    river:waterway_distance=…   # in km
    

    Das Verfahren scheint weitgehend unüblich, und es findet sich auch nur im deutschen, nicht aber im englischen Wiki. Es gibt zwar 8100 river:waterway_distance-Knoten; die allermeisten (89%) sind aber kombiniert mit seamark-Tags (43% für seamark:bridge, 41% für seamark:distance_mark (s. u.)). Das Tag river:category_distance, das die Tafel ausmacht, gibt’s nur 420 Mal. Ich bin dafür, dieses Tagging aus dem Wiki zu entfernen. Mich hat das letztlich nur verwirrt (aber zuerst gefunden).

  • milestone-Tagging: Hier wird die Tafel bzw. im Fluss getaggt gemäß

    waterway=milestone   # kein Unterschied Tafel/im Fluss
    distance=…           # in km
    

    Optional kann es laut Wiki um das seamark-Tagging (s. u.) erweitert werden. Es gibt 3700 waterway=milestone-Tags (in höchstens 1000 Fällen (27%) gibt es die seamark-Ergänzung). Vielleicht 2000 davon liegen am Ufer [Es gibt 2600 milestones, die nicht auf einem way liegen, also mutmaßlich am Ufer; mindestens einige Hundert liegen aber dennoch im Wasser: So an der Saône 237, an Odra und Warta 310.] In DE gibt es 1600 milestones, zum überwiegenden Teil in Süddeutschland; systematisch verwendet wird es am Nord-Ostsee-Kanal (dort nur im Kanal), an Inn und Salzach (bei beiden nur am Ufer).

  • seamark-Tagging: Hier wird die Tafel bzw. im Fluss getaggt gemäß

    seamark:type=distance_mark
    seamark:distance_mark:category=…   # board für Tafel, not_installed im Fluss
    seamark:distance_mark:distance=…   # Zahl
    seamark:distance_mark:units=…      # Einheit (kilometres/hectometres/…)
    
    

    Dieses Tagging gibt es 10200 Mal (fast immer alle vier gemeinsam), in 34% der Fälle wird es kombiniert mit river:waterway_distance, in 10% mit einem waterway-Tag (in der Regel wohl waterway=milestone). Meistens (71% = 7300) wird im Fluss getaggt, weniger häufig (28% = 2900) am Ufer. Die Einheit ist fast immer (99%) km, nur selten hm (1%). In DE tritt es 5500 Mal auf, davon nur 500 Mal am Ufer.

Der de-facto Standard ist also am ehesten das seamark-Tagging. Das ist ziemlich eindeutig für das Tagging im Fluss (7300 seamarks vs. ca. 1700 milestones), weniger eindeutig für Tafeln, … am Ufer (2900 seamarks vs. ca. 2000 milestones); beachte: Es gibt ca. 1000 Knoten mit beiden Tagging-Verfahren.

Was das Rendering angeht, kenne ich nur OpenSeaMap und die “Nautisch”-Darstellung bei OsmAnd. OpenSeaMap scheint nur das seamark-Tagging zu kennen; es krankt im wesentlichen daran, dass distance-Angaben auf ganze Zahlen gerundet werden und bei der Angabe der Einheit sehr pingelig ist (von den beiden etwa gleich häufigen “kilometres” und “kilometer” wird nur das erste ausgewertet). Beispiele: Twentekanaal bei Zutphen, Rhein bei Speyer (besser). Das Rendering bei OsmAnd ist besser (siehe die Beispiele), und es kennt sogar das reine river-Tagging (Lage: Iller bei Ulm), nicht aber das milestone-Tagging.

Mein klarer Favorit ist – es wird nicht überraschen – das seamark-Tagging, und zwar im Fluss und am Ufer. Das milestone-Tagging würde ich ignorieren. Mich stört besonders, dass es auch für im Fluss vorgesehn ist; für mich ist ein milestone etwas Anfassbares. Wie ist hier das Meinungsbild?

[Edit: river-Tagging mit Link zu Wiki-Eintrag (Post-Zeitpunkt)]

die werden immer auf Nodes getaggt, oder ist im ersten Beispiel ein Mittelweg gemeint? An der Schildposition, oder projiziert?

Klar, bei allen drei Verfahren geht es um das Tagging einzelner Nodes. Beim “river-Tagging” haben diese Knoten ein waterway=river und liegen an der Position der Tafel, … bzw. auf dem way, das den Fluss darstellt. Dieses waterway=river an einem Punkt auf dem Land finde ich persönlich nicht so toll, aber so steht’s in dem verlinkten Wiki-Eintrag.

Zum ersten Fall “river-Tagging”: Dies scheint der Einfall eines einzelnen Mappers vor einigen Jahren gewesen zu sein und laut http://wiki.openstreetmap.org/wiki/DE_talk:Segler war die Mapper-Idee “…(also NICHT am Ufer, NICHT an der Tafel, NICHT zwischen den Ufern (“Riverbank”)…”, d.h. nicht für die Nodes der Tafeln an Land, sondern für die virtuellen Nodes auf dem Fluss. Da es ein undiskutierer Einfall einen einzelnen Mappers war, würde ich diese Mappingvariante nicht verwenden.

Zustimmung. Das Problem ist nur: Wenn man im Wiki “Flusskilometer” sucht, landet man bei genau diesem Verfahren. So bin ich dort gelandet und habe gedacht, so macht man das.

Zum dritten Fall “seamark-Tagging”.
Die seamark-Tag werden nicht nur von OpenSeaMap dargestellt, sondern wurden extra für die OpenSeaMap eingeführt/erfunden. Aktuell scheint OpenSeaMap nur ganzzahlige Kilometerangaben bei “seamark:distance_mark:distance” zu unterstützen, was bei nichtganzzahligen Tafeln zu einer fehlerhafter Anzeige führt. Warum das die OpenSeaMap macht, kann ich nicht, sagen, aber evtl. war seamark:distance_mark:distance von den OpenSeaMap-Jungs nur für ganze Kilometer gedacht oder es ist ein Bug.

Das ist einer der Gründe, warum ich die seamark-Tags nur bei ganzen Kilometern verwende. Sonst kommt so was dabei raus:

PS. Wegen dem Wikieinträg zum ersten Fall river-Tagging überlege ich mir, ob ich das Wiki anpasse/ergänze. Bin aber weniger ein Wikimensch…

[Edit] Link durch Bild ersetzt, da Bug in der openseamap behoben ist.

Ich halte das für einen Bug, da die verlinkte Doku für distance ein Decimal erlaubt, und das ist laut Doku ein “Digit string with optional decimal point and fraction”. Ich würde mich sowieso bei der Frage, welches Tagging das “richtige” nicht zu sehr an dem Rendering von OpenSeaMap orientieren: Andere (OsmAnd) machen es besser, und bei OpenSeaMap wird es hoffentlich einaml korrigiert.

Ich werde daher (falls ich keinen Widerspruch bekomme) die zwei Beispiele zu ‘Flusskilometer, Stromkilometer’ und ‘Schifffahrtszeichen “Flusskilometer”’ aus der deutschen Wiki-Seite https://wiki.openstreetmap.org/wiki/DE:Key:waterway entfernen, da dies die undiskutierte Idee eines einzelnen Mappers (Ich habe den Mapper angeschrieben. Vielleicht möchte er hier mitdiskutieren) war und diese Tags außer bei den beiden Beispielen auf dieser einzigen Wiki-Seite nirgendwoanders im OSM-Wiki dokumentiert sind.

Spricht hier jemand oder etwas dagegen?


== Beispiele ==
=== Fluss ===
…
<Beginn der Löschung>
=== Flusskilometer, Stromkilometer ===
 Punkt auf dem "waterway" setzen, in der Mitte zwischen den Grenzen des schiffbaren Wasserweges. 
Dieses Attribut wird für das Routen der Schiffe verwendet. 
waterway=river
+ river:category_distance=#          1: ohne Markierung im Gelände
+ river:waterway_distance=####.#     (Kilometer)
=== Schifffahrtszeichen "Flusskilometer" === 
 hier sitzt der Punkt da, wo die Tafel steht. 
waterway=river
+ river:category_distance=#          2: Pfahl als Markierung
                                           3: Tafel (groß, mit Kilometerangabe)
                                           4: andere Markierung
+ river:waterway_distance=####.#    (Kilometer)
<Ende der Löschung>

Eigentlich kann dort doch der ganze Abschnitt “Beispiele” weg, oder?
Ich halte es aber für sinnvoll, im Absatz “Kilometrierung” zu waterway=river beide gängigen Verfahren zu erwähnen, etwa so:

Für das seamark-Tagging spricht immerhin (neben der größeren Verbreitung) die bessere Unterstützung beim Rendering. Die Tags werden gut durch OsmAnd in der “Nautisch”-Kartendarstellung und, wenn auch mangelhaft wegen der Rundung auf ganze Zahlen, durch OpenSeaMap dargestellt. Die milestone-Tags werden von keiner dieser beiden Karten angezeigt.

Ich habe die openseamap-Jungs angeschrieben, ob die Sache mit der Rundung Absicht oder Bug ist. Heute kam die Antwort

Unter http://map.openseamap.org/?zoom=15&lat=47.74719&lon=12.12990&layers=BFTTFFTFFTF0TFFFFTTTFT sieht man schon, dass die Nachkommastelle dargestellt wird.

[Edit] Link auf Bild von Post #6 gesetzt

Ich habe heute, nachdem zwei Wochen kein Widerspruch kam, auf der deutschen Wiki-Seite https://wiki.openstreetmap.org/wiki/DE:Key:waterway die angekündigte Entfernung (https://forum.openstreetmap.org/viewtopic.php?pid=758774#p758774) der beiden Beispiele für Flusskilometer entfernt. Das dritte Beispiel für den Fluss an sich finde ich zwar nicht besonders hilfreich, aber auch nicht falsch.

Danke, Andreas, dass du die Korrektur des Renderings in die Wege geleitet und den Wiki-Eintrag überarbeitet hast.

Ich bin inzwischen übrigens über ein viertes Taggingschema gestolpert: Das “waterway:sign-Tagging”, das im Wiki am ehesten in FreieTonne/Symbole beschrieben wird.

waterway:sign=kilometer
waterway:kilometer=…   # in km

Das erste gibt es 4200 Mal, in 67% der Fälle ist auch das zweite vorhanden und ist damit etwa genauso häufig wie das milestone-Tagging. Es wird wie dieses weder von openseamap.org noch von OsmAnd in der Nautikkarte gerendert, wohl aber sehr schön von freitonne.de (Beispiel: Elbe bei Geesthacht).
Es gibt also (mindestens?) drei Kandidaten für ein Standard-Tagging – bedauerlich. Soll man da alles einfach, doppelt oder dreifach eintragen (zwei, vier, sechs oder acht Tags für eine simple Kilometertafel)?

Ich bin schon sehr lange der Meinung, daß wir mit seamark-Tags und Freie Tonne mindestens zu einen sehr großen Teil ein Doppeltagging haben, was in meinen Augen eigentlich unnötig ist…

In meinen Augen müsste/könnte man beides vereinheitlichen… Aber wie war das mit dem Kind und dem Brunnen :expressionless:

Sven

Ja, das vierte Taggingschema ist mir auch schon untergekommen. Hier mal eine Darstellung der örtlichen Verwendung in Mitteleuropa unter Berücksichtigung der Kombinationen (Datenstand: 14.8.2019).

Ich würde daher als Mapper ein Objekt nicht doppelt oder dreifach für jedes mögliche Schema mappen, sondern mich für EIN dokumentiertes Taggingschema entscheiden.

Wenn jemand eine Karte oder Anwendung für Flusskilometer erstellen möchte und möglichst viel aus den OSM-Daten herausholen möchte, so muss er sich als Auswerter mit den verschiedenen Taggingschemas befassen und auswerten.

Bei OSM gibt es halt oft nicht EIN richtig und alles andere ist falsch, sondern oft mehrere richtige Schemas (Analogien zu einer Wanderwegkarte: path, footway, steps, cycleway&foot=yes|designated|official …)

Edit: Schreibfehler im Bild korrigiert waterway=sign => waterway:sign=kilometer

Schönes Bild. Hast du das selber gemacht? Ich verstehe es aber nicht ganz: waterway:sign=kilometer (im Bild “waterway=sign”?) wird bei der Elbe oberhalb Hamburgs bis kurz vor Dresden, beim Elbe-Seitenkanal und beim Mittellandkanal verwendet. Laut Bild findet sich waterway:sign=kilometer aber nur beim Elbe-Seitenkanal (schwarz); Elbe und Mittelandkanal sind hellgelb und grau (seamark ohne/mit river:waterway_distance). Liegt das daran, dass die relevanten nodes häufig paarweise auftreten (am Ufer / im Fluss), diese nach unterschiedlichen Verfahren getaggt sind und im Bild der eine Punkt den anderen überdeckt? An der Elbe wird am Ufer mit waterway:sign und im Fluss mit seamark (ohne/mit river:waterway_distance) getaggt. Im Bild finden sich nur die letzteren.

river:waterway_distance würde ich nicht als eigenständiges Tagging-Schema sehen. Es dient allgemein als sinnvolle Positionsangabe für irgendwelche Dinge im/am Fluss (Brücke, Wehr, Anlegestelle, Kilometertafel, …), ist also nur eine Ergänzung. Etwas anderes ist das (zweifelhafte) Tagging mit river:category_distance für Kilometertafeln.

Ja, selbst gemacht, aber mit einfachen Mitteln (Overpass, Josm mit eigenem mapcss-Style als “Renderer”, einem NaturalEarth/OSM-Hintergrund aus einem anderen internen Kartenprojekt und Beschriftung per Inkscape)

Ja, wenn die Knoten nahe beieinanderliegen (bei einer Mitteleuropaansicht liegt so ziemlich alles zwischen einem Ufer nah beieinander) überdecken sich die Farben und man sieht nur die zuletzt gezeichnete Farbe. Würde man reinzoomen, sähe man die einzelnen Knoten:

Ja, waterway:sign=kilometer war hier gemeint. Hab die Beschriftung im Bild von #14 korrigiert.

Um etwas Platz bei der Beschriftung zu sparen, hatte ich die Namen, der bisher vier, hier erwähnten Schemas, etwas abgekürzt (Name auf dem Bild (Farbe)=> “Dahinterliegende Datenabfrage”):

  • seamark (gelb) => “seamark:type=distance_mark&seamark:distance_mark:distance=*”
  • waterway=milestone (rot) => “waterway=milestone&distance=*”
  • waterway:sign=kilometer (schwarz) => “waterway:sign=kilometer&waterway:kilometer=" oder "waterway:sign=kilometer&name=
  • river:waterway_distance (grün) => “waterway=river&river:waterway_distance=*”

Grüße
Andreas

Ich habe mal auf meiner ersten Kanukarte osmlayer.bplaced.net/canoeLayer die Anzeige von Flusskilometern eingebaut.

Ausgewertet werden vier Taggingschemas: “waterway=milestone&distance”, “seamark:type=‘distance_mark’&seamark:distance_mark:distance”, “waterway:sign=‘kilometer’&waterway:kilometer” und “waterway=river&river:waterway_distance”.

Edit: Bild zum Link hinzugefügt

moin, vor einiger zeit hatten wir (mehr als nebendiskussion) an anderer stelle das thema “kilometrierung” von gewässern.
oberflächlich sehe ich jetzt hier die gefahr einer starken diskrepanz der offiziellen/amtlichen kilometrierung mit einer OSM-kilometrierung.
das geht schon mal mit der wahl des nullpunktes los…

zum einlesen, auch im hinblick auf die unterscheidung kilometrierung vs. stationierung:

https://de.wikipedia.org/wiki/Kilometrierung#Fließgewässer

Moin zusammen,
ich kann in JOSM sehen, dass die Kilometrierung des Rheins im Bereich der Stadt Köln vorhanden ist. Dennoch sind die Marker in der Karte (Mapnik und Standard) nicht zu sehen. Welche Option habe ich, die Kilometrierung als Punkt inkl. der Zahl sichtbar zu machen. Denn das gehört in eine gute Karte eigentlich rein.

Die Frage nach der amtlichen Kilometrierung stellt sich hier nicht, da die Inhalte mit der Karte der Stadt Köln verglichen wurden und passen.

Gruß
Zyggy

Keine direkte. Du müsstest einen Issue für die osm.org Karte erstellen, wo du diese Möglichkeit forderst. Jedoch kann ich dir schon jetzt sagen, das es das nicht geben wird, da zuwenig verwendet.