Tworzenie zestawu danych przy użyciu pakietu GeoJson (wersja zapoznawcza)

Usługa Azure Mapy Creator umożliwia użytkownikom importowanie danych mapy wewnętrznej w formacie GeoJSON za pomocą funkcji Facility Ontology 2.0, która następnie może służyć do tworzenia zestawu danych.

Uwaga

W tym artykule wyjaśniono, jak utworzyć zestaw danych na podstawie pakietu GeoJSON. Aby uzyskać informacje na temat dodatkowych kroków wymaganych do ukończenia mapy wewnętrznej, zobacz Następne kroki.

Wymagania wstępne

Ważne

  • W tym artykule jest używany us.atlas.microsoft.com adres URL geograficzny. Jeśli usługa Creator nie została utworzona w Stany Zjednoczone, musisz użyć innego adresu URL geograficznego. Aby uzyskać więcej informacji, zobacz Access to Creator services (Dostęp do usług dla twórców).
  • W przykładach adresów URL w tym artykule należy zastąpić {Your-Azure-Maps-Subscription-key} kluczem subskrypcji usługi Azure Mapy.

Tworzenie zestawu danych przy użyciu pakietu GeoJSON

Aby uzyskać więcej informacji na temat pakietu GeoJSON, zobacz sekcję Wymagania dotyczące pakietu zip Geojson.

Przekazywanie pakietu GeoJSON

Wykonaj kroki opisane w artykule How to create data registry (Jak utworzyć rejestr danych), aby przekazać pakiet GeoJSON 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. W udid ten sposób odwołujesz się do pakietu GeoJSON przekazanego do konta usługi Azure Storage z kodu źródłowego i żądań HTTP.

Tworzenie zestawu danych

Zestaw danych to kolekcja funkcji mapy, takich jak budynki, poziomy i pokoje. Aby utworzyć zestaw danych na podstawie pliku GeoJSON, użyj nowego interfejsu API tworzenia zestawu danych. Interfejs API tworzenia zestawu danych pobiera dane udid z poprzedniej sekcji i zwraca datasetId nowy zestaw danych.

Ważne

Różni się to od poprzedniej wersji interfejsu API tworzenia zestawu danych, ponieważ nie wymaga conversionId on elementu z przekonwertowanego pakietu rysunkowego.

Aby utworzyć zestaw danych:

  1. Wprowadź następujący adres URL do usługi zestawu danych. Żądanie powinno wyglądać podobnie do następującego adresu URL (zastąp element {udid} ciągiem uzyskanym udid w sekcji Przekazywanie pakietu GeoJSON):
https://us.atlas.microsoft.com/datasets?api-version=2023-03-01-preview&udid={udid}&subscription-key={Your-Azure-Maps-Subscription-key}
  1. Skopiuj wartość Operation-Location klucza w nagłówku odpowiedzi. Klucz Operation-Location jest również znany jako status URL i jest wymagany do sprawdzenia stanu procesu tworzenia zestawu danych i pobrania datasetId, który jest wymagany do utworzenia zestawu kafelków.

Sprawdzanie stanu tworzenia zestawu danych

Aby sprawdzić stan procesu tworzenia zestawu danych i pobrać element datasetId:

  1. Wprowadź adres URL stanu skopiowany w obszarze Tworzenie zestawu danych. Żądanie powinno wyglądać podobnie do następującego adresu URL:

    https://us.atlas.microsoft.com/datasets/operations/{operationId}?api-version=2023-03-01-preview&subscription-key={Your-Azure-Maps-Subscription-key}
    
  2. W nagłówku odpowiedzi HTTP skopiuj wartość unikatowego identyfikatora zawartego w kluczu Resource-Location .

    https://us.atlas.microsoft.com/datasets/**c9c15957-646c-13f2-611a-1ea7adc75174**?api-version=2023-03-01-preview

Zobacz Następne kroki , aby uzyskać linki do artykułów, które ułatwiają ukończenie mapy wnętrz.

Dodawanie danych do istniejącego zestawu danych

Dane można dodać do istniejącego zestawu danych, podając datasetId parametr do interfejsu API tworzenia zestawu danych wraz z unikatowym identyfikatorem danych, które chcesz dodać. Unikatowy identyfikator może być identyfikatorem udid lub conversionId. Spowoduje to utworzenie nowego zestawu danych składającego się z danych (obiektów) zarówno z istniejącego zestawu danych, jak i zaimportowanych nowych danych. Po pomyślnym utworzeniu nowego zestawu danych można usunąć stary zestaw danych.

Jedną z kwestii, które należy wziąć pod uwagę podczas dodawania do istniejącego zestawu danych, jest sposób tworzenia identyfikatorów funkcji. Jeśli zestaw danych jest tworzony na podstawie przekonwertowanego pakietu rysunkowego, identyfikatory funkcji są generowane automatycznie. Po utworzeniu zestawu danych na podstawie pakietu GeoJSON identyfikatory funkcji muszą być podane w pliku GeoJSON. Podczas dołączania do istniejącego zestawu danych oryginalny zestaw danych napędza sposób tworzenia identyfikatorów funkcji. Jeśli oryginalny zestaw danych został utworzony przy użyciu udidelementu , używa identyfikatorów z pliku GeoJSON i będzie nadal to robić wraz ze wszystkimi pakietami GeoJSON dołączonymi do tego zestawu danych w przyszłości. Jeśli zestaw danych został utworzony przy użyciu conversionIdidentyfikatora , zostaną wygenerowane wewnętrznie i będą nadal generowane wewnętrznie przy użyciu wszystkich pakietów GeoJSON dołączonych do tego zestawu danych w przyszłości.

