IT:Simple Indoor Tagging

From OpenStreetMap Wiki
Jump to navigation Jump to search

Simple Indoor Tagging è una proposta per uno schema di tag da usare per l'Indoor Mapping. È semplice da usare ma allo stesso tempo completo ed in grado di coprire anche i casi complicati. La lista di schemi di tag per l'indoor può essere vista qui.

Obiettivi del progetto

Portare avanti la più popolare proposta dello schema di tag per interni ad uno stato utile rendendolo al contempo compatibile con il popolare schema di tag Simple 3D Buildings. Da notare che la versione corrente rimuove tutti i riferimenti al modello basato su relazioni, comunque le relazioni di livelli ed edifici possono ancora essere opzionalmente supportate

Probabilmente ci sono ancora un numero di errori rimanenti in questa proposta derivanti dal copia e incolla dalla proposta IndoorOSM da cui questa deriva.

Sommario

Per riassumere, queste sono le caratteristiche principali di questo schema:

  • Mappatura di ambienti interni inclusi i differenti piani (livelli)
  • Sono utilizzate metodologie gia esistenti in OSM (nodi, ways, relazioni and keys)

Casi d'uso

Le mappe degli interni o informazioni 3d degli interni possono essere usati in varie applicazioni come ad esempio:

  • Indoor Navigation/Routing
  • Piantine del piano e mappe 3D
  • Partecipazioni pubbliche
  • Risposta alle emergenze

negli edifici pubblici.

Il Modello / Schema di Tag

Nella segiente sezione, il modello è presentato e descritto.

Mappatura semplificata dei POI

Illustrazione di una mappatura semplice di POI

La mappatura di elementi in OSM funziona meglio quando non c'è un immediato requisito di aggiungere ogni piccolo dettaglio. Il più delle volte il processo di mappatura è un'evoluzione da una mappatura basica passando per una più fine per arrivare ad una con un livello di dettaglio insano. Per permettere questo serve definire uno schema semplice per mappare i POI che possa essere usato assieme ad uno schema degli interni che permetta la visualizzazione e la navigazione anch quando non sono disponibili piantine dettagliate dei piani.

Un approccio è semplicemente quello di permettere il tagging di questi nodi con un tag "level". Per renderne sufficientemente semplice l'utilizzo si suggerisce che il profilo dell'edificio o la sua relazione debbano essere applicati i tag min_level=* e max_level=*.

