Im OSM- Wiki wird empfohlen im freien Kartenprojekt Openstreetmap möglichst geschlossene Uni-Polygonringe, (Kreise bestehend aus einer einzigen Linie) zu zeichnen.
Dieses Modell sei für Anfänger leichter verständlich, weiter wird nicht darauf eingegangen warum es diese Empfehlung gibt.
Ich versuche eine Erklärung.
Bei einer zu einem Kreis geschlossenen einzelnen Linie -die zum Beispiel einen Wald beschreibt-, ist klar welche Fläche innerhalb, und welche Flächen außerhalb des Waldes liegt. Dementsprechend einfach ist es für den Rendererer die innere Kreisfläche grün auszumalen.
Handelt es sich hierbei um einen Wald mit großen Ausmaßen, und ich Zoome auf eine im Wald befindliche Forsthütte, so benötigt der Renderer trotzdem die komplette Information des Äußeren Ringes damit der Wald richtig gezeichnet wird.
Bei einer Kreisform ist Innen und Außen ziemlich klar, nicht jedoch wenn die Kreisform wie bei Multipolygonen aus vielen einzelnen Teilstücken besteht.
Linien im Openstreetmap Projekt haben eine Richtung. Dreht man die Linien Richtung, zum Beispiel einer Einbahnstraße um, so erkennt dieses der Editor und ändert das Einbahn Attribut von oneway=1, auf oneway=-1.
Teilsegmente eines Multipolygons haben ebenfalls eine Richtung. Zusätzlich mit der Linienrichtung ist im OSM Datenmodell für uns unsichtbar das Attribut “Innen oder Außen” verknüpft. Dieses Attribut ist für den Renderer wichtig, damit dieser weiß wie er wie im Obigen Beispiel beschrieben, Flächen richtig Rendern (ausmalen) kann.
Soweit kein Problem.
Bearbeitet man nun von einem Großen Multipolygon nur ein kleines Teilsegment, so besteht die Gefahr dass, sofern im Editor nicht das gesamte Multipolygon geladen wurde, die Information “Innen” oder “Außen” bricht.
Zur Interpretation dieser Information sind alle Teile eines Polygons nötig.
(Andere GIS Datenmodelle kennen dieses OSM spezifische Problem nicht, da bei diesen, Innen und Außen an die Linienrichtung gekoppelt ist.)
Bei der Bearbeitung an Teilen eines Multipolygons ist es daher unabdingbar immer darauf zu Achten das komplette Polygon zu laden, und durch Sortieren der Polygon Teile die für den Renderer wichtige Information über Außen und Innenseite des Polygons zu aktualisieren. Bei großen Multipolygonen mit vielleicht mehreren Tausend Node´s, wird dadurch das Arbeiten an MP- Details zeitaufwendig. Eine Lösung ist hier das Vermeiden, oder verkleinern Großer Multipolygone.
Typische Fehlerbilder von Multipolygonen bei denen die “Außen/Innen” Information verloren gegangen ist: Entweder wird die Polygon Fläche gar nicht gerendert, oder bei gewissen Zoom Stufen einstehen Weiße Flecken in der Landkarte.
Bei Multipolygonen deren Formen stark von der Kreisform abweicht kommt es übrigens manchmal zu ähnlichen “Flecken” Effekten. Manche raten von einer weiteren Unterteilung von MP-Flächen ab, und sehen eine Lösung für dieses Problem, in künftigen Verbesserungen der Renderer.