Wasserlauf wird teilweise verdeckt

Bei dem Versuch, die vor Ort gemeldeten Kartenfehler dank eigener Ortskenntnis zu beheben, bin ich auf eine für mich als Anfänger zu harte Nuss gestoßen.

Es geht um den folgenden Kartenausschnitt: https://www.openstreetmap.org/note/new#map=18/51.43775/7.79697

Dort findet man noch zwei nicht behobene Kartenfehler (“Glockenteichbach nicht sichtbar …”).

Es handelt sich um einen kleinen Bach, der zur Aufhübschung des Stadtbilds meist durch eine flache Rinne geführt wird. An einzelnen Stellen wird er unterirdisch geführt, was aber schon richtig als tunnel: culvert und layer= -1 erfasst wurde.

Im Bereich des Kirchplatzes, des Marktplatzes und der Bahnhofstraße (also in Bereichen, wo diese bereits von einem anderen Mapper als Fläche erfasst worden waren), wird der Bach nicht gerendert bzw. es werden die Straßenflächen darüberprojeziert.

Ich hatte schon mit layer-Angaben rumexperimentiert, was aber nichts geholfen hat. Auch ford=yes hat nur ein schönes Icon hervorgebracht.

Mir ist bekannt, dass nicht für den Renderer getaggt werden soll, aber offensichtlich ist hier irgendetwas falsch getaggt, so dass es deshalb falsch bzw. gar nicht gerendert wird (Ursache <—> Wirkung).

Ich möchte jetzt (bitte in kleinen, für Anfänger verdaulichen Häppchen)

  1. verstehen, warum das so ist und
  2. erfahren, wie ich das sinnvoll und regelkonform beheben kann.

Nö, es ist richtig eingetragen wird aber falsch gerendert. Dass Dinge eigenartig gerendert werden ist zwar ein Hinweis darauf, dass irgendwas falsch eingetragen wurde, aber keinesfalls ein Beweis dafür.

Der Kartenstil berücksichtigt gelegentlich das “übereinanderliegen” von Objekten (Strassentunnel z.B. oder Brücken), bei Verkehrsflächen ist er aber ein bisschen eigen. Die sind immer ganz oben, da hilft auch kein layer=*. Das ist so, weil… ganz grob: Man hat im Stil nur ein paar Ebenen, die man übereinanderlegt und muss sich entscheiden, was “ganz oben” gemalt wird und das andere Zeug überdeckt. Ziemlich weit unten liegen z.B. die Wiesen und Wälder, drüber dann die Häuser und ganz oben die Verkehrswege. Würde man es anders machen, würde ein Wald einen Weg übermalen. Bäche liegen auch recht weit unten, Fussgängerzonen liegen drüber.

Könnte man natürlich ändern, indem man z.B. Bäche “über” Straßen malt, aber das würde an anderen Stellen merkwürdig aussehen. Man könnte auch Fussgängerzonen transparent malen, damit der Bach durchscheint, aber das könnte eigenartige Farben erzeugen… Irgendwas ist halt immer :wink:

Grüße
Max

Ich habe dazu auf GitHub dieses Issue eröffnet: https://github.com/gravitystorm/openstreetmap-carto/issues/2958

PS: Ist es richtig, dass die Wege südöstlich der Kirche über/durch die Gebäude (z.B. Musikschule) verlaufen?

Dass der Renderer Wasserläufe auf Verkehrsflächen nicht darstellt, liegt in seinen Regeln – Wasserläufe werden von Verkehrswegen fast immer vollständig verdeckt, z.B. ist bei richtigen Furten mit einer nur als Linie gemappten Straße auch die Straße „drüber“ dargestellt. Da fällt es dann nur nicht so auf. Das ist aber Absicht des Renderers: Damit Verkehrswege gut erkennbar bleiben, werden sie von fast nichts überdeckt, nur von wegerelevanten Hindernissen (barrier=*) und von laut layer darüberliegenden anderen Wegen. Ein drüberlaufender Wasserweg (bridge=aqueduct) wäre sichtbar, aber darum geht es hier ja nicht.

