Twórca map wnętrz

W tym artykule przedstawiono pojęcia i narzędzia, które mają zastosowanie do usługi Azure Mapy Creator. Zalecamy przeczytanie tego artykułu przed rozpoczęciem korzystania z interfejsu API i zestawu SDK dla twórców platformy Azure Mapy.

Za pomocą twórcy można tworzyć aplikacje z funkcjami mapy opartymi na danych mapy wewnętrznej. W tym artykule opisano proces przekazywania, konwertowania, tworzenia i używania danych mapy. Zazwyczaj przepływ pracy jest wykonywany przez dwie różne osoby z różnymi obszarami wiedzy i odpowiedzialności:

  • Twórca mapy: odpowiedzialny za curowanie i przygotowywanie danych mapy.
  • Użytkownik danych mapy twórcy: używa danych mapy klienta w aplikacjach.

Na poniższym diagramie przedstawiono cały przepływ pracy.

Creator map data workflow

Tworzenie twórcy usługi Azure Mapy

Aby korzystać z usług Creator, należy utworzyć zasób usługi Azure Mapy Creator i skojarzyć go z kontem usługi Azure Mapy z warstwą cenową Gen 2. Aby uzyskać informacje o sposobie tworzenia zasobu usługi Azure Mapy Creator na platformie Azure, zobacz Zarządzanie usługą Azure Mapy Creator.

Napiwek

Aby uzyskać informacje o cenach, zobacz sekcję Twórca w cenniku usługi Azure Mapy.

Uwierzytelnianie twórców

Twórca dziedziczy ustawienia kontroli dostępu (IAM) platformy Azure Mapy. Wszystkie wywołania interfejsu API na potrzeby dostępu do danych muszą być wysyłane z regułami uwierzytelniania i autoryzacji.

Dane użycia twórcy są uwzględniane na wykresach użycia usługi Azure Mapy i w dzienniku aktywności. Aby uzyskać więcej informacji, zobacz Zarządzanie uwierzytelnianiem w usłudze Azure Mapy.

Ważne

Zalecamy użycie:

  • Microsoft Entra ID we wszystkich rozwiązaniach utworzonych przy użyciu konta usługi Azure Mapy przy użyciu usług Creator. Aby uzyskać więcej informacji na temat identyfikatora Entra firmy Microsoft, zobacz Microsoft Entra authentication (Uwierzytelnianie entra firmy Microsoft).

  • Ustawienia kontroli dostępu opartej na rolach. Korzystając z tych ustawień, twórcy map mogą pełnić rolę współautora danych platformy Azure Mapy, a użytkownicy mapowania twórców mogą pełnić rolę czytelnika danych usługi Azure Mapy. Aby uzyskać więcej informacji, zobacz Autoryzacja z kontrolą dostępu opartą na rolach.

Typy elementów danych twórcy

Usługi twórców tworzą, przechowują i używają różnych typów danych zdefiniowanych i omówionych w poniższych sekcjach. Element danych twórcy może mieć następujące typy:

  • Przekonwertowane dane
  • Zestaw danych
  • Zestaw kafelków
  • — styl
  • Konfiguracja mapy
  • Zestaw stanów funkcji
  • Zestaw tras

Przekazywanie pakietu rysunkowego

Twórca zbiera dane mapy wewnętrznej, konwertując przekazany pakiet rysunkowy. Pakiet rysunkowy reprezentuje skonstruowany lub przebudowany obiekt. Aby uzyskać informacje na temat wymagań dotyczących pakietu rysunkowego, zobacz Wymagania dotyczące pakietu rysunku.

Wykonaj kroki opisane w artykule How to create data registry (Jak utworzyć rejestr danych), aby przekazać pakiet rysunkowy na konto usługi Azure Storage, a następnie zarejestrować go na koncie usługi Azure Mapy.

Ważne

Pamiętaj, aby zanotować wartość unikatowego identyfikatora (udid), która będzie potrzebna. Element udid jest wymagany do przekonwertowania przekazanego pakietu na dane mapy wewnętrznej.

Konwertowanie pakietu rysunkowego

