Pl:Proste Tagowanie Wnętrz

From OpenStreetMap Wiki
Jump to navigation Jump to search

Proste Tagowanie Wnętrz (Simple Indoor Tagging) jest schematem tagowania obiektów wewnątrz budynku.
Jest proste w użyciu, ale nadal holistyczne, aby nawet pokryć skomplikowane przypadki.
Lista innych/poprzednich schematów tagowania wnętrz znajduje się tutaj. Ten dokument został utworzony w 2014 roku przez SimonPoole, Tordanik, Peda i Andi; i pierwotne napisane dla twórców map.

Podsumowanie

Podsumowując główne cechy modelu:

  • mapowanie pomieszczeń wewnętrznych, w tym różnych pięter (aliasy poziomów)
  • wykorzystywane są istniejące metodologie OSM (węzły, linie, relacje i klucze)

Zgodność z Proste budynki 3D jest wyraźnym celem Tagowania wewnątrz. Łącząc SIT z S3DB, należy używać tagów obu jednocześnie.

Użyte przypadki

Mapy wewnętrzne lub informacje 3D Indoor mogą być wykorzystywane do różnych aplikacji, np.

  • Nawigacja wewnętrzna/Routing
  • Plany pięter i mapy 3D
  • Udział publiczny
  • Działania awaryjne

do budynków publicznych.

Model/Schemat tagowania

W poniższej sekcji przedstawiono i opisano model

Proste mapowanie POI

Ilustracja prostego mapowania POI

Odwzorowywanie obiektów w OSM działa najlepiej, gdy nie ma wymogu, aby od razu dodać wszystko z bardzo szczegółowym opisem. W większości przypadków mapowanie przebiega od zgrubnego do szczegółowego, aż do szalonego. Aby to wspierać, musimy zdefiniować prosty schemat mapowania POI, który może być używany razem ze schematem wewnętrznym, aby umożliwić wizualizację i routing, nawet jeśli szczegółowe plany pięter nie są dostępne.

Jednym ze sposobów jest umożliwienie takim węzłom po prostu otagowania tagiem level=*. Aby to było wystarczająco proste do skonsumowania, sugerujemy, aby oznaczyć obrys budynku lub relację budynku z min_level=* i max_level=*.

W najprostszym przypadku wymagałoby to tylko dodania 2 tagów do wieloboku budynku i tagów poziomów do POI, aby umożliwić wykonanie zgrubnej wizualizacji (routing nie byłby obsługiwany bez dodatkowych elementów wewnętrznych).

Tag Opis Przekładowa wartość
level=* poziom, na którym znajduje się POI level=3, level=-1

TODO: podaj przykłady, np. ATM na podziemnym peronie pociągu poziomu pośredniego, lekarze na 1. piętrze itp.

Budynek

Aby ułatwić użytkownikom danych znalezienie budynków z wewnętrznym mapowaniem, proponujemy tagi min_level=* and max_level=*. W niektórych krajach nie są przypisywane określone wartości poziomu, np. piętro 13 w krajach zachodnich lub piętro 4 w Azji Wschodniej. Aby ułatwić ich mapowanie, proponujemy non_existent_levels=*.

Tag Opis Przykładowa wartość
min_level=* minimalny poziom wewnętrzny min_level=-1
max_level=* maksymalny poziom wewnętrzny max_level=14
non_existent_levels=* opcjonalne: poziomy, które nie istnieją, np. ze względów regionalnych non_existent_levels=4;13

Modelowanie różnych elementów wewnętrznych

Różne elementy poziomów wewnątrz również muszą być odwzorowane w OSM. W ten sposób te części z zadaszonym obszarem (tj. pokoje, klatkami schodowe, korytarze) są mapowane jako obszary obszar (zamknięte linie lub wieloboki).

Proponujemy cztery podstawowe elementy wnętrza, za pomocą których można modelować wszystko. Piąta wartość indoor=level jest opcjonalna i nie służy do renderowania, ale ma za zadanie dodanie dodatkowych informacji, takich jak nazwa piętra.

Ilustracja 4 podstawowych elementów wewnętrznych
Tag Wartość Element Opis
indoor=* room obszar Konwencjonalny pokój ze ścianami
indoor=* area obszar Obszar bez ścian
indoor=* wall linia Indywidualny (nie przechodnie) element ściany, gdy nie jest zdefiniowany przez indoor=room
indoor=* corridor obszar Kanał łączący bez przeszkód
indoor=* level obszar opcjonalnie: zobacz poniżej

Poszczególne obszary współdzielą te same węzły, kiedy współdzielą ścianę w prawdziwym świecie. Połączenie między pomieszczeniem a korytarzem jest realizowane przez węzeł door=*, który jest ponownie współdzielony przez oba obiekty.

TODO: Odniesienie do okna i drzwi, propozycja.

Uwaga: opracowywane są oddzielne propozycje dotyczące okien i drzwi, dlatego nie proponujemy dalszych szczegółów na temat obu tych elementów.

Modelowanie połączeń między różnymi poziomami

Schody i schody ruchome są modelowane w taki sam sposób jak powyżej. Obejmują one wiele poziomów (level=-1-5) i są połączone z indoor=corridor przez węzeł door=* na każdym piętrze.
door=no może być używany do oznaczania połączenia z korytarzem, gdy nie ma fizycznych drzwi.