Das gilt übrigens auch für Gebäude. Zum Beispiel wenn man um das Gebäude einer Tankstelle die befestigte Fläche als highway=service+area=yes mappt. Schwupps ist das Gebäude in osm-carto unter einer Schneedecke verschwunden :slight_smile: das lässt sich dann nur mit einem Multipolygon vermeiden. Auch mit layer=5 am Gebäude und layer=-5 an der highway-Fläche könntest du da kein „Drüber-Rendern“ erzwingen. Es geht in OSM nun mal nicht darum, eine Karte zu malen, sondern darum, reale Verhältnisse in einer Geodatenbank abzubilden, egal was der Renderer draus macht.

Ein Renderer muss sich entscheiden, was er darstellt, alles geht nicht. Und da sind für unseren „Hauptrenderer“ (das ist ja nicht die OSM-Karte, sondern eine unter Tausenden!) Straßen am wichtigsten.

–ks

Nun im Grunde arbeiten wir halt mit kulturellen Erwartungen. Und in der westlichen Welt ist es eher normal, dass Strassen “solide” sind und eine monopolartige Nutzungsform darstellen.

Kurz und gut: Wie Du das Problem löst ist im Grunde ganz einfach: Der durchgehende Kirchplatz muss halt einfach an den Ufern des Baches in zwei Flächen geteilt werden. Ist ja wahrscheinlich auch in der Praxis so, dass der Bach als Strukturierungselement verwendet wird.

Die Verkehrskarte stellt den Wasserlauf vollständig dar, die Radfahrerkarte zumindest auf dem living-street-Bereich.

Aber toc-rox hat recht, die Wege im Südosten des Platzes könnten eine Überarbeitung verkraften. http://osm.org/way/314780351 wird sogar von einer living_street geschnitten. Wenn Wege tatsächlich durch Gebäude hindurchlaufen, bekommen sie dort ein tunnel=building_passage.

–ks

Na bravo! Und jetzt nehmen wir mal an, dass Router in naher Zukunft sinnvollerweise lernen, dass man über Flächen frei routen kann und keinen Linien folgen muss – wie brächtest du ihnen dann mit deiner Lösung bei, dass der Bach hier an beliebigen Stellen überschritten werden, also von Platz 1 auf Platz 2 gewechselt werden kann?

Wenn der Bach wirklich aus einem Platz zwei Plätze macht, ist dein Vorschlag sinnvoll und richtig. Wenn es aber, wovon ich ausgehe, ein durchgehender Platz ist, durch den der Bach gluckert, ohne ihn jedoch als Verkehrsfläche zu zerschneiden, dann ist dein Vorschlag reines Mapping für den Renderer. Weil es anderen Auswertern, z.B. Routern, falscherweise zwei separate, nicht miteinander verbundene Plätze vorgaukelt, wo nur ein Gesamtplatz da ist.

Die einzig richtige Lösung ist: Renderern beibringen, dass Wasserläufe auf hw=living_street und hw=pedestrian_area gerendert werden sollen. Die Verkehrskarte zeigt ja, dass es geht :slight_smile:

–ks

Genau das ist der Kardinalfehler von osm-carto. Die layer-Information die vom Mapper mit konkreter Intension getaggt wurde, wird in vielen Fällen ignoriert. Vielmehr müßte es so sein, dass ein Weg der mit “layer=2” erfaßt wurde, immer über alle Objekte mit “layer<2” gezeichnet wird. Oder anders ausgedrückt: Insgesamt braucht man zum Rendern einer Karte 11 Durchläufe. Zunächst alles mit layer=-5, dann alles mit layer=-4 bis man dann am Ende bei layer=5 ankommt.

Edit: Es sind 11 Durchläufe und nicht 10. Der layer=0 bzw. “kein layer angegeben” ist ja mitzuzählen.

Ich kann mir einen Bach nicht recht vorstellen. Bei Regen ist er bestimmt voll und kann nicht einfach (mit Rollator) überquert werden. Außerdem dürfte ein Router nicht über den Bach routen.

Habe ein Bild gefunden:
http://d1mquhhbkq1b1r.cloudfront.net/2014/09/15/2560610_preview.jpg?1410806571

http://www.lokalkompass.de/themen/glockenteichbach-menden+kirchplatz-stvincenz.html/action/page/2/

Das ist m.E. eine künstlerisch Gestaltung eine Wasserrinne - liegt außerdem im Park.

Naklar ist das eine Fokusfrage. Ich bin natürlich davon ausgegangen, dass es in der Stadt der Spezialfall ist, das man Wasser überqueren kann.

