IT:Relation:multipolygon

From OpenStreetMap Wiki
Jump to: navigation, search
Help
Lingue disponibili
Deutsch English Español Français Italiano 日本語 Русский
logo multipolygon
One example for multipolygon
Description
La relazione multipolygon si usa per rappresentare aree complesse.
Group
Properties
Members help
  • Way - outer
  • Way - inner
Statistics


Le relazioni di tipo multipolygon (multipoligono) sono usate per rappresentare aree complesse.

In OSM le aree semplici vengono mappate tramite un percorso chiuso etichettato con qualcosa che faccia pensare ad una superficie invece che ad una linea chiusa. Per esempio, un percorso circolare etichettato con "landuse=forest" verrà interpretato come un'area, lo stesso percorso etichettato con "junction=roundabout" invece no.

Tuttavia, questo schema funziona solamente per aree prive di buchi, e il cui contorno è costituito da un solo percorso. Qualsiasi area più complessa (per esempio perché il contorno è composto da più percorsi concatenati, o perché ha dei fori, o perchè l'area è costituita da più parti disgiunte) richiede una relazione multipolygon.

Si raccomanda di usare type=multipolygon (e non type=boundary) anche per le relazioni che descrivono i confini, così che le applicazioni possano usare le regole per la costruzione delle aree (come la concatenazione di percorsi esterni per formare gli anelli, l'esclusione delle enclavi, ecc.). Una relazione che descrive i confini si riconosce facilmente dall'etichetta boundary=*, non è necessario usare type=boundary.

In sintesi, una relazione multipolygon può avere come membri un qualunque numero di percorsi con ruolo outer (il contorno esterno) e un qualunque numero di percorsi con ruolo inner (i buchi), purchè formino degli anelli validi per la costruzione di un multipoligono.

Contents

Etichette

Chiave Valore Spiegazione
type multipolygon Istruisce le applicazioni affinché applichino ai membri le regole di costruzione delle aree.

Membri

Percorso o nodo Ruolo Quantità Spiegazione
Way outer uno o più I percorsi che costituiscono l'anello esterno (o gli anelli esterni) dell'area.
Way inner zero o più I percorsi che costituiscono l'anello interno (o gli anelli interni) dell'area.
Way nessuno Nella maggioranza dei casi una relazione può venire interpretata correttamente anche senza specificare i ruoli inner e outer. Tuttavia si raccomanda di specificare i ruoli per aiutare gli altri mappatori a comprendere la relazione.

Modo d'uso

I multipoligoni andrebbero usati come segue:

Esempi

Un anello esterno e un anello interno

La vecchia versione di relazione multipolygon, molto usata, permetteva di avere un solo anello esterno e un numero qualunque di anelli interni. Inoltre, ogni anello doveva consistere di un singolo percorso chiuso. Questo tipo di poligono (non si tratta strettamente di un multipoligono, piuttosto di un poligono con più percorsi) è naturalmente ancora supportato, ma a causa dell'allentamento delle regole è diventato un caso particolare della più generica relazione multipolygon.
<relation id="1">
  <tag k="type" v="multipolygon" />
  <member type="way" id="1" role="outer" />
  <member type="way" id="2" role="inner" />
</relation>
Figura 1: Un anello esterno e un anello interno

Un anello esterno e due anelli interni

<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>
Figure 2: Un anello esterno e due anelli interni

Anello formato da più percorsi

Lo schema dei multipoligoni avanzati permette che ogni anello interno o esterno sia costituito da più di un percorso. Questo è utile per i multipoligoni che coprono aree molto vaste, nel cui caso sarebbe poco pratico usare un solo percorso per il perimetro. Ha senso anche per i multipoligoni che descrivono aree il cui perimetro non può essere costruito con un solo percorso (ad esempio, i poligoni dei confini):
<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>
Figure 3: Anello formato da più percorsi

Due anelli esterni disgiunti

Diversamente dai multipoligoni vecchio stile, la relazione multipolygon permette un numero arbitrario di anelli esterni, così da poter rappresentare un vero multipoligono:
<relation id="1">
  <tag k="type" v="multipolygon" />
  <member type="way" id="1" role="outer" />
  <member type="way" id="2" role="outer" />
</relation>
Figure 4: Due anelli esterni disgiunti

Anelli esterni disgiunti e un anello interno formato da più percorsi

Anche gli anelli interni possono essere costituiti da più percorsi:
<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>
Figure 5: Anelli esterni disgiunti e un anello interno formato da più percorsi

Combinazione complessa di tutte le possibilità

Questo esempio mostra una combinazione complessa di tutte le possibilità: tre anelli esterni, di cui uno con un anello interno ed un altro con tre anelli interni, inoltre molti anelli sono costituiti da più di un percorso.
<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>
Figure 6: Combinazione complessa di tutte le possibilità

Isola all'interno di un foro

Poichè è ammesso avere più anelli esterni, è possibile creare agevolmente delle "isole" all'interno di un foro:
<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>

Una caratteristica di questo tipo in precedenza avrebbe richiesto due relazioni multipolygon, una con il percorso 1 esterno ed il percorso 2 interno, e un'altra con il percorso 2 esterno ed il percorso 3 interno. Questa "cascata" è ancora raccomandabile quando l'"isola" al centro rappresenta qualcosa di diverso dall'area esterna. In caso contrario, si può semplicemente fare un foro nel foro.

Figure 7: Isola all'interno di un foro

Anelli interni che si toccano

Alcuni cartografi usano la relazione multipolygon attuale per raggruppare anelli interni od esterni che si toccano:
<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>

Questo esempio mostra una foresta con una radura, occupate per metà da un lago e per metà da area agricola. In OSM, il cartografo può semplicemente disegnare i perimetri dei tre oggetti (foresta, lago, area agricola). Nella normativa "OGC Simple Feature Standard" questa possibilità non è prevista, gli anelli interni che si toccano non sono supportati. Sarebbe invece necessario disegnare dapprima un foro nella foresta, e poi all'interno di questo foro disegnare singolarmente i poligoni per il lago e per l'area agricola.

Figure 8: Anelli interni che si toccano

Fori in fori (in fori...)

Si possono avere anche dei fori nei fori di un multipoligono. Per esempio una foresta con una radura, e un boschetto al centro della radura.
Esempio non disponibile.

Secondo la normativa "OGC Simple Feature Standard", questa struttura si realizza con un'alternanza di anelli esterni ed interni. Nel nostro esempio, i perimetri della foresta e del boschetto sono anelli esterni, mentre la radura è un anello interno. Questo può in teoria continuare a piacere, ma si suggerisce di limitare la complessità nell'interesse degli altri cartografi. I fori nei fori potrebbero non essere supportati da tutti gli editor o renderer.

Figura non disponibile.

Esempi

Per esempi, vedi IT:Relation:multipolygon/Examples e IT:Multipolygon_Examples.

Etichettatura

Dettagli sull'etichettatura

Per i problemi che si possono presentare in vari casi vengono suggerite le seguenti soluzioni:

Rendering

Avvertenza per Potlatch

Avvertenza per Potlatch

In Potlatch, bisogna assicurarsi che i ruoli per la relazione mutipoligono siano assegnati come tali ai membri della relazione, e non come etichette. Quando si è nella modalità "edit", seleziona il membro della relazione e inserisci "inner" o "outer" nel rettangolo nella stessa linea in cui è scritto "multipolygon".


Strumenti di aiuto

Personal tools
Namespaces
Variants
Actions
site
Toolbox