Jednolite schody lub klasyczne windy prowadzą w ten sam sposób do duplikatów węzłów drzwi. Węzły mają również takie same współrzędne lat/lon, różniące się jedynie wartością poziomu. W tych przypadkach zalecamy użycie tylko jednego węzła door=* z wieloma wartościami poziomów lub zakresami, np. repeat_on=1;2 lub repeat_on=1-5 (więcej patrz poniżej). Zalecamy użytkownikom danych wnętrz, aby powielać te obiekty podczas wstępnego przetwarzania, używając jednej wartości poziomu dla każdego.

Zdjęcie Użyte przypadki Proponowane tagi
Schody stairs=yes
indoor=room lub indoor=area kiedy nie ma ścian.
Schody ruchome stairs=yes
conveying=yes
indoor=room lub indoor=area kiedy nie ma ścian.
Windy highway=elevator
indoor=room oraz w szczególnych przypadkach indoor=area kiedy nie ma ścian.

Należy użyć średnika do oddzielenia poziomów pokrytych schodami, schodami ruchomymi lub windą lub określamy zakres poziomów. Na przykład, level=0;1 lub level=0-1 może być stosowany na niektórych schodach łączących poziomy 0 i 1. Schody łączące poziomy 2 i 4 będą oznaczone tagami level=2;3;4 lub level=2-4 - niezależnie od tego, czy dostęp do poziomu 3 można uzyskać z tych schodów. Zobacz także sekcję #Funkcje wielopoziomowe i powtarzające się funkcje.

TODO: szczegółowe odwzorowanie poszczególnych schodów.

Zaawansowane modelowanie różnych poziomów (pięter)

Szkic nieco bardziej skomplikowany przykład używając building:parts

Wszystkie elementy na tym samym poziomie otrzymują tag poziomu lub opcjonalnie członu relacji poziomu.

Tag Opis Przykładowe wartości
level=* opisuje, na którym poziomie jest element (0 to normalnie poziom terenu, -1 to pierwsza piwnica itp.) level=0, level=-2, level=3

Notatki na poziomie lokalnym na budynek powinny być ponownie wykorzystane. na przykład na lotnisku w Monachium 3 jest poziom gruntu.

Rozsądne i sensowne tagi i wartości, które można dodać do opcjonalnego schematu poziomu (indoor=level) są wymienione w poniższej tabeli:

Tag Opis Przykładowe wartości
name=* nazwa odpowiedniego poziomu name=Ground Floor
level:ref=* numer lub kod poziomu. Modeluje schemat numerowania poziomów, ponieważ jest przedstawiony w samym budynku, np. na planach lub przyciskach windy, które mogą różnić się od wartości dla level=*. level:ref=K level:ref=E level:ref=3
height=* wysokość poziomu (z domyślną wartością jednostki metr) height=4
level=* opisuje, który numer poziomu ma aktualny poziom (0 to normalnie poziom podstawowy, -1 to pierwsza piwnica itp.) level=0, level=-2, level=3

Informacje o samych elementach wnętrza (np. nazwa lub typ) są ponownie dołączane jako pary key-value do odpowiedniego elementu wewnętrznego.

Tag Opis Przykładowe wartości
level=* OBOWIĄZKOWE poziom, na którym znajduje się element wewnętrzny. level=111, level=-1
name=* nazwa elementu wewnętrznego (np. nazwa pomieszczenia) name=Vesalius Aula, name=Audimax
ref=* wartość ref elementu wewnętrznego (np. numer pomieszczenia) ref=101, ref=01.15
height=* indywidualna wysokość elementu wewnętrznego (domyślną jednostką jest metr) height=3, height=2.5

Funkcje wielopoziomowe i powtarzające się funkcje

Tag Elementy Opis Przykładowe wartości
level=* węzełliniaobszar oprócz opisanych wcześniej przypadków, obiektów obejmujących wiele poziomów (na przykład schody, szyb windy, wysokie pomieszczenia) mogą być mapowane przez zaznaczenie więcej niż jednego poziomu wartości. level=1;2, level=-1-5, level=-4--2
repeat_on=* węzeł funkcje, które mają identyczne kopie na innych piętrach, można zmapować jako pojedynczy węzeł z tym znacznikiem. To powinno być używane oszczędnie i tylko wtedy, gdy jest to konieczne (często w przypadku okien i drzwi windy/klatki schodowej). Poziom początkowy nie znajduje się na tej liście, np. funkcja z <ode>level="0"", a następnie repeat_on zaczyna się od "1". repeat_on=1;3, repeat_on=0-6

Przykłady tagowania

miejsce poziomy status OSM link OpenLevelUp link
Aachen University Building 1380 -1 - 3 all 92 rooms+toilets+entrances [1]

OpenLevelUp favicon.png on OpenLevelUp

Public University of Navarre (UPNA) Lecture Building 0 - 3 All classrooms, corridors, toilets, entrances [2]

OpenLevelUp favicon.png on OpenLevelUp

Public University of Navarre (UPNA) Library Building -1 - 2 Everything [3]

OpenLevelUp favicon.png on OpenLevelUp

Many Railway Stations worldwide (Berlin, Paris, New York Central, L.A., Sydney, Tokio Ueno Station Growing, see Wiki OpenStationMap www.openstationmap.org