IT:Key:layer

From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg layer
Washington layers.png
Descrizione
Used to mark the vertical relationship between two intersecting features. Edit this description in the wiki page. Edit this description in the data item.
Gruppo: proprietà
Applicabile agli elementi
may be used on nodesmay be used on waysmay be used on areas (and multipolygon relations)may be used on relations
Combinazioni utili
Vedi anche
Stato: de facto

Il tag layer=* è uno dei metodi usati per descrivere relazioni verticali tra elementi sovrapposti. L'ordine verticale stabilito dal valore del livello è valido soltanto nel punto preciso in cui le way s'incrociano o si sovrappongono.

Se le way sono unite con un nodo in comune nel punto d'incrocio, l'ordine verticale stabilito dal tag layer viene annullato.

layer non è adatto a mettere in relazione elementi adiacenti, vicini o distanti; Assegnare questo tag a way lunghe può avere effetto (solitamente distruttivo) sulle intersezioni che si trovano al di fuori dell'area di modifica visibile in quel momento.


Solitamente si usano valori numerici interi compresi tra -5 e 5; Il valore '0' è sottinteso e non dovrebbe essere usato in modo esplicito.

Le way che superano altre way su un ponte hanno un valore di layer più alto, mentre quelle che passano in un tunnel al di sotto delle altre lo avranno più basso (solitamente negativo); Se per una way non è stato specificato alcun valore di layer, si suppone che esso sia 0.

Salvo alcune eccezioni, il tag layer=* sulle way way andrebbe usato solo in combinazione con tunnel=*, bridge=*, highway=steps, highway=elevator, covered=* oppure indoor=yes. Per quanto riguarda le area aree, sarebbe bene usarlo con tag come man_made=bridge, tipi particolari di building=* o simili.


Le way che si trovano all'interno degli edifici o strutture simili, come parcheggi multipiano, centri commerciali, aeroporti, stazioni ferroviarie o strade/ponti a più livelli andrebbero descritte col tag level=* invece che con layer=*. level=* si usa per la disposizione verticale dei piani all'interno di strutture; Usare il tag level:ref=* per la segnaletica usata per identificare livelli fisici, come ad esempio i pulsanti negli ascensori, o i piani di un posteggio.


Layer non dà alcuna informazione circa l'altezza assoluta né relativa di oggetti che non si intersecano o sovrappongono. Un cambiamento di layer non dev'essere usato per indicare una diversa altitudine: un ponte ha layer=1 anche se si trova ad alcuni metri d'altezza rispetto al livello del mare mentre la vetta del monte Everest ha layer=0 anche se si trova a 8848 metri s.l.m.

Valori negativi di layer non implicano che l'oggetto si trovi nel sottosuolo: per questo scopo va usato il tag location=underground.

Per indicare l'altitudine rispetto al livello del mare, usare ele=*.

Vi sono altri tag che possono stabilire o modificare relazioni in modo esplicito o per ipotesi predefinite. Alcuni di essi sono level=*, location=*, covered=*, highway=steps, aerialway=*, power=line, waterway=dam .


Linee guida

  • Gli elementi che si trovano al livello '0' di solito non hanno un tag di layer.
  • Non usare layer=-1 per nascondere avvisi dell'Editor circa way che s'intersecano o si sovrappongono: eseguire invece la mappatura nel modo appropriato oppure lasciare la situazione così com'è, in modo che altri utenti possano vedere l'avviso e risolvere il problema.
  • Se un corso d'acqua è visibile nelle immagini satellitari o nelle aerofoto, con tutta probabilità esso non ha layer=-1.
  • Taggare sezioni di way più brevi possibile. Per semplicità, viadotti e tunnel possono essere taggati con un singolo valore per tutta la loro lunghezza, ma a volte può essere meglio variare il loro layer in sezioni diverse, se le intersezioni sono complicate.
  • Usare valori di layer il più possibile vicini a 0: ad esempio, usare layer=2 per un ponte solo se esso supera un elemento che ha già layer=1; Allo stesso modo, usare layer=-2 per un tunnel solo se esso passa sotto ad un altro elemento che ha già layer=-1.