Viele modische Schuhe lösen sich auf, auf dem Rennrad wird man nass, Elektrorollstühle kriegen die Krise und Gehgehinderte erleben das vermutlich auch recht schnell als Hinderniss…

Daher halte ich meinen Ansatz zu behaupten, dass es zwei getrennte Flächen sind, die nur für bestimmte Nutzer eine sind, für nicht abwägig.

Auf Kreuzschnabels Frage, wie ich dem Router beibringe, dass man den Bach mit gewissen Vorraussetzungen überall überqueren kann, antworte ich mal mit ner Gegenfrage: Woher weis der Router das denn bei Strassen? Über gewisse Strassenkategorien geht man besser nicht an beliebiger Stelle rüber

Spontan würde ich meinen, dass die ganze Strecke eine Furt ist, da sie ja so angelegt wurde dass das Queren möglich ist.

Ist waterway=ditch in diesem Fall richtig. Ich halte “Entwässerungsgraben” hier für falsch. Wäre da canal nicht passender ?
Vielleicht wird canal ja korrekt gerendert ?

Auf dem Markplatz in Biberach an der Riß gibt es auch so einen teilweise offen verlaufenden “Bach”.
Dafür wurde zusätzlich eine waterway=riverbank eingezeichnet und als inner aus dem Fußgängerzone-MP ausgeschnitten:
https://www.openstreetmap.org/?mlat=48.09810&mlon=9.78836#map=19/48.09810/9.78836

Grüße aus Oberschwaben

Ich habe auch nicht gesagt, dass es abwegig ist, sondern ich habe eine Unterscheidung eingeführt. Ist es ein dekorativer Graben von ~30 cm Breite (so was kenne ich von vielen öffentlichen Plätzen), macht man sich die modischen Schuhe nicht mal nass. Ob man da radfahren darf, weiß ich nicht. Rollstühle sind freilich auf die tunnel-Abschnitte angewiesen. Ist es aber ein meterbreiter Graben, dann sind auch Fußgänger auf Brücken oder verrohrte Abschnitte angewiesen, die dann entsprechend zu erfassen sind.

Aber einfach die Fläche nur deshalb aufteilen, weil der Bachlauf dann in einem unter Dutzenden Renderings sichtbar ist, ist ohne genaue Kenntnis der Situation vor Ort für den Renderer gemappt. Denn sachlich richtig ist es nur dann, wenn es wirklich zwei Flächen sind, zwischen denen man nicht beliebig hin und her wechseln kann. Das war der Zweck meiner Frage.

Das ist aber wirklich OSM-Basiswissen. Sind Fußwege und Straßen baulich getrennt und daher separat gemappt, überquert er Straßen nur an Überwegen und Kreuzungen. Gehören die Fußwege baulich zur Straße und damit mit zum Way, gibt es aus Routersicht überhaupt nichts zu überqueren, da Straße und Fußweg für ihn eine Einheit sind; er kann jederzeit von rechts auf den Way stoßen und ihn nach links wieder verlassen. Dann ist es dem Anwender überlassen, wo er die Straße überquert. Deswegen ist es ja so wichtig, zur Straße gehörende Bürgersteige nicht als separaten Way zu mappen, sondern als sidewalk=* an den Straßen-Way zu taggen.

In meinem Einwand ging es um Flächen, das ist eine andere Baustelle. Noch routen die gängigen Router leider nicht frei über Flächen, sondern folgen dem Rand, weshalb dooferweise virtuelle Wege gemappt werden müssen. Aber falls sie es bald mal lernen, sollten wir ihnen nicht zwei separate Flächen zeigen, wo nur eine zusammenhängende ist. Das war mein Punkt.

–ks

Bitte nicht. waterway=canal ist ein künstlicher Schiffahrtsweg, lt. Wiki auch ein Hauptbewässerungskanal. Wird in so einem Fall jedenfalls absolut überbreit gerendert :slight_smile:

Ich würde „Entwässerungsgraben“ nicht so eng fassen. Ein Graben zur künstlichen Entwässerung ist eher ww=drain. ww=ditch ist für mich einfach ein kleiner künstlich angelegter, nicht unbedingt immer wasserführender Wasserlauf (kann auch ein Entlastungsgraben sein), das natürliche Pendant gleicher Größenordnung heißt ww=stream.