Usługa konwersji konwertuje przekazany pakiet rysunku na dane mapy wewnętrznej. Usługa konwersji weryfikuje również pakiet. Problemy z walidacją są klasyfikowane na dwa typy:

  • Błędy: Jeśli zostaną wykryte jakiekolwiek błędy, proces konwersji zakończy się niepowodzeniem. W przypadku wystąpienia błędu usługa konwersji udostępnia link do autonomicznej aplikacji internetowej usługi Azure Mapy Drawing Error Visualizer. Możesz użyć wizualizatora błędów rysunku, aby sprawdzić ostrzeżenia i błędy pakietu rysunku, które wystąpiły podczas procesu konwersji. Po usunięciu błędów możesz spróbować przekazać i przekonwertować pakiet.
  • Ostrzeżenia: jeśli zostaną wykryte jakiekolwiek ostrzeżenia, konwersja powiedzie się. Zalecamy jednak przejrzenie i rozwiązanie wszystkich ostrzeżeń. Ostrzeżenie oznacza, że część konwersji została zignorowana lub automatycznie naprawiona. Niepowodzenie rozwiązywania ostrzeżeń może spowodować błędy w późniejszych procesach. Aby uzyskać więcej informacji, zobacz Rysowanie ostrzeżeń i błędów pakietu.

Tworzenie danych mapy wewnętrznej

Usługa Azure Mapy Creator udostępnia następujące usługi, które obsługują tworzenie mapy:

  • Usługa zestawu danych.
  • Usługa zestawu kafelków. Użyj usługi Zestaw kafelków, aby utworzyć wektorową reprezentację zestawu danych. Aplikacje mogą używać zestawu kafelków do prezentowania wizualnego widoku zestawu danych opartego na kafelkach.
  • Niestandardowa usługa stylów. Użyj edytora stylów lub stylu wizualizacji, aby dostosować elementy wizualne mapy wnętrz.
  • Usługa stanu funkcji. Użyj usługi Stan funkcji, aby obsługiwać dynamiczne style mapowania. Aplikacje mogą używać dynamicznego stylu mapy, aby odzwierciedlać zdarzenia w czasie rzeczywistym w przestrzeniach udostępnianych przez system IoT.
  • Usługa Wayfinding. Użyj interfejsu API tworzenia metody, aby wygenerować ścieżkę między dwoma punktami w obiekcie. Użyj interfejsu API zestawu tras, aby utworzyć dane potrzebne do wygenerowania ścieżek przez usługę wayfinding.

Zestawy danych

Zestaw danych to kolekcja funkcji mapy wewnętrznej. Funkcje mapy wewnętrznej reprezentują obiekty zdefiniowane w przekonwertowanym pakiecie rysunkowym. Po utworzeniu zestawu danych w usłudze Dataset można utworzyć dowolną liczbę zestawów kafelków lub zestawów stanów funkcji.

W dowolnym momencie deweloperzy mogą używać usługi Dataset do dodawania lub usuwania obiektów do istniejącego zestawu danych. Aby uzyskać więcej informacji na temat aktualizowania istniejącego zestawu danych przy użyciu interfejsu API, zobacz opcje dołączania w usłudze Zestaw danych. Aby zapoznać się z przykładem aktualizowania zestawu danych, zobacz Konserwacja danych.

Zestawy kafelków

Zestaw kafelków to kolekcja danych wektorowych, która reprezentuje zestaw jednolitych kafelków siatki. Deweloperzy mogą używać usługi Zestaw kafelków do tworzenia zestawów kafelków na podstawie zestawu danych.

Aby odzwierciedlić różne etapy zawartości, można utworzyć wiele zestawów kafelków z tego samego zestawu danych. Na przykład można zrobić jeden zestaw kafelków z meblami i sprzętem, a drugi kafelki bez mebli i sprzętu. Możesz wygenerować jeden zestaw kafelków z najnowszymi aktualizacjami danych, a drugi zestaw kafelków bez najnowszych aktualizacji danych.