Per comodità, valori più alti sono spesso usati su ponti molto lunghi o reti sotterranee, oggetti per i quali si suppone che si trovino al di sopra o al di sotto della maggior parte di tutti gli altri oggetti da essi intersecati.

  • Quando due way s'intersecano a livelli diversi, assegnare layer=* solo a quella che ha l'attributo tunnel=* o bridge=*. Solo elementi che abbiano uno dei tag o attributi tunnel=*, bridge=*, highway=steps, highway=elevator, covered=* dovrebbero avere il tag layer; lo stesso vale per ferrovie e corsi d'acqua.
  • Negli svincoli stradali più complessi è spesso necessario suddividere le way ed assicurarsi che che la loro disposizione verticale sia descritta in modo accurato.
  • Fiumi e torrenti non dovrebbero avere layer=-1 su sezioni molto lunghe: le intersezioni dovrebbero essere taggata come si fa per ponti e gallerie. I corsi d'acqua coperti dovrebbero avere il tag covered=yes e sono generalmente rappresentati come se scorressero al di sotto delle altre costruzioni.

Se una strada attraversa un corso d'acqua allo stesso livello, si può indicare la presenza di un guado con il tag ford=*

  • Le line elettriche (power=line) di solito non necessitano di un tag di layer poiché presume che esse si trovino sopra gli altri elementi della mappa, a meno che questi ultimi non abbiano un valore layer che indichi il contrario. In quei casi, si può usare il tag location=overhead mentre layer=* può essere usato quando due linee elettriche s'incrociano.
  • Alcuni manufatti come i condotti (man_made=pipeline) si possono taggare in modo appropriato usando location=overhead, location=overground or location=underground in luogo di layer=*. Questo indica semplicemente che sono sopraelevati o nel sottosuolo, senza fornire alcuna indicazione sull'altezza o la profondità cui si trovano.

layer=* è comunque necessario ad esempio quando due condutture s'incontrano in un punto di cui è nota l'informazione, oppure quando una conduttura passa sopra o sotto una strada.

  • Anche se alcuni servizi di rendering delle mappe o di quality assurance presumono che ponti e tunnel si trovino ai livelli +1 e -1 rispettivamente, è bene esplicitare il livello di ogni ponte e tunnel.

Si noti che potrebbe esserci qualche ambiguità sul fatto che un particolare incrocio debba essere taggato come ponte o come tunnel, in particolare dove la distanza tra la way superiore e quella inferiore è grande. In generale, la strada che attraversa un tunnel è più lunga e più buia, mentre quella che si trova sotto un ponte è più breve e più luminosa. Lo standard GDF usa il termine 'brunnel' per coprire entrambe le caratteristiche.


Cose da evitare

  • Gli usi del terreno, come parchi e boschi, non dovrebbero avere un layer e gli utilizzatori dei dati possono liberamente ignorare tali tag di livello. L'eccezione a questa regola è il caso in cui un landuse si trova in effetti sopra un altro landuse.
  • Strade, ferrovie corsi d'acqua ecc. non dovrebbero avere un tag layer solo perchè percorrono un terrapieno o una trincea. In quei casi vanno usati i tag embankment=*, cutting=* o waterway=ditch
  • Attenzione: la combinazione di layer su una way che attravesa aree con diverso layer non è definita in molti casi e può causare effetti imprevedibili. Ad esempio, una strada o un fiume con layer=-1 potrebbero non venire rappresentati se attraversano una foresta per cui è presupposto layer=0; La rappresentazione grafica potrebbe essere inconsistente a seconda del renderer utilizzato. Combinazioni del tipo descritto sono valide solo se usate con tag aggiuntivi come 'bridge' o 'tunnel'.
  • Un'isola (place=island) in un lago (natural=water) non dovrebbe avere layer=1, lo stesso vale per una radura in un bosco (clearing in a wood is not hovering above trees). Per assicurarsi che l'isola o la radura siano disegnate in modo appropriato, usare un multipolygon
  • I piani di un edificio dovrebbero avere un tag level=* anziché layer.
  • Fiumi e torrenti non dovrebbero essere taggati con layer -1 per lunghi tratti, poiché questo rende più difficile individuare ponti mancanti sulle strade che li attraversano.
  • Non è necessario specificare il segno + per i valori positivi. Usare 'layer=1' invece di 'layer=+1'
  • Non usare valori negativi per descriver qualcosa che si trova nel sottosuolo: a tal proposito usare location=underground.

