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
- Konto usługi Azure Maps
- Klucz subskrypcji
- Zasób twórcy usługi Azure Maps
- konto usługi Azure Storage
- Podstawowa wiedza o twórcy na potrzeby map w pomieszczeniach
- Podstawowa wiedza na temat ontologii obiektu 2.0
- Pakiet zip zawierający wszystkie wymagane pliki GeoJSON. Jeśli nie masz plików GeoJSON, możesz pobrać przykład kompilacji firmy Contoso.
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:
- 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}
- Skopiuj wartość
Operation-Location
klucza w nagłówku odpowiedzi. KluczOperation-Location
jest również znany jakostatus URL
i jest wymagany do sprawdzenia stanu procesu tworzenia zestawu danych i pobraniadatasetId
, 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
:
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}
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 udid
elementu , 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 conversionId
identyfikatora , 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.
- Wszystkie
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 elementamiunit
iverticalPenetration
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 jednymverticalPenetration
lubunit
.