Udostępnij za pośrednictwem


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

Uwaga

Wycofanie usługi Azure Maps Creator

Usługa mapy wewnętrznej usługi Azure Maps Creator jest teraz przestarzała i zostanie wycofana w dniu 30.09.25. Aby uzyskać więcej informacji, zobacz Ogłoszenie o zakończeniu życia twórcy usługi Azure Maps.

Twórca usługi Azure Maps 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.

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 Maps.

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 do konta usługi Azure Storage, a następnie zarejestrować go na koncie usługi Azure Maps.

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

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.
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 uruchomiona lub ile różnych maszyn jest uruchomionych.

Walidacje ontologii obiektu 2.0 w zestawie danych

Funkcja Ontology 2.0 definiuje sposób, w jaki twórca usługi Azure Maps wewnętrznie przechowuje dane obiektów, podzielone na klasy cech w zestawie danych Creator. 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.