Laut https://wiki.openstreetmap.org/wiki/Tag:waterway%3Dcanal ist übrigens ww=drain/ditch auch für kleinere BEwässerungsgräben zu verwenden! Da ist die Wiki-Beschreibung von ww=ditch dann wirklich zu eng.

–ks

Ich habe leider nur die Wiki-Seite für waterway angeschaut und bin nicht tiefer eingestiegen. Daher meine “Fehlinterpretation”.

Was ist mit der Biberacher Lösung mit zusätzlichem waterway=riverbank und ausstanzen aus dem Fußgängerzone-MP ?

Grüße

Im Prinzip habe ich da dieselbe Frage wie ans Aufteilen der Flächen: Wird die Fußgängerzone da tatsächlich unterbrochen? Dann muss es Wege geben, das Hindernis zu überwinden, sonst kommt ein Router da nicht weiter. Wenn der Wasserlauf nur in die Zone eingebettet wurde, aber infolge seiner geringen Breite und/oder baulichen Ausgestaltung (z.B. Abdeckung mit Rosten) kein Hindernis für Fußgänger darstellt, halte ich es aus den genannten Gründen für falsch, weil jeder Router da ein unüberwindliches Hindernis sieht, wo gar keins ist.

Beißt euch nicht so am Rendering von osm-carto fest. Die Verkehrskarte auf der osm-Seite zeigt, dass es geht, es ist nur eine Frage der Gewichtung im Renderer. Ich finde es auch sinnvoll, waterway=ditch innerhalb von living_street- und pedestrian_area-Flächen zu rendern, aber davon müssen wir die carto-Maintainer überzeugen, statt Workarounds einzuführen, die zwar das gewünschte Rendering erzeugen, aber in anderen Anwendungen zu gravierenden Nachteilen führen.

–ks

Oha, da habe ich ja was losgetreten …

Aber ich halte mal als Zwischenstand fest:

1.) SEHR positiv: Es kam nicht der sonst in Foren für Anfängerfragen übliche Kommentar “SuFu bzw. Google sind dein Freund”, sondern vernünftige Antworten!
2.) Das Problem scheint tatsächlich nicht trivial zu sein - selbst die hier versammelten Spezialisten sind sich nicht spontan einig.
3.) Sobald es das Wetter erlaubt, werde ich die Situation zum besseren Verständnis mal fotografieren. Ich hoffe, man kann hier Bilder hochladen.
4.) Die Wege durch die Gebäude waren mir noch gar nicht aufgefallen. Aber der ganze Kirchplatz muss überarbeitet werden. Momentan wird dort aber der Platz umgestaltet, so möchte ich erst mal abwarten, was genau draus wird.

Danke schon mal für die rege und ernsthafte Auseinandersetzung mit meiner Frage!

Nein, kann man nicht :slight_smile: Tipp: Lad es auf pic-upload.de hoch, dann bekommst du eine Anzahl möglicher Links, nimm den zweiten davon (heißt „für Foren“ oder so) und setz ihn hier ein. Das wäre in der Tat sehr hilfreich :slight_smile:

Generell vielen Dank fürs Lostreten! Das meine ich ernst. So was muss immer wieder mal thematisiert werden, denn viel zu oft haben wir osm-carto (die „Hauptkarte“ auf osm.org) als einzigen oder maßgeblichen Auswerter im Hinterkopf. Das stimmt aber nicht, es gibt noch viele andere, denen keine Nachteile entstehen dürfen. Deshalb die ersten Antworten, dass der Bach völlig korrekt getaggt ist und nur aufgrund von Renderer-Regeln in diesem einen Rendering nicht dargestellt wird (in anderen wird er ja). Wenn man jetzt versucht, das zu umgehen, indem man Sachverhalte mappt, die gar nicht da sind, verschlechtert sich das Ergebnis unterm Strich. Das soll in OSM nicht passieren. In dem Fall, dass der Bach zwar vorhanden, aber überquerbar ist, dürfen in OSM keine zwei separaten, aus Sicht eines Routers (vulgo Navi) unverbundenen Flächen gemappt werden, obwohl das Rendering auf osm-carto dann „stimmt“.

–ks

Wenn Du in Biberach über die offengeführten Teilstücke des Stadtbaches drüber wolltest, solltest Du vorher Weitsprung üben und dann einen guten Anlauf nehmen. :slight_smile:

Grüße

O du lieb’s Herrgöttle. Dann halte ich das Aussparen für legitim :slight_smile:

–ks