Nel caso più semplice questo richiede solo l'aggiunta di 2 tag sul poligono dell'edificio e un tag di livello per ogni POI per permetterne una visualizzazione basica (la navigazione non può essere supportata senza l'aggiunta di altri elementi interni addizionali).

Chiave Descrizione Esempi di valori
level=* Il livello in cui è posto il POI level=3, level=-1

Edificio

Per rendere facilmente identificabili gli edifici, con gli interni mappati, ai fruitori dei dati si suggerisce l'uso dei tag min_level=* e max_level=* associati all'elemento con il tag Building (way o relazione). In alcuni paesi specifici valori per i livelli non vengono assegnati, come per esempio il piano 13 in alcuni paesi occidentali o il 4 in Cina. Al fine di semplificare la mappatura di questi casi si propone l'uso del tag non_existent_levels=*.

Chiave Descrizione Esempio di Valori
min_level=* Minimo livello interno min_level=-1
max_level=* Massimo livello interno max_level=14
non_existent_levels=* opzionale: Livelli mancati non_existent_levels=4;13

Modellazione dei diversi elementi interni

I vari elementi interni presenti nei vari livelli possono pure loro venir mappati in OSM. Quelle parti che occupano un'area (es. stanze, corridoi, tromba delle scale...)sono mappate tramite way chiuse (aree). Si propongono quattro elementi basici interni con i quali tutto quanto può essere modellato. Il quinto valore indoor=level è opzionale e non è usato per il render ma per avere un luogo dove aggiungere ulteriori informazioni come il nome del piano.

Illustrazione dei quattro elementi basici interni
Chiave Valore Elemento Descrizione
indoor room area area convenzionale delimitata da pareti
indoor area area Area senza pareti
indoor wall way Elemento individuale muro (non-passable), quando non è già stato definito tramite indoor=room (es parete divisoria interna)
indoor corridor area Passaggio di connessione (non ha muri propri)
indoor level area opzionale: vedi sotto

Le singole aree condividono gli stessi nodi quando condividono un muro. La connessione tra una stanza e un corridoio è effettuato mediante un nodo door=*, anche qui in comune tra i due elementi.

Nota: Proposte separate per finestre e porte sono in sviluppo, ma non verranno qui trattate:

Modellazione connessioni tra differenti livelli

L'area in cui si sviluppano le scale (tromba delle scale) e le scale mobili, sono modellate sfruttando la stessa logica di sopra. Questi elementi si estendono verticalmente su due o più piani (es.level=-1-5 per un elemento che va dal piano -1 al 5) e possono essere connessi ad un'area indoor=corridor tramite un nodo door=* per ogni piano. Il tag door=no può essere usato quando la connessione con un corridoio e la scala non ha una porta (scale che si sviluppano in ambienti non delimitati da muri).

Una scala realizzata in maniera uniforme, o un ascensore classico, in cui la posizione degli ingressi si discosta solo verticalmente e sono quindi poste alle stesse coordinate, si consiglia l'uso di un solo nodo door=* o door=no con valori multipli o range di piani, ad esempio repeat_on=1;2;3;4;5 o repeat_on=1-5 (sarà approfondito più in basso). Raccomandiamo per l'utilizzo dei dati di duplicare questo oggetti durante la fase di pre-processing assegnando un livello per ogni duplicato creato.


Foto Caso d'uso Tagging proposto
Scale stairs=yes
indoor=room o indoor=area quando non ci sono muri.
Scale Mobili stairs=yes
conveying=yes
indoor=room o indoor=area quando non ci sono muri.
Ascensori highway=elevator
indoor=room o in casi speciali indoor=area quando non ci sono muri.

TODO: Mappatura dettagliata delle singole scale

Modellazione avanzata dei differenti livelli (piani)

Schizzo di un esempio più complicato usando building:parts=*

Tutti gli elementi dello stesso livello un tag di livello o, opzionalmente, sono membri di una relazione livello.

Chiave Descrizione Esempi di Valori
level=* Descrive su che livello è l'elemento(0 è normalmente il piano terra, -1 è il primo interrato ecc.) level=0, level=-2, level=3

Deve essere segnati i livelli come sono effettivamente indicati nella realtà, per esempio all'aeroporto di monaco il piano terra è indicato con il numero 3.

Chiavi e valori che possono essere opzionalmente aggiunti ad un lemento taggato con (indoor=level) sono riportati nella seguente tabella:

Chiave Descrizione Esempi di valori
name=* Il nome del livello corrispondente name=Ground Floor
height=* L'altezza del piano (con l'unità di misura in metri) height=4
level=* Descrive quale numero ha il corrente livello (0 è normalmente il piano terra, -1 per il primo piano sotterraneo) level=0, level=-2, level=3

Informazioni circa gli stessi elementi interni (es. nome e tipo) sono ancora dei tag chiave valore associati al corrispondente elemento.

Chiave Descrizione Esempi di valori
level=* OBBLIGATORIO il livello in cui l'elemento interno è posizionato level=111, level=-1
name=* Nome dell'elemento (es il nomee della stanza) name=Vesalius Aula, name=Audimax
ref=* il ref dell'elemento (es il numero di stanza di un hotel) ref=101, ref=01.15
height=* altezza individuale dell'elemento (di default in metri) height=3, height=2.5

Caratteristiche multi-livello e ripetizioni

Chiave Elementi Descrizioni Example value(s)
level=* nodewayarea oltre ai casi precedentemente descritti, elementi estesi su più livelli (es. scale, ascensore) può essere mappato assegnandogli più di un livello nel value. level=1;2, level=-1-5, level=-4--2
repeat_on=* node elementi ripetuti in maniera identica su più livelli possono essere mappati tramite un singolo nodo con questo tag. Deve essere usato con parsimonia e solo se necessario (di solito in caso di finestre, ascensori e porte delle scale ). Il livello di partenza non deve essere incluso in queta lista, es. un elemento con level=0 e dopo repeat_on comincia dal livello "1". repeat_on=1;3, repeat_on=0-6

Esempi di utilizzo

Espandere la lista di esempi di applicazione di questa proposta con il relativo status.

luogo livelli status link OSM link OpenLevelUp
Aachen University Edificio 1380 -1 - 3 tutte le 92 rooms+toilets+entrances [1] [2]
Public University of Navarre (UPNA) Edificio studio 0 - 3 tutte e aule, corridoi, toilets, entrances [3] [4]
Public University of Navarre (UPNA) Edificio Biblioeca -1 - 2 Tutto [5] [6]
Centro Commerciale Il Globo (Busnago) -1 - 2 Tutto [7] [8]