Een gegevensset maken met behulp van een GeoJson-pakket (preview)
Notitie
Buitengebruikstelling van Azure Maps Creator
De indoor kaartservice van Azure Maps Creator is nu afgeschaft en wordt buiten gebruik gesteld op 30-9-25. Zie einde levensduuraankondiging van Azure Maps Creator voor meer informatie.
Met Azure Maps Creator kunnen gebruikers hun indoorkaartgegevens importeren in GeoJSON-indeling met Facility Ontology 2.0, die vervolgens kunnen worden gebruikt om een gegevensset te maken.
Vereisten
- Een Azure Maps-account
- Een abonnementssleutel
- Een Azure Maps Creator-resource
- Een Azure Storage-account
- Basiskennis van Creator voor indoorkaarten
- Basiskennis van Facility Ontology 2.0
- Zip-pakket met alle vereiste GeoJSON-bestanden. Als u geen GeoJSON-bestanden hebt, kunt u het voorbeeld van het Contoso-gebouw downloaden.
Belangrijk
- In dit artikel wordt de
us.atlas.microsoft.com
geografische URL gebruikt. Als uw Creator-service niet is gemaakt in de Verenigde Staten, moet u een andere geografische URL gebruiken. Zie Access to Creator-services voor meer informatie. - In de URL-voorbeelden in dit artikel moet u vervangen door
{Your-Azure-Maps-Subscription-key}
uw Azure Maps-abonnementssleutel.
Gegevensset maken met behulp van het GeoJSON-pakket
Zie de sectie Geojson zip-pakketvereisten voor meer informatie over het GeoJSON-pakket.
Het GeoJSON-pakket uploaden
Volg de stappen in het artikel Gegevensregister maken om het GeoJSON-pakket te uploaden naar uw Azure-opslagaccount en registreer het vervolgens in uw Azure Maps-account.
Belangrijk
Noteer de unieke id (udid
)-waarde die u nodig hebt. U udid
verwijst naar het GeoJSON-pakket dat u hebt geüpload naar uw Azure-opslagaccount vanuit uw broncode en HTTP-aanvragen.
Een gegevensset maken
Een gegevensset is een verzameling kaartfuncties, zoals gebouwen, niveaus en ruimten. Als u een gegevensset wilt maken op basis van uw GeoJSON, gebruikt u de nieuwe API voor het maken van gegevenssets. De API voor het maken van gegevenssets wordt gebruikt udid
in de vorige sectie en retourneert de datasetId
nieuwe gegevensset.
Belangrijk
Dit verschilt van de vorige versie van de API voor het maken van gegevenssets omdat hiervoor geen geconverteerd tekenpakket nodig conversionId
is.
Een gegevensset maken:
- Voer de volgende URL in voor de gegevenssetservice. De aanvraag moet eruitzien als de volgende URL (vervang {udid} door de
udid
verkregen in de sectie GeoJSON-pakket uploaden):
https://us.atlas.microsoft.com/datasets?api-version=2023-03-01-preview&udid={udid}&subscription-key={Your-Azure-Maps-Subscription-key}
- Kopieer de waarde van de
Operation-Location
sleutel in de antwoordheader. DeOperation-Location
sleutel wordt ook wel destatus URL
sleutel genoemd en is vereist om de status van het proces voor het maken van de gegevensset te controleren en om dedatasetId
, die is vereist voor het maken van een tegelset, op te halen.
Controleer de status van het maken van de gegevensset
De status van het proces voor het maken van de gegevensset controleren en het datasetId
volgende ophalen:
Voer de status-URL in die u hebt gekopieerd in Een gegevensset maken. De aanvraag moet lijken op de volgende URL:
https://us.atlas.microsoft.com/datasets/operations/{operationId}?api-version=2023-03-01-preview&subscription-key={Your-Azure-Maps-Subscription-key}
Kopieer in de header van het HTTP-antwoord de waarde van de unieke id in de
Resource-Location
sleutel.https://us.atlas.microsoft.com/datasets/**c9c15957-646c-13f2-611a-1ea7adc75174**?api-version=2023-03-01-preview
Gegevens toevoegen aan een bestaande gegevensset
Gegevens kunnen worden toegevoegd aan een bestaande gegevensset door de parameter op te geven voor de datasetId
API voor het maken van gegevenssets, samen met de unieke id van de gegevens die u wilt toevoegen. De unieke id kan een udid
of conversionId
. Hiermee maakt u een nieuwe gegevensset die bestaat uit de gegevens (faciliteiten) van zowel de bestaande gegevensset als de nieuwe gegevens die worden geïmporteerd. Zodra de nieuwe gegevensset is gemaakt, kan de oude gegevensset worden verwijderd.
Een ding om rekening mee te houden bij het toevoegen aan een bestaande gegevensset is hoe de functie-id's worden gemaakt. Als een gegevensset wordt gemaakt op basis van een geconverteerd tekenpakket, worden de functie-id's automatisch gegenereerd. Wanneer een gegevensset wordt gemaakt op basis van een GeoJSON-pakket, moeten functie-id's worden opgegeven in het GeoJSON-bestand. Wanneer u toevoegt aan een bestaande gegevensset, wordt de manier waarop functie-id's worden gemaakt, aan de oorspronkelijke gegevensset gekoppeld. Als de oorspronkelijke gegevensset is gemaakt met behulp van een udid
, gebruikt deze de id's van de GeoJSON en blijft dit doen met alle GeoJSON-pakketten die in de toekomst aan die gegevensset zijn toegevoegd. Als de gegevensset is gemaakt met behulp van een conversionId
, worden id's intern gegenereerd en blijven ze intern gegenereerd met alle GeoJSON-pakketten die in de toekomst aan die gegevensset worden toegevoegd.
Toevoegen aan gegevensset die is gemaakt op basis van een GeoJSON-bron
Als uw oorspronkelijke gegevensset is gemaakt op basis van een GoeJSON-bron en u een andere faciliteit wilt toevoegen die is gemaakt op basis van een tekenpakket, kunt u deze toevoegen aan uw bestaande gegevensset door te conversionId
verwijzen naar de bijbehorende, zoals wordt gedemonstreerd door deze HTTP POST-aanvraag:
https://us.atlas.microsoft.com/datasets?api-version=2023-03-01-preview&conversionId={conversionId}&outputOntology=facility-2.0&datasetId={datasetId}
Identificatie | Beschrijving |
---|---|
conversionId | De id die wordt geretourneerd bij het converteren van het tekenpakket. |
datasetId | De gegevensset-id die wordt geretourneerd bij het maken van de oorspronkelijke gegevensset van een GeoJSON-pakket. |
Geojson zip-pakketvereisten
Het GeoJSON-zip-pakket bestaat uit een of meer RFC 7946-compatibele GeoJSON-bestanden, één voor elke functieklasse, allemaal in de hoofdmap (submappen worden niet ondersteund), gecomprimeerd met standaard zip-compressie en benoemd met behulp van de .ZIP
extensie.
Elk functieklassebestand moet overeenkomen met de definitie in de Facility Ontology 2.0 en elke functie moet een wereldwijd unieke id hebben.
Functie-id's kunnen alleen alfanumerieke tekens (a-z, A-Z, 0-9), afbreekstreepje (-), punttekens (.) en onderstrepingstekens (_) bevatten.
Tip
Als u zeker wilt zijn dat u een GUID (Globally Unique Identifier) hebt, kunt u overwegen deze te maken door een hulpprogramma voor het genereren van een GUID uit te voeren, zoals het Guidgen.exe opdrachtregelprogramma (beschikbaar met Visual Studio). Guidgen.exe nooit hetzelfde getal twee keer produceert, ongeacht hoe vaak het wordt uitgevoerd of op hoeveel verschillende computers het wordt uitgevoerd.
Facility ontology 2.0-validaties in de gegevensset
Facility Ontology 2.0 definieert hoe Azure Maps Creator faciliteitgegevens intern opslaat, onderverdeeld in functieklassen, in een Creator-gegevensset. Wanneer u een GeoJSON-pakket importeert, wordt telkens wanneer een functie wordt toegevoegd of gewijzigd, een reeks validaties uitgevoerd. Dit omvat referentiële integriteitscontroles en geometrie- en kenmerkvalidaties. Deze validaties worden uitgebreid beschreven in de volgende lijst.
- Het maximum aantal functies dat tegelijkertijd in een gegevensset kan worden geïmporteerd, is 150.000.
- De faciliteit kan tussen 4 en 4.000 vierkante km.
- Het element op het hoogste niveau is faciliteit, die elk gebouw in de file facility.geojson definieert.
- Elke faciliteit heeft een of meer niveaus, die zijn gedefinieerd in de bestandsniveaus.goejson.
- Elk niveau moet zich in de faciliteit bevinden.
- Elk niveau bevat eenheden, structuren, verticalPenetrations en openingen. Alle items die in het niveau zijn gedefinieerd, moeten volledig zijn opgenomen in de geometrie op niveau.
unit
kan bestaan uit een matrix van items zoals gangen, kantoren en binnenplaatsen, die worden gedefinieerd door vlak-, lijn- of puntelementen. Eenheden worden gedefinieerd in de bestandseenheid.goejson.- Alle
unit
elementen moeten volledig zijn opgenomen in hun niveau en snijden met hun kinderen.
- Alle
structure
definieert fysieke, niet-overlappende gebieden die niet kunnen worden genavigeerd, zoals een muur. Structuren worden gedefinieerd in de bestandsstructuur.goejson.verticalPenetration
vertegenwoordigt een methode voor het verticaal navigeren tussen niveaus, zoals trappen en liften en zijn gedefinieerd in het bestand verticalPenetration.geojson.- verticalPenetrations kunnen niet met andere verticalPenetrations op hetzelfde niveau snijden.
openings
definieer doorkruisbare grenzen tussen twee eenheden, of eenunit
enverticalPenetration
en worden gedefinieerd in het bestand opening.geojson.- Openingen kunnen niet snijden met andere openingen op hetzelfde niveau.
- Elk
opening
moet zijn gekoppeld aan ten minste éénverticalPenetration
ofunit
.