Dodawanie do zestawu danych utworzonego na podstawie źródła GeoJSON

Jeśli oryginalny zestaw danych został utworzony na podstawie źródła goeJSON i chcesz dodać inny obiekt utworzony na podstawie pakietu rysunkowego, możesz dołączyć go do istniejącego zestawu danych, odwołując się do niego conversionId, jak pokazano w tym żądaniu HTTP POST:

https://us.atlas.microsoft.com/datasets?api-version=2023-03-01-preview&conversionId={conversionId}&outputOntology=facility-2.0&datasetId={datasetId}
Identyfikator opis
identyfikator konwersji Identyfikator zwrócony podczas konwertowania pakietu rysunkowego. Aby uzyskać więcej informacji, zobacz Konwertowanie pakietu rysunku.
datasetId Identyfikator zestawu danych zwrócony podczas tworzenia oryginalnego zestawu danych z pakietu GeoJSON.

Wymagania dotyczące pakietu zip w formacie Geojson

Pakiet zip GeoJSON składa się z co najmniej jednego zgodnego pliku GeoJSON RFC 7946 , jeden dla każdej klasy funkcji, wszystkie w katalogu głównym (podkatalogi nie są obsługiwane), skompresowane ze standardową kompresją zip i nazwane przy użyciu .ZIP rozszerzenia.

Każdy plik klasy cech musi być zgodny z definicją w klasie Facility Ontology 2.0 , a każda funkcja musi mieć unikatowy identyfikator globalny.

Identyfikatory funkcji mogą zawierać tylko znaki alfanumeryczne (a-z, A-Z, 0-9), łącznik (-), kropkę (.) i znaki podkreślenia (_).

Napiwek

Jeśli chcesz mieć pewność, że masz unikatowy identyfikator globalny (GUID), rozważ utworzenie go, uruchamiając narzędzie do generowania identyfikatora GUID, takiego jak program wiersza polecenia Guidgen.exe (dostępny w programie Visual Studio). Guidgen.exe nigdy nie generuje tej samej liczby dwa razy, niezależnie od tego, ile razy jest uruchamiany lub ile różnych maszyn jest uruchomionych.

Walidacje ontologii obiektu 2.0 w zestawie danych

Funkcja Ontology 2.0 definiuje sposób, w jaki usługa Azure Mapy Creator wewnętrznie przechowuje dane obiektów, podzielone na klasy cech w zestawie danych twórcy. Podczas importowania pakietu GeoJSON po dodaniu lub zmodyfikowaniu funkcji zostanie uruchomiona seria walidacji. Obejmuje to kontrole integralności referencyjnej oraz weryfikacje geometrii i atrybutów. Te weryfikacje zostały szczegółowo opisane na poniższej liście.

  • Maksymalna liczba funkcji, które można zaimportować do zestawu danych, wynosi 150 000.
  • Powierzchnia obiektu może należeć do zakresu od 4 do 4000 km kw.
  • Element najwyższego poziomu to obiekt, który definiuje każdy budynek w pliku facility.geojson.
  • Każdy obiekt ma co najmniej jeden poziom zdefiniowany w pliku levels.goejson.
    • Każdy poziom musi znajdować się wewnątrz obiektu.
  • Każdy poziom zawiera jednostki, struktury, pionowePenetrations i otwory. Wszystkie elementy zdefiniowane na poziomie muszą być w pełni zawarte w geometrii poziomu.
    • unit może składać się z tablicy elementów, takich jak korytarze, biura i dziedzińce, które są zdefiniowane według elementów obszaru, linii lub punktu . Jednostki są definiowane w pliku unit.goejson.
      • Wszystkie unit elementy muszą być w pełni zawarte w ich poziomie i przecinać się ze swoimi elementami podrzędnymi.
    • structure definiuje fizyczne, nienakładujące się obszary, przez które nie można przechodzić, takich jak ściana. Struktury są definiowane w pliku structure.goejson.
    • verticalPenetration reprezentuje metodę nawigowania w pionie między poziomami, takimi jak schody i windy, i są zdefiniowane w pliku verticalPenetration.geojson.
      • verticalPenetrations nie może przecinać się z innymi pionowymipenetrations na tym samym poziomie.
    • openings zdefiniuj granice przechodzenia między dwiema jednostkami lub elementami unit i verticalPenetration są zdefiniowane w pliku opening.geojson.
      • Otwory nie mogą przecinać się z innymi otworami na tym samym poziomie.
      • Każdy opening musi być skojarzony z co najmniej jednym verticalPenetration lub unit.

Następne kroki