Wasserlauf zusammenfügen: Relation oder alle Teile taggen?

Hallo,

in meiner Gegend wurden Wasserläufe an Straßen und Ähnlichem unterbrochen gemapped. Ich würde das gerne korrigieren, bin aber unsicher, wie ich vorgehe: sollte ich die fehlenden Brücken oder Unterquerungen eintragen und dann für jedes Teilstück des Wasserlaufs die richtigen Tags (waterway, name, destination, […]) eintragen, oder sollte ich eine Relation mit den richtigen Tags erstellen und alle Teilstücke dieser hinzufügen? Konkret geht es erstmal um https://www.openstreetmap.org/way/312186477 und dessen Fortführungen west- und östlich (wobei selbst die vorhandenen Tags und teilweise gar die Fließrichtung falsch ist, aber das würde ich im Zuge meiner Änderungen ja korrigieren).

Zusatzfrage: am westlichen Ende des Teilstücks ist eine Brücke, diese ist offiziell als Grenze ausgeschildert, der Grenzverlauf in der Datenbank ist in dem Bereich aber offensichtlich südlich des Grenzflusses – sollte ich das korrigieren, oder muss ich davon ausgehen, dass der, der die Grenze eingezeichnet hat, es besser wusste?

Hei,

“unter” den Straßen gehört ein kurzes Gewässerstück mit zusätzlich tunnel=yes|culvert sowie layer=-1

Ansonsten kann man Wasserwege recht gut mit OSMI: Ebene Water prüfen. In dem von dir gezeigten Beispiel würde ich auch davon ausgehen, daß in die Löcknitz entwässert wird, jetzt also Fließrichtung verkehrt ist. Diese Gewässerabschnitte kann man dann in eine Relation packen… Ich habs bei mir im Spreewald aber nicht für jeden Graben gemacht.

Ich sehe immer zu, daß Gewässerläufe in OSM möglichst durchgängig sind, wenn sie es in Realität auch sind, egal ob oberirdisch oder unterirdisch.

Sven

Ja, die Karwe fließt westlich in die Löcknitz. Mir geht’s halt darum, dass ich nicht recht weiß, wie ich die eingefügten Teilstücke nachher zu einem Ganzen bekomme – ich bin ja noch Anfänger. Der erste Impuls war halt, jedes einzelne Objekt, das zur Karwe gehört (also die hinzuzufügenden Unterführungen und die Verbindungen unter Brücken und die Teilstücke) entsprechend gleich zu taggen: waterway=stream, name=Karwe, destination=Löcknitz (und ggf. layer=-1 bei unterirdischen Abschnitten unter Straßen), aber das würde ja unterm Strich eine erhebliche Redundanz in der DB bedeuten, und mir als Hobbyprogrammierer missfällt sowas.

Beim Suchen bin ich auf http://wiki.openstreetmap.org/wiki/DE:Relation:waterway gestoßen, das scheint mir das Richtige zu sein, allerdings bin ich noch nicht ganz sicher, ob ich es tatsächlich hernehmen sollte, und wie’s korrekt gemacht wird (wenn ich die Tags in der Relation hinterlege, welche Tags müssen dann die Objekte bekommen? Von meinem Gefühl her eigentlich nur noch layer=* (wenn ≠0) und die Info, dass sie zur Relation „Karwe“ gehören – zumindest würde ich das so machen (alles andere stünde dann ja in der Relation), aber ist das hier auch so gedacht?)

Laut Wiki sollen die einzelnen Mitglieder mit waterway=* getaggt sein. Das waterway=* in der Relation bildet nur den „größten“ Wert des gesamten Wasserlaufs ab. Und in allen Beispielen, die ich gefunden habe, sind die Mitglieder auch mit name=* getaggt. Was ich redundant finde – andererseits: Werden Wasserläufe, deren Name nur in der Relation steht, in Mapnik beschriftet? (Mir ist klar, für wen wir niemals nicht auf gar keinen Fall mappen, aber eine Karte mit unbeschrifteten Flüssen geht auch gar nicht!)

–ks

Mappen so einfach wie möglich. Nicht alle sind erfahrene Anfänger. Kompliziert wird es von alleine - siehe z.B. indoor und level:

Die einzelnen Teilstücke müssen so und so erfasst werden. Wenn ich diese in einer Relation verpacke und ein anderer Mapper baut eine Unterführung ein, fehlt diese eventuell in Relation, weil er diese nicht berücksichtigt hat. Das einzige was ich spare ist das name=* an jedem Teilstück. Und bei kleinen Bächen, Flüssen ist eine Relation m.E. erst recht nicht notwendig. Bedenke dann auch Bojen, Anlegestellen, Ankerverbote, …

