[Gelöst]Josm Warnung: Zeichestil des inneren Weges

Hallo Allerseits

bei mir in der Nähe ist ein See der viele Inseln hat.
Jetzt habe ich die Inseln mit einem Multipolygon aus der Seefläche herausgenommen.
Wenn ich die Daten hochladen will kommt die Warnung:

Zeichenstil des inneren Weges’Krakower See (8 Knoten)’ entspricht dem Multipolygon. (1)

Diese Meldung kommt 7 mal. Für jede der Inseln einmal.
Was mache ich falsch?
http://www.openstreetmap.org/?lat=53.6137&lon=12.2909&zoom=14&layers=B000FTF

osmhowa

Teilweise sind die Insel noch als natural=water getaggt.

Die Inseln bestehen aus 2 Polygonen. Einmal als Wasser in der Rolle inner, einmal als Urwald ohne Mitgliedschaft in der Relation. Die Polygone, die derzeit in der Rolle inner sind, solltest du löschen und dafür die Wälder in die Rolle inner des Multipolygons übernehmen.

Die größte Insel im Krakower See (Südteil) ist wahrscheinlich unsauber gezeichnet. Am Nordrand dieser Insel sind die beiden Polygone nicht deckungsgleich. Hier solltest du darauf achten, dass die korrekte Form als einziges Polygon bestehen bleibt (als Wald).

Im Nordteil des Krakower Sees sind die Inseln noch nicht Bestandteil der Mulipolygon-Relation.

Sind die Wälder wirklich Urwälder? Ansonsten mit landuse=forest statt natural=wood beschreiben.

Die von dir angeführte Warnung kommt wahrscheinlich daher, dass du (oder ein anderer) Polygone als Wasser (Inseln im südlichen See) in ein Polygon als Wasser (Krakower See) gezeichnet hast. Diese doppelte Angabe ist widersprüchlich weil ja am selben Ort noch Wälder existieren.

Diese Verfahrensweise widerspricht der Aussage, dass die inneren Ränder mit den gleichen Eigenschaften wie der äußere Rand getaggt werden sollten.

Das war nur ein Experiment.

Die und auch die Inseln im Südteil waren/sind als landuse=land im layer 1 getaggt.
Das wollte ich verbessern.

Ja, ist alles Naturschutzgebiet. Kein Boot. Nicht mal Baden ist erlaubt.

Mit dem Wald hat das Problem nicht zu tun. Ich hab den erstmal wieder runter genommen. Die Warnung kommt trotzdem noch.

Wer hat noch Vorschläge was mit den Inseln und/oder dem See nicht richtig ist?

Das hilft.

Ich hatte meine falsche Vorgehensweise aus einem Screenplay übernommen, das offensichtlich überholt ist.
www.openstreetmap.de/download/screencasts/multipolygon-josm.ogv

Danke

Das Verfahren innere Polygone mit den selben Eigenschaften zu taggen wie die äußeren Polygone ist meiner Ansicht nach falsch. Die Eigenschaften des äußeren Polygons beschreiben den Inhalt des Multipolygons. Dessen Löcher wiederum werden von den Eigenschaften der inneren Polygone beschrieben. Die inneren Polygone können auch komplett ohne Eigenschaften verbleiben, wenn ihr Inhalt unbekannt ist und sie nur zur Darstellung von Löchern im äußeren Polygon gebraucht werden.
Die englische Seite im Wiki [1] und die deutsche [2] geben auch das von mir beschriebene Verfahren an.

Leider fehlte auf der deutschen Wiki-Seite bislang der Hinweis, dass Verfahren die im Video dargestellt sind obsolet sind.

Beim äußeren Polygon (Krakower See) ist die Angabe von type=multipolygon unnötig und wird ignoriert. Der Typ wird bei der Relation getaggt (dort ist es bereits richtig eingetragen). In der Relation ist allerdings die Beschreibung als natural=water unnötig, hier wird nur die Angabe des äußeren Polygons ausgewertet. Das Tagging der inneren Polygone mit type=multipolygon wird ebenfalls ignoriert.

Folgende Tag sollten gesetzt werden:
Das äußere Polygon bekommt: name=Krakower See; natural=water; Rolle outer in der Relation
Die inneren Polygone bekommen: natural=wood; Rolle inner in der Relation
Die Relation bekommt: type=multipolygon; note=Krakower See (wird vom Editor, nicht aber vom Render ausgewertet)

Falls ein einmal nötig werden sollte (beispielsweise Insel im Weiher im Wald…), lassen sich auch mehrere Multipolygone kombinieren. Das inner Polygon in einer Relation ist dann das äußere der anderen Relation.

Ich hoffe du nimmt meinen Text nicht zu sehr als Kritik auf. Das Arbeiten mit Multipolygonen kann Anfangs etwas konfus sein. Übrigens rendert die CycleMap Multipolygone nicht. Osmarender rendert innere Polygone erst ab Zoom=13 korrekt (davor werden als Wiese getaggte innere Polygone nur als Löcher gezeichnet). Mapnik funktioniert korrekt.

[1] http://wiki.openstreetmap.org/wiki/Multipolygon
[2] http://wiki.openstreetmap.org/wiki/DE:Relation:multipolygon

Kein Problem. So empfindlich bin ich nicht.

Kannst du dir den See nochmal ansehen?
Mapnik rendert die Inseln nicht.
Osmarender macht das ordentlich.

Gruß Ralf

Ich sehe keine Probleme mehr was das Tagging angeht.

Wahrscheinlich war meine Aussage falsch, dass das Rendering von Multipolygonen in Mapnik korrekt funktioniert. Zumindest ist es so, dass die Inseln bei Zoom-Level 11 oder kleiner mit Mapnik erscheinen und nur bei größeren Zoom-Levels fehlen.

Im Wald östlich des Sees werden die Lichtungen von Mapnik korrekt angezeigt. Der einzige Unterschied, der mit aufgefallen ist, ist dass die inneren Polygone gegen den Uhrzeigersinn drehen. Bei den Inseln verlaufen sie im Uhrzeigersinn. In den Wiki-Seiten zu Multipolygonen, die ich bereits angegeben hatte, wird auf Probleme mit dem Rendering bei gleichen Richtungen hingewiesen. Gleichzeitig wird aber auch klargestellt, dass die Richtung der Polygone keine Rolle spielen soll. Das heißt die Darstellung in Mapnik ist hier (meiner Meinung nach) fehlerhaft.

Laut einer Aussage in [1] sollte die Richtung beim Import der Daten für das Rendering aber angepasst werden. Die Richtung dürfte keine Rolle mehr spielen. Weil es aber danach aussieht, dass der Fehler im Rendering nicht vollständig behoben ist, habe ich mal einen Fehlerbericht [2] zu den nicht gezeichneten Inseln geschrieben. Solltest du den Fehler verfolgen wollen, dann kannst du dich ins dortige Cc setzen.

Man könnte die Richtung der Inseln zwar drehen und damit eine korrekte Darstellung der Inseln erzielen, allerdings halte ich dies für die falsche Vorgehensweise weil der Fehler im Render (Mapnik) damit kaschiert statt behoben würde.

[1] http://trac.openstreetmap.org/ticket/1113#comment:4
[2] http://trac.openstreetmap.org/ticket/2082