DE:Relation:multipolygon

From OpenStreetMap Wiki
Jump to: navigation, search
Help
Verfügbare Sprachen
Deutsch English Español Français Italiano 日本語 Русский
multipolygon
Ein Beispiel für multipolygon
Beschreibung
Die Multipolygon Relation wird zur Darstellung von allen möglichen Flächen verwendet. Die Multipolygon Relation ist OpenStreetMaps Datentyp für Flächen.
Gruppe
Properties
Mitglieder Hilfe
  • Way - outer
  • Way - inner
Tagwatch Hilfe
Relationen vom Typ Multipolygon werden zur Darstellung von allen möglichen Flächen verwendet. Die Multipolygon Relation ist OpenStreetMaps Datentyp für Flächen.

Der Einfachheit halber können Flächen auch durch einen geschlossenen Weg versehen mit einem Tag, das eine Fläche nahelegt, dargestellt werden. Zum Beispiel wird ein geschlossener Weg mit dem Tag "landuse=forest" als Fläche interpretiert, nicht dagegen ein geschlossener Weg mit dem Tag "junction=roundabout". Dies ist jedoch nur bei einfachen Flächen möglich, deren Umriß aus einem einzigen Weg besteht und keine Löcher aufweist.

Für alle Flächen, die komplexer sind, ist die Multipolygon Relation erforderlich. Zum Beispiel wenn der Umriß aus mehreren Wegen zusammengesetzt ist, wenn die Fläche aus mehreren getrennten Wegen besteht oder wenn die Fläche Löcher hat. Für administrative Grenzen sollte ebenfalls type=multipolygon benutzt werden (und nicht type=boundary). Eine Grenzrelation kann eindeutig durch die Eigenschaft boundary=* identifiziert werden.

Eine Multipolygon Relation kann eine beliebige Anzahl von äußeren (Umriß) und eine beliebige Anzahl von inneren Wegen (Löcher) aufweisen und diese müssen gültige Ringe bilden.

Contents

Tags

Schlüssel Wert Erläuterung
type multipolygon Für die Mitglieder der Relation gelten flächenbildende Regeln.

Mitglieder

Weg oder Knoten Rolle Anzahl Erläuterung
Way outer eins oder mehr Die Wege, die den äußeren Ring oder die äußeren Ringe der Fläche bilden.
Way inner null oder mehr Die Wege, die den inneren Ring oder die inneren Ringe der Fläche bilden.
Way keine In den meisten Fällen kann eine Relation auch ohne Angabe der Rollen "innen" und "außen" richtig interpretiert werden. Es wird dennoch empfohlen, die Rollen anzugeben, um anderen Kartografen das Verständnis zu erleichtern.

Verwendung

Multipolygone werden folgendermaßen verwendet:

Beispiele

Ein Außen- und ein Innenring - jeweils vollständige Wege

Beim alten, vielfach genutzten Typ der Relation Multipolygon war nur ein Außenring und mehrere Innenringe gestattet und diese durften jeweils nur aus geschlossenen Wegen bestehen. Dieser Polygontyp war nicht ein richtiges mehrfaches Polygon sondern eher ein mehrfacher Weg. Er wird weiterhin unterstützt. Die Regeln sind jedoch gelockert, so dass dies lediglich ein Spezialfall der mehr allgemeinen Relation Multipolygon ist.
<relation id="1">
  <tag k="type" v="multipolygon" />
  <member type="way" id="1" role="outer" />
  <member type="way" id="2" role="inner" />
</relation>
Bild 1: Ein Außen- und ein Innenring

Ein Außen- und zwei Innenringe

<relation id="1">
  <tag k="type" v="multipolygon" />
  <member type="way" id="1" role="outer" />
  <member type="way" id="2" role="inner" />
  <member type="way" id="3" role="inner" />
</relation>
Bild 2: Ein Außen- und zwei Innenringe

Mehrere Wege bilden einen Ring

Beim komplexen Multipolygon kann jeder Außen- oder Innenring aus mehr als einem Weg bestehen. Dies ist für Multipolygone sinnvoll, die Flächen darstellen, welche nicht von einem einzigen Weg umschlossen werden können. Dies ist z.B. bei Grenz-Polygonen der Fall.
<relation id="1">
  <tag k="type" v="multipolygon" />
  <member type="way" id="1" role="outer" />
  <member type="way" id="2" role="outer" />
  <member type="way" id="3" role="inner" />
</relation>
Bild 3: Mehrere Wege bilden einen Ring

Zwei getrennte äußere Ringe

Bei der komplexen Relation Multipolygon ist eine beliebige Anzahl äußerer Ringe gestattet. Sie ist somit ein echtes Multipolygon.
<relation id="1">
  <tag k="type" v="multipolygon" />
  <member type="way" id="1" role="outer" />
  <member type="way" id="2" role="outer" />