waterway=12.639.205 <-> waterway (relation)=18.366
http://taginfo.openstreetmap.org/search?q=waterway#keys

Okay, dann werde ich den Wasserlauf mal vervollständigen, jedes Teilstück komplett taggen und schauen, was der Renderer wohl draus macht. Wenn er dann an jedes eingefügte Stück unter Straßen den Namen dranmalt, ist’s auch doof – dann werde ich nochmal schauen müssen.

Nein, bei so kurzen Stücken wie die “tunnel=culvert” unter den Straßen wird nach meiner Beobachtung auf Karten kein Name angezeigt. Bitte denk auch daran, bei diesen Stücken unter der Straße “layer=-1” mit hinzuzufügen.

Hei…
zusätzlich sollte man dann auch auf Geometriefehler achten: z.B. http://keepright.ipax.at/report_map.php?zoom=12&lat=53.22419&lon=11.75007&layers=B0T&ch=0%2C40%2C191%2C192%2C193%2C194%2C195%2C196%2C197%2C198%2C201%2C202%2C203%2C204%2C205%2C206%2C207%2C208&show_ign=1&show_tmpign=1

Sven

Oha, da gibt’s ja ne Menge gedoppelte Waterways. Hochladeunfall?

–ks

Hallo,

Es ist korrekt, dass Flüsse in Brückennähe aufgeteilt werden.

Eine Relation ist nicht dazu da, Tags die für mehrere Objekte gleich sind, an die Relation zu übertragen und ihre Mitglieder dann tag-los zu lassen. Relationen sind keine Kategorien. https://wiki.openstreetmap.org/wiki/DE:Relationen/Relationen_sind_keine_Kategorien

Es ist sowohl für Mapper als auch für Datennutzer einfacher, die Ways zu taggen, als mit Relationen zu arbeiten. Um den gesamten Flusslauf zu erhalten, muss man nur eine Datenbankabfrage nach waterway=river (ggf. auch noch stream für die ersten paar Kilometer) und name=NAME stellen, um dann den gesamten Flusslauf zu erhalten. Die Datenbank kann sowohl eine PostGIS-Datenbank als auch eine Overpass-API-Instanz sein.

Wenn du keine Ahnung von administrativen Grenzen in OSM hast, lässt du, so böse/hochnäsig das klingen mag, am besten die Finger davon. Grenzen, die entlang/durch Flüsse verlaufen sind nicht immer an den Flusslauf gebunden, sondern oft auch fest über Koordinaten definiert, während der Fluss hin und wieder seinen Lauf ändert.

Viele Grüße

Michael

Hm. Relationen sind (auch) dazu da, Gesamtheiten abzubilden. Ich sehe hier keine Kategorisierung nur inhaltlich zusammenhängender Objekte (das wäre bei einer Kategorie „Flüsse in Meckpomm“ der Fall). Man kann durchaus auf dem Standpunkt stehen, daß die hundert Flußmeter zwischen zwei tunnel=culvert keinen eigenen Namen haben und erst die Gesamtheit aller -zig waterways im Verlauf den Fluß ergibt, der dann auch den Namen trägt. Dann ist es gerechtfertigt, das name=* nur an die Flußrelation zu setzen.

–ks

Die Beschreibung von http://wiki.openstreetmap.org/wiki/DE:Relation:waterway lässt halt auch eine andere Interpretation zu, deswegen war ich mir nicht sicher und habe nachgefragt. Für eine Datenbankabfrage wäre eine Relation eher noch von Vorteil, der Query wäre dann „Such’ mir alle Objekte, die zur Relation mit der ID X gehören“.

Aus den Antworten hat sich herauskristallisiert, dass die Methode, alle Teilstücke zu taggen, bevorzugt wird – also werde ich das so machen.

Was die Grenze angeht, bin ich noch unsicherer, auch deswegen habe ich nachgefragt. Wo ich mir allerdings sicher bin: die Brücke ist als Grenze ausgeschildert (bei Bedarf halte ich das gerne im Bild fest) und in sämtlichen anderen Karten verläuft die Grenze in diesem Bereich deckungsgleich mit der Karwe. Wobei die in den letzten Jahren renaturiert/saniert worden ist, möglicherweise ist ihr Verlauf tatsächlich geändert worden. Ich werde das nachher mal vor Ort prüfen.

Danke für alle Antworten, soweit :slight_smile:

Moin,