Esempi

Livelli usati in modo appropriato per svincoli stradali e ferroviari
Questa vista di Washington attraverso la ITO Map mostra come gli elementi siano correttamente organizzati quando passano sopra o sotto altri elementi usando layer 1 (rosso) e layer 2 (orange) solo dove necessario. Per alcuni elementi sono stati usati anche i layer -1 e -2.
Layer usati correttamente per uno svincolo
In questo esempio i livelli sono stati visualizzati nell' editor JOSM con lo stile di rappresntazione aggiuntivo Layer checker.
Uso errato di layer su un canale ed una ferrovia
Questa vista del Grand Union Canal inel Regno Unito mostra un uso sbagliato ei livelli. Il canale passa della superficie (nessun layer) a layer -1 (blu scuro), a layer 2 (arancione) senza alcun motivo. Alcuni ponti e tunnel usano numeri di livello più alti del necessario, mentre altri non hanno del tutto iun layer. Un punto in cui un torrente ed un sentiero passano sotto il canale in un tunnel sono mostrati al medesimo livello del canale (layer -1). Un parcheggio e numerose strade nel paese hanno layer=-1 - non è necessario alcun tag di livello, dal momento che non si trovano né sopra né sotto qualcos'altro|-
Golf course layers.png
Tag di livello usati in modo inappropriato per i boschi ed un campo da golf. i boschi si tovano a livello 2, il percorso da golf su layer -1. Tutti questi elementi si trovano a livello del terreno e non richiedono che sia specificato alcun layer.

Utilizzatori di dati

Per ragioni tecniche, tipicamente i renderer attribuiscono al tag layer il peso minore tra tutte le considerazioni fatte per determinare come disegnare gli elementi.

Un renderer 2D potrebbe generare un modello 3D degli elementi, filtrarli per rilevanza e comporre un risultato visuale in base all'ordinaento 3D ed alle priorità di rendering. layer=* ha effetto solo sul modello 3D e non influenza in alcun modo il filtraggio per rilevanza e le priorità di rendering che determinano la visibilità dell'oggetto.

La modellazione 3D è principalmente determinata dall'ordinamento verticale naturale degli elementi, in combinazione con i tag layer=* e level=*, all'incirca in quest'ordine:

  • Ordinamento naturale/a senso comune: (location=underground, tunnel) under (landcover, landuse, natural) under waterways under (highway, railway) under (man_made, building) under (bridge, location=overground, location=overhead)
  • valore del tag layer:
    • il layer può "scavalcare" solo l'ordinamento naturale degli elementi di un particolare gruppo ma non posizionare, ad esempio, un fiume o un uso del terreno su di un ponte o una funivia (eccezione: uso in mappatura indoor o con tag location).
    • I tag layer su "elementi naturali" (laghi, foreste, ecc.) spesso vengono del tutto ignorati.
  • Valore del tag level: considerato insieme a layer - layer definisce in modo grossolano la disposizione dei manufatti mentre level è usato per le caratteristiche al loro interno.


Esempi

  • questo ponte (dati allegati ad un ticket JOSM) è stato disegnato correttamente nonostante la presenza di layer=-1, mentre il fiume e le sue rive hanno implicitamente layer=0. L'errore è stato poi corretto e l'algoritmo di convalida di JOSM migliorato, così da individuare situazioni del genere.

Vedere anche