Oprócz danych wektorowych zestaw kafelków udostępnia metadane na potrzeby optymalizacji renderowania map. Na przykład metadane zestawu kafelków zawierają minimalny i maksymalny poziom powiększenia zestawu kafelków. Metadane zawierają również pole ograniczenia, które definiuje zakres geograficzny zestawu kafelków. Aplikacja może użyć pola ograniczenia, aby programowo ustawić prawidłowy punkt środkowy. Aby uzyskać więcej informacji na temat metadanych zestawu kafelków, zobacz Lista zestawów kafelków.

Po utworzeniu zestawu kafelków jest on pobierany przy użyciu usługi Renderowanie.

Jeśli zestaw kafelków staje się nieaktualny i nie jest już przydatny, możesz usunąć zestaw kafelków. Aby uzyskać informacje o sposobie usuwania zestawów kafelków, zobacz Konserwacja danych.

Uwaga

Zestaw kafelków jest niezależny od zestawu danych, z którego został utworzony. Jeśli utworzysz zestawy kafelków na podstawie zestawu danych, a następnie zaktualizujesz ten zestaw danych, zestawy kafelków nie zostaną zaktualizowane.

Aby odzwierciedlić zmiany w zestawie danych, należy utworzyć nowe zestawy kafelków. Podobnie, jeśli usuniesz zestaw kafelków, zestaw danych nie będzie miał wpływu.

Niestandardowe style (wersja zapoznawcza)

Styl definiuje wygląd wizualizacji mapy. Definiuje ona dane do rysowania, kolejność ich rysowania oraz sposób tworzenia stylu danych podczas ich rysowania. Style usługi Azure Mapy Creator obsługują standard MapLibre dla warstw stylów i sprites.

Po przekonwertowaniu pakietu rysunkowego po przekazaniu go na konto usługi Azure Mapy domyślne style są stosowane do elementów mapy. Niestandardowa usługa stylów umożliwia dostosowanie wyglądu wizualizacji mapy. Możesz to zrobić, edytując ręcznie kod JSON stylu i importując go do konta usługi Azure Mapy przy użyciu stylu — utwórz żądanie HTTP, jednak zalecane jest użycie edytora stylów wizualizacji. Aby uzyskać więcej informacji, zobacz Tworzenie niestandardowych stylów dla map wnętrz.

Przykładowa warstwa w pliku style.json:

{
	"id": "indoor_unit_gym_label",
	"type": "symbol",
	"filter": ["all", ["has","floor0"], ["any", ["==", "categoryName", "room.gym"]]],
	"layout": {
		"visibility": "none",
		"icon-image": "gym",
		"icon-size": {"stops": [[17.5, 0.7], [21, 1.1]]},
		"symbol-avoid-edges": true,
		"symbol-placement": "point",
		"text-anchor": "top",
		"text-field": "{name}",
		"text-font": ["SegoeFrutigerHelveticaMYingHei-Medium"],
		"text-keep-upright": true,
		"text-letter-spacing": 0.1,
		"text-offset": [0, 1.05],
		"text-size": {"stops": [[18, 5], [18.5, 6.5], [19, 8], [19.5, 9.5], [20, 11]]}
	},
	"metadata": {"microsoft.maps:layerGroup": "labels_indoor"},
	"minzoom": 17.5,
	"paint": {
		"text-color": "rgba(0, 0, 0, 1)",
		"text-halo-blur": 0.5,
		"text-halo-color": "rgba(255, 255, 255, 1)",
		"text-halo-width": 1,
		"text-opacity": ["step", ["zoom"], 0, 18, 1]
	},
	"source-layer": "Indoor unit"
},
Właściwości warstwy opis
identyfikator Nazwa warstwy
type Typ renderowania dla tej warstwy.
Oto niektóre z bardziej typowych typów:
wypełnienie: wypełniony wielokąt z opcjonalnym obramowaniem pociągniętym.
Linia: linia pociągnięta.
Symbol: ikona lub etykieta tekstowa.
wypełnienie-wytłaczanie: wielokąt ekstrudowany (3D).
filtr Wyświetlane są tylko funkcje zgodne z kryteriami filtrowania.
mobilny Właściwości układu dla warstwy.
minzoom Liczba z zakresu od 0 do 24, która reprezentuje minimalny poziom powiększenia dla warstwy. Na poziomach powiększenia mniejszych niż minzoom warstwa jest ukryta.
Farby Domyślne właściwości farby dla tej warstwy.
warstwa źródłowa Źródło dostarcza dane ze źródła kafelka wektorowego wyświetlanego na mapie. Wymagane dla źródeł kafelków wektorowych; zabronione dla wszystkich innych typów źródeł, w tym źródeł GeoJSON.

