Een gegevensset maken met behulp van een GeoJson-pakket (preview)

Met Azure Kaarten Creator kunnen gebruikers hun indoorkaartgegevens importeren in GeoJSON-indeling met Facility Ontology 2.0, die vervolgens kunnen worden gebruikt om een gegevensset te maken.

Notitie

In dit artikel wordt uitgelegd hoe u een gegevensset maakt op basis van een GeoJSON-pakket. Zie Volgende stappen voor meer informatie over aanvullende stappen die nodig zijn om een indoorkaart te voltooien.

Vereisten

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 Kaarten-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 Kaarten-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:

  1. 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}
  1. Kopieer de waarde van de Operation-Location sleutel in de antwoordheader. De Operation-Location sleutel wordt ook wel de status URL sleutel genoemd en is vereist om de status van het proces voor het maken van de gegevensset te controleren en om de datasetId, 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 datasetIdvolgende ophalen:

  1. 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}
    
  2. 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

Zie Volgende stappen voor koppelingen naar artikelen om u te helpen bij het voltooien van uw indoorkaart.

Gegevens toevoegen aan een bestaande gegevensset

Gegevens kunnen worden toegevoegd aan een bestaande gegevensset door de parameter op te geven voor de datasetIdAPI 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 conversionIdverwijzen 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. Zie Een tekenpakket converteren voor meer informatie.
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 weten dat u een GUID (Globally Unique Identifier) hebt, kunt u overwegen om deze te maken door een GUID-hulpprogramma uit te voeren dat wordt gegenereerd, zoals het opdrachtregelprogramma Guidgen.exe (beschikbaar met Visual Studio). Guidgen.exe produceert nooit hetzelfde getal tweemaal, 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 Kaarten 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.
    • unitkan 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.
    • 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 een unit en verticalPenetration 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 één verticalPenetration of unit.

Volgende stappen