Die OSM-Grenze stammt aus dem Kreisgrenzen-Import - der ist nicht 100 % korrekt.
Die Geodatenzentrum-Grenzen sind generalisiert - die sind nicht 100 % korrekt. (*)
Der Standort von Schildern ist nicht zwingend lagerichtig - also nicht 100 % korrekt.
Die Lage des Flusses (Luftbild) - ist nicht 100 %ig korrekt.

Du musst also selbst entscheiden, ob Du es besser weißt. :wink:
Und kannst nur darauf hoffen, das solche Daten irgendwann mal verfügbar werden.

Grüße, Georg
(*) Nur gucken - nicht anfassen! :wink:

Wofür ist dann die Waterway-Relation gut? Ich hätte ein Interesse daran die Wiki-Seite aufzupimpen.

Ich würde sagen bei Länder übergreifende Flüsse. Dort ist auch der name je nach Land unterschiedlich.

Weiter größere Flüsse, die meist auch in Ober - und Unter- oder noch mehr gegliedert sind.

Man müsste das einmal bei OpenSeaMap fragen - die arbeiten ja mit den Flüssen - Seezeichen, Routing, …

Habe gerade im Tharandter Wald gesehen, das Bäche und Wasserläufe gelöscht und neu als Relation eingetragen wurde …

Habe Kommentare an die CS geschrieben. Schade das durch solche Aktionen die Historien in OSM verloren gehen.

Gemerkt über Fehlermeldungen keep_right:

http://keepright.ipax.at/report_map.php?schema=101&error=78138078&zoom=16&lat=50.96111&lon=13.51881&layers=B0T&ch=0%2C30%2C40%2C50%2C70%2C90%2C100%2C110%2C120%2C130%2C150%2C160%2C180%2C191%2C192%2C193%2C194%2C195%2C196%2C197%2C198%2C201%2C202%2C203%2C204%2C205%2C206%2C207%2C208%2C210%2C220%2C231%2C232%2C270%2C281%2C282%2C283%2C284%2C285%2C291%2C292%2C293%2C294%2C311%2C312%2C313%2C320%2C350%2C370%2C380%2C401%2C402%2C411&show_ign=1&show_tmpign=1

oder Martin Kompf und seiner Flussgebiete Mitteleuropas Karte. Er hat dort ja im Großen und Ganzen beschrieben wie er es umgesetzt hat und welche Probleme es gab

@OP: Die Straßen in einer Stadt mit ihren verschiedenen Schnipseln mit sidewalk=yes/both/no, verschiedenen maxspeeds, surfeace=, smoothness, turnlanes und allem möglichen anderen werden auch nicht in eine Relation mit einem Name gepackt. Weshalb sollte man bei Gewässern anders verfahren?

Bescheidener Einwand: Wenn eine Brücke mit layer=1 vorhanden ist, weshalb dann noch am Fluss herumschnippeln?

Das wüsste ich auch gern. :slight_smile:

Gerade in diesem Fall wäre eine Relation kontraproduktiv. name= kann man nur einmal vergeben – oder schreibt man an die Relation dann name=Isonzo;Soça? name:xy= existiert und kann an jedem Flussteilstückchen verwendet werden.

Auch hier sehe ich den Sinn nicht. Erstellt man dann Teilrelationen für jeden Abschnitt?

Sowas ist ja mindestens grober Unfug. Aufgefallen ist mir das noch nicht, ich werde mir das die Tage mal anschauen, sobald ich Zeit dazu finde.
[Nachtrag]@geri-oc: Die Behauptung hat wenig Gehalt. In den zwei relevanten Changesets (38906948, 38969194) fand ich insgesamt 8 gelöschte Wege, von denen zwei Waldwege waren. Die “Löschungen” resultierten offensichtlich aus dem Vereinigen von Wegen. Wo sinnvoll, habe ich das Gelöschte wiederhergestellt (siehe auch den Changesetkommentar)
[/Nachtrag]

@Harald Hartmann: Bei der rivermap wird das Wort Reaktion “Relation” interessanterweise gar nicht erwähnt. :slight_smile:

Ich möchte mal eine Lanze für die Waterway-Relationen brechen. Ich halte diese für sehr sinnvoll und hilfreich.
Mein Ansatz und Blickwinkel ist dabei nicht der eines Datenbank-Kenners oder erfahrenen OSM-Mappers, dem verschiedene Tools zum Umgang mit OSM-Daten und -Karten vertraut sind, sondern derjenige eines einfachen und erstmal begeisterten OSM-(Neu)nutzers.
Als solcher habe ich mich vor zwei bis drei Jahren OSM genähert und von dieser Art soll es hunderttausende geben.

Und was tut ein solcher OSM-Nutzer, wenn er (oder sie) einen Fluss/Bach sucht?
Er rufe www.openstreetmaps.org auf und sucht nach einem Fluss/Bach.
Hab ich 2014 gemacht, der Bach floss damals genau vor meiner Haustür entlang.