Konfiguracja mapy

Konfiguracja mapy to tablica konfiguracji. Każda konfiguracja składa się z mapy podstawowej i co najmniej jednej warstwy składającej się z krotki zestawów kafelków stylów + .

Konfiguracja mapy jest używana podczas tworzenia wystąpień menedżera wnętrz obiektu Mapy podczas tworzenia aplikacji w usłudze Azure Mapy. Odwołuje się do niego przy użyciu elementu mapConfigurationId lub alias. Konfiguracje mapy są niezmienne. Podczas wprowadzania zmian w istniejącej konfiguracji mapy zostanie utworzona nowa konfiguracja mapy, co spowoduje powstanie innego mapConfingurationIdelementu . Za każdym razem, gdy tworzysz konfigurację mapy przy użyciu aliasu, który jest już używany przez istniejącą konfigurację mapy, wskazuje nową konfigurację mapy.

Poniższy kod JSON jest przykładem domyślnej konfiguracji mapy. Aby uzyskać opis każdego elementu pliku, zobacz następującą tabelę:

{
    "version": 1.0,
    "description": "This is the default Azure Maps map configuration for facility ontology tilesets.",
    "defaultConfiguration": "indoor_light",
    "configurations": [
        {
            "name": "indoor_light",
            "displayName": "Indoor light",
            "description": "A base style for Azure Maps.",
            "thumbnail": "indoor_2022-01-01.png",
            "baseMap": "microsoft_light",
            "layers": [
                {
                    "tilesetId": "fa37d225-924e-3f32-8441-6128d9e5519a",
                    "styleId": "microsoft-maps:indoor_2022-01-01"
                }
            ]
        },
        {
            "name": "indoor_dark",
            "displayName": "Indoor dark",
            "description": "A base style for Azure Maps.",
            "thumbnail": "indoor_dark_2022-01-01.png",
            "baseMap": "microsoft_dark",
            "layers": [
                {
                    "tilesetId": "fa37d225-924e-3f32-8441-6128d9e5519a",
                    "styleId": "microsoft-maps:indoor_dark_2022-01-01"
                }
            ]
        }
    ]
}
Właściwości obiektu stylu opis
Nazwa/nazwisko Nazwa stylu.
displayName Nazwa wyświetlana stylu.
opis Użytkownik zdefiniował opis stylu.
thumbnail Użyj polecenia , aby określić miniaturę używaną w selektorze stylów dla tego stylu. Aby uzyskać więcej informacji, zobacz kontrolkę selektora stylów.
Mapy bazowej Służy do ustawiania stylu mapy podstawowej.
Warstwy Tablica warstw składa się z co najmniej jednej kolekcji kafelków i krotki stylu , z których każda jest warstwą mapy. Umożliwia to wiele budynków na mapie, każdy budynek reprezentowany we własnym zestawie kafelków.

Dodatkowe informacje

Zestawy stanów funkcji

Zestawy stanów funkcji to kolekcje właściwości dynamicznych (stanów) przypisanych do funkcji zestawu danych, takich jak pokoje lub wyposażenie. Przykładem stanu może być temperatura lub zajętość. Każdy stan jest parą klucz/wartość zawierającą nazwę właściwości, wartość i sygnaturę czasową ostatniej aktualizacji.

Za pomocą usługi Stan funkcji można utworzyć zestaw stanów funkcji dla zestawu danych i zarządzać nim. Zestaw stanów jest definiowany przez co najmniej jeden stan. Każda funkcja, taka jak pokój, może mieć dołączony jeden stan .

Wartość każdego stanu w zestawie stanów jest aktualizowana lub pobierana przez urządzenia IoT lub inne aplikacje. Na przykład przy użyciu interfejsu API aktualizacji stanu funkcji urządzenia mierzące zajętość przestrzeni mogą systematycznie publikować zmiany stanu pomieszczenia.

Aplikacja może używać zestawu stanów funkcji do dynamicznego renderowania funkcji w obiekcie zgodnie z ich bieżącym stanem i odpowiednim stylem mapy. Aby uzyskać więcej informacji na temat używania zestawów stanów funkcji do tworzenia stylów funkcji na mapie renderowania, zobacz moduł Indoor Mapy (Kryty moduł Mapy).

Uwaga

Podobnie jak zestawy kafelków, zmiana zestawu danych nie ma wpływu na istniejący zestaw stanów funkcji, a usunięcie zestawu stanów funkcji nie ma wpływu na zestaw danych, do którego jest dołączony.

Wayfinding (wersja zapoznawcza)

Usługa Wayfinding umożliwia zapewnienie klientom najkrótszej ścieżki między dwoma punktami w obiekcie. Po zaimportowaniu danych mapy wewnętrznej i utworzeniu zestawu danych można go użyć do utworzenia zestawu tras. Zestaw tras udostępnia dane wymagane do wygenerowania ścieżek między dwoma punktami. Usługa wayfinding uwzględnia takie elementy jak minimalna szerokość otworów i opcjonalnie może wykluczać windy lub schody podczas poruszania się między poziomami w wyniku.

Sposób tworzenia jest obsługiwany przez Havok.

Ścieżki sposobu findowania

Po pomyślnym wygenerowaniu ścieżki określenia sposobu znajduje najkrótszą ścieżkę między dwoma punktami w określonym obiekcie. Każde piętro w podróży jest reprezentowane jako oddzielna noga, podobnie jak wszelkie schody lub windy używane do poruszania się między podłogami.

Na przykład pierwsza część ścieżki może pochodzić od źródła do windy na tym piętrze. Następną nogą jest winda, a następnie ostatnią nogą jest ścieżka z windy do miejsca docelowego. Szacowany czas podróży jest również obliczany i zwracany w formacie JSON odpowiedzi HTTP.

Struktura

Aby można było pracować, dane obiektu muszą zawierać strukturę. Usługa wayfinding oblicza najkrótszą ścieżkę między dwoma wybranymi punktami w obiekcie. Usługa tworzy ścieżkę, nawigując po strukturach, takich jak ściany i wszelkie inne nieprzepuszczalne struktury.

Penetracja pionowa

Jeśli wybrane źródło i miejsce docelowe znajdują się na różnych piętrach, usługa wayfinding określa, jakie obiekty pionowePenetration , takie jak schody lub windy, są dostępne jako możliwe ścieżki do poruszania się w pionie między poziomami. Domyślnie jest używana opcja, która powoduje najkrótszą ścieżkę.

Usługa Wayfinding obejmuje schody lub windy w ścieżce na podstawie wartości właściwości penetracji direction pionowej. Aby uzyskać więcej informacji na temat właściwości kierunku, zobacz verticalPenetration w artykule Dotyczącym ontologii obiektu. Zapoznaj się z avoidFeatures właściwościami i minWidth w dokumentacji interfejsuAPIego interfejsu API, aby dowiedzieć się więcej o innych czynnikach, które mogą mieć wpływ na wybór ścieżki między poziomami podłogi.

Aby uzyskać więcej informacji, zobacz artykuł How-to service wayfinding usługi Map krytych.

Korzystanie z map wnętrz

Renderowanie — uzyskiwanie interfejsu API kafelka mapy

Interfejs API [Render — Pobierz kafelek mapy] platformy Azure Mapy został rozszerzony w celu obsługi zestawów kafelków dla twórców.

Aplikacje mogą używać interfejsu API renderowania — pobierz kafelek mapy w celu żądania zestawów kafelków. Zestawy kafelków można następnie zintegrować z kontrolką mapy lub zestawem SDK. Przykład kontrolki mapy korzystającej z usługi Render można znaleźć w temacie Indoor Mapy Module (Wewnętrzny moduł Mapy).

Internetowy interfejs API usługi funkcji

Usługa funkcji sieci Web (WFS) umożliwia wykonywanie zapytań dotyczących zestawów danych. Program WFS jest zgodny z funkcjami interfejsu API Open Geospatial Consortium. Interfejs API systemu plików WFS umożliwia wykonywanie zapytań dotyczących funkcji w samym zestawie danych. Na przykład można użyć systemu WFS, aby znaleźć wszystkie średniej wielkości sale konferencyjne określonego obiektu i poziomu podłogi.

Interfejs API aliasu

Usługi twórców, takie jak Konwersja, Zestaw danych, Zestaw kafelków i Stan funkcji, zwracają identyfikator dla każdego zasobu utworzonego na podstawie interfejsów API. Interfejs API aliasu umożliwia przypisanie aliasu do odwoływania się do identyfikatora zasobu.

Moduł planów wnętrz

Zestaw SDK sieci Web usługi Azure Mapy zawiera moduł Indoor Mapy. Ten moduł oferuje rozszerzone funkcje biblioteki kontrolek map usługi Azure Mapy. Moduł Indoor Mapy renderuje mapy wewnętrzne utworzone w kreatorze. Integruje widżety, takie jak selektor podłogowy, które ułatwiają użytkownikom wizualizowanie różnych pomieszczeń.

Moduł Indoor Mapy umożliwia tworzenie aplikacji internetowych, które integrują dane mapy wewnętrznej z innymi usługami azure Mapy. Najbardziej typowe konfiguracje aplikacji obejmują dodawanie wiedzy z innych map — takich jak droga, obrazy, pogoda i tranzyt — do map w pomieszczeniach.

Moduł Indoor Mapy obsługuje również dynamiczne style map. Aby zapoznać się z przewodnikiem krok po kroku dotyczącym implementowania dynamicznego stylu zestawu stanów funkcji w aplikacji, zobacz Używanie modułu Mapa wewnętrzna.

Integracja z usługą Azure Mapy

Gdy zaczniesz opracowywać rozwiązania dla map wewnętrznych, możesz odnaleźć sposoby integrowania istniejących funkcji usługi Azure Mapy. Można na przykład zaimplementować scenariusze śledzenia zasobów lub bezpieczeństwa przy użyciu usługi Geofence z mapami wnętrz twórcy. Na przykład możesz użyć interfejsu API geofencingu, aby określić, czy pracownik wchodzi do określonych obszarów w pomieszczeniach, czy opuszcza go. Aby uzyskać więcej informacji na temat łączenia usługi Azure Mapy z telemetrią IoT, zobacz Samouczek: implementowanie analizy przestrzennej IoT przy użyciu usługi Azure Mapy.

Konserwacja danych

Interfejs API listy twórców, aktualizacji i usuwania platformy Azure Mapy umożliwia wyświetlanie, aktualizowanie i usuwanie zestawów danych, zestawów kafelków i zestawów stanów funkcji.

Uwaga

Podczas przeglądania listy elementów w celu określenia, czy je usunąć, należy wziąć pod uwagę wpływ tego usunięcia na wszystkie zależne interfejsy API lub aplikacje. Jeśli na przykład usuniesz zestaw kafelków używany przez aplikację za pomocą interfejsu API [Render — Pobierz kafelek mapy], aplikacja nie będzie renderować tego zestawu kafelków.

Przykład: aktualizowanie zestawu danych

W poniższym przykładzie pokazano, jak zaktualizować zestaw danych, utworzyć nowy zestaw kafelków i usunąć stary zestaw kafelków:

  1. Wykonaj kroki opisane w sekcjach Przekazywanie pakietu rysunkowego i Konwertowanie pakietu rysunkowego w celu przekazania i przekonwertowania nowego pakietu rysunkowego.
  2. Użyj polecenia Dataset Create , aby dołączyć przekonwertowane dane do istniejącego zestawu danych.
  3. Użyj zestawu kafelków Utwórz , aby wygenerować nowy zestaw kafelków ze zaktualizowanego zestawu danych.
  4. Zapisz nowy element tilesetId na potrzeby następnego kroku.
  5. Aby włączyć wizualizację zaktualizowanego zestawu danych kampusu, zaktualizuj identyfikator zestawu kafelków w aplikacji. Jeśli stary zestaw kafelków nie jest już używany, możesz go usunąć.

Następne kroki