</relation>
Bild 4: Zwei getrennte äußere Ringe

Getrennte äußere Ringe und innerer Ring aus mehreren Wegen

Auch innere Ringe können aus mehreren Wegen bestehen.
<relation id="1">
  <tag k="type" v="multipolygon" />
  <member type="way" id="1" role="outer" />
  <member type="way" id="2" role="inner" />
  <member type="way" id="3" role="inner" />
  <member type="way" id="4" role="outer" />
  <member type="way" id="5" role="inner" />
</relation>
Bild 5: Getrennte äußere Ringe, innere Ringe aus ein oder mehreren Wegen

Komplexe Kombination aller Möglichkeiten

Dieses Beispiel zeigt die komplexe Kombination aller Möglichkeiten: drei äußere Ringe, einer mit einem und einer mit drei inneren Ringen, wobei viele Ringe aus mehreren Wegen bestehen.
<relation id="1">
  <tag k="type" v="multipolygon" />
  <member type="way" id="1" role="outer" />
  <member type="way" id="2" role="outer" />
  <member type="way" id="3" role="outer" />
  <member type="way" id="4" role="outer" />
  <member type="way" id="5" role="inner" />
  <member type="way" id="6" role="inner" />
  <member type="way" id="7" role="inner" />
  <member type="way" id="8" role="inner" />
  <member type="way" id="9" role="inner" />
  <member type="way" id="10" role="inner" />
  <member type="way" id="11" role="inner" />
  <member type="way" id="12" role="outer" />
  <member type="way" id="13" role="outer" />
  <member type="way" id="14" role="outer" />
  <member type="way" id="15" role="outer" />
  <member type="way" id="16" role="inner" />
  <member type="way" id="17" role="inner" />
  <member type="way" id="18" role="inner" />
  <member type="way" id="19" role="inner" />
  <member type="way" id="20" role="outer" />
</relation>
Bild 6: Komplexe Kombination aller Möglichkeiten

Insel in einem Loch

Dadurch dass mehrere äußere Ringe gestattet sind können auf einfache Weise "Inseln" in einem Loch dargestellt werden.
<relation id="1">
  <tag k="type" v="multipolygon" />
  <member type="way" id="1" role="outer" />
  <member type="way" id="2" role="inner" />
  <member type="way" id="3" role="outer" />
</relation>

Eine solche Konstellation erforderte früher verschiedene Multipolygon Relationen, eine mit "way 1" als äußerem und "way 2" als innerem Ring und eine mit "way 2" als äußerem und "way 3" als innerem Ring. Solche Kaskaden sind nach wie vor zu empfehlen wenn die "Insel" in der Mitte etwas anderes als die äußere Fläche ist. Sind beide das selbe so genügt es ein Loch in einem Loch zu machen.

Bild 7: Insel in einem Loch

Sich berührende innere Ringe

Einige Kartografen benutzen die aktuelle "Multipolygon" Relation für sich berührende innere oder äußere Ringe.
<relation id="1">
  <tag k="type" v="multipolygon" />
  <member type="way" id="1" role="outer" />
  <member type="way" id="2" role="inner" />
  <member type="way" id="3" role="inner" />
</relation>

Das Beispiel zeigt einen Wald mit einer Lichtung, die je zur Hälfte See und Farmland ist. Der Kartograf zeichnet einfach nur die Ränder der drei Objekte Wald, See und Farmland.

In "OGC Simple Feature Standard" ist diese einfache Möglichkeit nicht vorgesehen, dort sind sich berührende innere Ringe nicht erlaubt. Stattdessen wäre zunächst in den Wald ein Loch zu zeichnen und in dieses dann die einzelnen Polygone für See und Farmland.

Bild 8: Sich berührende innere Ringe

Loch in Loch (in Loch ...)

Es kann Löcher in den Löchern eines Multipolygons geben. Zum Beispiel ein Wald mit einer Lichtung und einer Baumgruppe auf der Lichtung.
Beispiel ausstehend.

Gemäß "OGC Simple Feature Standard" wird dies durch abwechselnde äußere und innere Ringe dargestellt. Im Beispiel Wald sind der Waldrand und die Baumgruppe äußere Ringe und die Lichtung innerer Ring. Das kann beliebig so weiter gehen, sollte aber zum Wohle anderer Kartografen begrenzt bleiben. Eventuell unterstützen auch nicht alle Editoren oder Renderer dies.

| Bild ausstehend.

Beispiele

Beispiele finden sich auf DE:Relation:multipolygon/Examples und DE:Multipolygon_Examples.

Tagging

Tagging im Detail

Für die verschiedenen Fälle und deren Probleme werden folgende Lösungen vorgeschlagen:

Rendering

Werkzeuge

Personal tools
Namespaces
Variants
Actions
site
Toolbox