IT:Area

Un'area (o poligono pieno) è una superficie delimitata da uno o più percorsi e caratterizzata con le appropriate etichette. Le aree più semplici sono definite da percorsi chiusi, in cui cioè il nodo iniziale e il nodo finale corrispondono. Aree più complesse sono definite usando le relazioni multipoligono, che permettono di identificare perimetri multipli.
Le aree non sono elementi base a se stanti nel modello di OpenStreetMap; infatti, che un percorso chiuso sia usato per rappresentare un'area, è deducibile dalle sue etichette. Per esempio, percorsi etichettati con landuse=* sono considerati aree, mentre percorsi etichettati con highway=pedestrian sono trattati come elementi lineari, a meno che non abbiano l'etichetta esplicita area=yes, che definisce un'area pedonale.
Come mappare

Esistono due modi di creare un'area:
- per aree piccole o semplici, è più appropriato creare un singolo percorso chiuso avente le opportune etichette; in rari casi potrebbe essere necessario aggiungere
area=yes. Vediarea=*per ulteriori dettagli; - per aree più estese e complesse, o comunque per quelle che vanno a intersecarsi con altre aree o percorsi, è più opportuno usare un multipoligono, sempre con le necessarie etichette. Vedi IT:relation:multipolygon per ulteriori dettagli.
Sebbene i multipoligoni siano tecnicamente relazioni
, il loro utilizzo è generalmente accettato per etichette da usare solo su aree
(e per cui il wiki stabilisce che tali etichette non dovrebbero essere usate sulle relazioni). Questa è un'eccezione, dato che i multipoligoni sono relazioni specificatamente intese per rappresentare aree (poligoni). Per esempio, natural=* è usata 2,5 milioni di volte nelle relazioni, landuse=* 1,8 milioni di volte (fonte Taginfo, 2023).
I percorsi chiusi dotati di certe combinazioni di etichette possono creare sia un poligono chiuso lineare, sia un'area. Ad esempio, una rotatoria con un'area verde al centro potrebbe essere definita con un percorso chiuso etichettato con highway=primary e landuse=grass: questo elemento verrebbe allora interpretato come una strada con traiettoria circolare, occupata da un'area verde all'interno della circonferenza. Tuttavia questa scelta è controversa, poiché contraddice il principio una caratteristica fisica, un elemento su OSM.
Per rappresentare graficamente percorsi che hanno etichette utilizzabili solo con aree, spesso i percorsi aperti vengono chiusi, unendo i loro estremi, di modo che l'area formata possa essere riempita.
In passato era necessario disegnare i confini delle aree in una particolare direzione (oraria o antioraria), per assicurarsi che l'informazione fosse rappresentata graficamente nella maniera corretta; adesso, però, non è più necessario.
Rappresentazione
Quando disegnate, le aree più piccole vengono generalmente poste sopra a quelle più grandi per assicurare che, ad esempio, un piccolo boschetto all'interno di un grande parco appaia proprio come un bosco in un parco. Tuttavia, nel caso in cui ci siano effettivamente buchi nell'elemento più grande, come ad esempio una radura in un bosco, bisognerebbe usare un multipoligono per specificare esplicitamente l'interruzione nell'estensione del bosco e successivamente definire l'area interna (la radura, nell'esempio precedente).
Esempi
Area semplice
In questo esempio un lago è definito con un percorso chiuso, dove il primo e l'ultimo nodo coincidono. L'uso di natural=water implica area=yes. Tieni conto che in questo modo non è possibile descrivere superfici di laghi con isole o isolotti al loro interno, dato che, per definizione, un percorso chiuso non può avere buchi al suo interno.
<way id="4876027" timestamp="2008-03-12T07:59:11Z" user="MichaelCollinson">
<nd ref="31492372"/>
<nd ref="31492338"/>
<nd ref="31492370"/>
<nd ref="31492371"/>
<nd ref="31492372"/>
<tag k="natural" v="water"/>
<tag k="name" v="Spegeldammen"/>
</way>
Area multipoligonale
Un'area può anche essere definita con una relazione multipoligono, quindi come un insieme di percorsi che individuano uno più confini esterni ed eventualmente nessuno o più confini interni ("buchi"). Nell'esempio qui sotto è presente un confine esterno, definito da un singolo percorso, e due interni:
<relation id="12" timestamp="2008-12-21T19:31:43Z" user="kevjs1982" uid="84075">
<member type="way" ref="2878061" role="outer"/> <!-- figura rif. "1" -->
<member type="way" ref="8125153" role="inner"/> <!-- figura rif. "2" -->
<member type="way" ref="8125154" role="inner"/> <!-- figura rif. "3" -->
<member type="way" ref="3811966" role=""/> <!-- i ruoli mancanti generano
un avvertimento; non farlo: molti software riescono comunque a calcolare
computazionalmente il ruolo ma ciò costa più tempo che averlo
inserito direttamente; non appare nelle figure dell'esempio a destra -->
<tag k="type" v="multipolygon"/>
</relation>
Dai dati dei singoli elementi non è possibile dedurre se si tratti di:
- due buchi (entrambi i percorsi sono chiusi, figura in alto a destra), oppure
- un buco (entrambi i percorsi interni concatenati a formare un percorso chiuso, figura in basso a destra).
Per determinarlo, occorre considerare i dati rispettivamente di #8125153 e #8125154.
Etichette con valore implicito di area
Le aree possono essere esplicitamente create con i multipoligoni o aggiungendo l'etichetta area=yes; tuttavia varie etichette, una volta assegnate, implicano automaticamente che un percorso chiuso è un'area (o che non lo è). Per esempio landuse=forest identifica un'area interamente occupata da alberi, non un filare di alberi; al contrario l'etichetta natural=tree_row, posta su un percorso chiuso, evidentemente identifica una sequenza continua di alberi.
L'etichetta area=no può essere usata per modificare esplicitamente i valori standard; è utilizzabile in alcuni rari casi come, per esempio, una panchina mappata con una linea che forma un percorso chiuso (vedi un esempio
esempio).
I vari software che interpretano le etichette di OSM possono avere liste proprie leggermente diversificate, in larga parte a causa di modi diversi in cui tali liste sono usate.
- JOSM - funzione AreaTags
- StreetComplete - IS_AREA_EXPRESSION StreetComplete/StreetComplete/blob/master/app/src/commonMain/kotlin/de/westnordost/streetcomplete/osm/AreaUtils.kt GitHub
- iD - JSON, generato da osmlab/id-area-keys GitHub, elenca le etichette che sono considerate un'area se la loro chiave è nella lista, fino a quando il loro valore non è
"military": { "trench": true }(significa che tutte le etichette conmilitary=*sono considerate etichette per aree, con l'eccezione dimilitary=trench). osmAreaKeysExceptions specifica quali etichette siano ignorate durante la valutazione (indicate comefalse) e quali siano anche considerate come etichette di aree (elencate cometrue).[1] - Osmtogeojson - funzione _isPolygonFeature Tyrasd/osmtogeojson/blob/e05ddb01942758bcdc14c782c7e9b0e17eb9dfa4/index.js#L985 _isPolygonFeature GitHub
- OSHDB - GIScience/oshdb/blob/main/oshdb-util/src/main/resources/json/polygon-features.json GitHub
- GDAL PBF driver - OSGeo/gdal/blob/master/ogr/ogrsf_frmts/osm/data/osmconf.ini#L9 GitHub
- Polygon tags: etichette indicanti che un percorso chiuso dovrebbe essere interpretato come poligono - OSMcode/osmium-surplus/blob/master/filter-patterns/polygon-tags GitHub
- Il codice areaKeys iDeditor/id-area-keys/ GitHub non è mai stato usato in iD[2], bensì in altri progetti (vedi iDeditor/id-area-keys/network/dependents GitHub)
- Vedi anche: Overpass API/Areas
Si evidenzia che il processamento è complicato e facilmente si blocca nel caso di rappresentazione di oggetti multipli in un unico elemento geometrico. Per esempio, rappresentare sia il campo da gioco sia il muro attorno ad un'area giochi su un solo elemento (barrier=wall e leisure=playground) causerà problemi in fase di visualizzazione contemporanea del muro e delle aree. Vedi, per esempio, area of barrier=wall not filled.
Voci correlate
- Il futuro delle aree (en)
- Overpass turbo/Polygon Features (en) - L'implementazione in Overpass turbo può essere utile come punto di partenza per gli sviluppatori
area=*- Usata per indicare uno specifico elemento come area generica (da usare solo per percorsi chiusi, non per nodi, percorsi aperti e relazioni).- Proposal:Area
| ||||||||||||||||||