Bsp.: Öschenbach

Da findet man (über Nomatim):
http://www.openstreetmap.org/way/297174324
http://www.openstreetmap.org/way/297174333

… und wenn man auf weitere Ergebnisse klickt, auch noch:
http://www.openstreetmap.org/way/193209736
http://www.openstreetmap.org/way/349747634

Das sind aber gerade mal vier von insgesamt 33 Teilstücken (Linien), die zum Öschenbach gehören und mit diesem Namen getaggt sind. Das man da Schleunigst etliche Linien zusammenfügen sollte, steht außer Frage. Aber dass ist ein anderer Blickwinkel, der des Mappers.
Der “unschuldige” OSM-Nutzer sieht die 2-4 kleinen Stücke und fragt sich (nachdem er sich alle angeschaut hat), was er damit soll.
Er weiß nicht einmal, ob diese Teilstücke wirklich zu einem Bach gehören, zumal die sichtbaren Teilstücke zu verschiedenen Gemeinden gehören (mal davon abgesehen, dass in der Schweiz im Oberaargau, Kanton Bern auch einen Bach mit dem Namen Öschenbach gibt, der aber in OSM unter Öschebach zu finden ist und wahrscheinlich ganz falsch gemappt ist).

Im schlimmsten Fall wendet sich dieser Benutzer dann ab und sagt sich: “Dafür kann man OSM einfach (noch) nicht gebrauchen”.

Ein Fluss besteht in der Regel - auch wenn er nicht so “zerhackt” ist, wie der Öschenbach - aus einer ganzen Menge einzelner kleiner “ways”. Zum Teil weil “culverts” extra gemappt wurden, zum Teil weil die einzelnen Linien sonst einfach zu lang werden (mehr als 2000 Nodes sollten einzelne ways ja nicht haben), zum Teil aber auch aufgrund der Historie des Mappens.

Wenn es eine Relation geben würde, würde ein auch ein unerfahrener OSM-Nutzer den ganzen Fluss/Bach finden.

Bsp: Wiesaz

Nach diesem Nachbarbach (ich finde, es ist ein Fluss, das ist hier aber egal) des Öschenbaches sucht man und findet einen Eintrag unter Nomatim.

http://www.openstreetmap.org/relation/5448684
Draufgeklickt und der ganze Fluss ist da, von der Quelle bis zur Mündung.
In diesem Beispiel redaktionell bearbeitet vom großen Waterway-Relation-Meister Werner2101

Mit anderen Worten:
Ich halte die Waterway-Relation für sehr sinnvoll!
Mehr davon!

Ich freue mich auf eine fruchtbare Diskussion.

Ukundji

Ich sehe nicht, weshalb ein Mapper meinen sollte, dass verschiedene Teilstücke von Objekten vereinigt werden sollten.

Wofür genau ist OSM nicht zu gebrauchen?

Wenn der unschuldige Nutzer auf eins der Ergebnisse klickt (höchstwahrscheinlich auf das vor seiner Haustür), sieht er auf der Karte, dass der blaue Bach auch links und rechts des rot markierten Stückchens weitergeht.

Genauer: Die API erlaubt schlicht keine Elemente mit mehr als 2000 Nodes.

Meiner Meinung nach würde dein unerfahrener, unschuldiger Nutzer nicht in den Daten wühlen, sondern die Daten auf der OSM-Karte anschauen. Und dort wird jedes der Bachsegmente als Bach dargestellt.
Also sieht der Nutzer den Bach, also ist er zufrieden und glücklich.

Man kann komplette Wasserwege/Objekte auch ohne Relation darstellen. Das funktioniert bei Wikipedia ganz gut, die dafür auf OSM-Daten zurückgreifen. Hier als Beispiel die Flöha, die ohne Relation gemappt ist.
In der bei Wikipedia üblichen Darreichungsform hat man den Artikel zum Fluss. Die Karte mit dem hervorgehobenen Objekt bekommt zu sehen, wenn man oben rechts auf das kleine OSM-Logo klickt.

Mit anderen Worten: diese Art der Aufbereitung von OSM-Daten ist sehr endbenutzerfreundlich!
Wir brauchen mehr von den Programmierern, die die OSM-Daten so aufbereiten!

PS:
Was mich wundert: Dass du nicht auch Straßen in deinen Text mit einbeziehst. Schließlich besteht z.B. die Reutlinger Straße in Öschingen auf gerade mal einem Kilometer aus sieben verschiedenen Teilstückchen! Relationen für Straßen, jetzt!11
:wink: