Skapa en datauppsättning med hjälp av ett GeoJson-paket (förhandsversion)

Med Azure Kartor Creator kan användarna importera sina kartdata inomhus i GeoJSON-format med Facility Ontology 2.0, som sedan kan användas för att skapa en datauppsättning.

Kommentar

Den här artikeln beskriver hur du skapar en datauppsättning från ett GeoJSON-paket. Information om ytterligare steg som krävs för att slutföra en inomhuskarta finns i Nästa steg.

Förutsättningar

Viktigt!

  • Den här artikeln använder den us.atlas.microsoft.com geografiska URL:en. Om din Creator-tjänst inte skapades i USA måste du använda en annan geografisk URL. Mer information finns i Åtkomst till Creator-tjänster.
  • I URL-exemplen i den här artikeln måste du ersätta {Your-Azure-Maps-Subscription-key} med din Azure Kartor-prenumerationsnyckel.

Skapa datauppsättning med geoJSON-paketet

Mer information om GeoJSON-paketet finns i avsnittet Krav för Geojson-zip-paket .

Ladda upp GeoJSON-paketet

Följ stegen som beskrivs i artikeln Så här skapar du dataregister för att ladda upp GeoJSON-paketet till ditt Azure Storage-konto och registrera det sedan i ditt Azure Kartor-konto.

Viktigt!

Se till att anteckna värdet för den unika identifieraren (udid) och du behöver det. Det udid är så du refererar till GeoJSON-paketet som du laddade upp till ditt Azure Storage-konto från din källkod och HTTP-begäranden.

Skapa en datamängd

En datamängd är en samling kartfunktioner, till exempel byggnader, nivåer och rum. Om du vill skapa en datauppsättning från din GeoJSON använder du det nya API:et för att skapa datauppsättning. Api:et för att skapa datauppsättningar tar det udid du fick i föregående avsnitt och returnerar den datasetId nya datauppsättningen.

Viktigt!

Detta skiljer sig från den tidigare versionen av API:et för att skapa datamängd eftersom det inte kräver något conversionId från ett konverterat ritningspaket.

Så här skapar du en datauppsättning:

  1. Ange följande URL till datamängdstjänsten. Begäran bör se ut som följande URL (ersätt {udid} med den udid som hämtas i avsnittet Ladda upp GeoJSON-paketet ):
https://us.atlas.microsoft.com/datasets?api-version=2023-03-01-preview&udid={udid}&subscription-key={Your-Azure-Maps-Subscription-key}
  1. Kopiera värdet för Operation-Location nyckeln i svarshuvudet. Nyckeln Operation-Location kallas status URL även och krävs för att kontrollera statusen för processen för att skapa datauppsättningen och för att hämta , datasetIdsom krävs för att skapa en paneluppsättning.

Kontrollera statusen för att skapa datauppsättningen

Kontrollera statusen för processen för att skapa datauppsättningen datasetIdoch hämta :

  1. Ange status-URL:en som du kopierade i Skapa en datauppsättning. Begäran bör se ut som följande URL:

    https://us.atlas.microsoft.com/datasets/operations/{operationId}?api-version=2023-03-01-preview&subscription-key={Your-Azure-Maps-Subscription-key}
    
  2. I rubriken för HTTP-svaret kopierar du värdet för den unika identifieraren som finns i Resource-Location nyckeln.

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

Se Nästa steg för länkar till artiklar som hjälper dig att slutföra din inomhuskarta.

Lägga till data i en befintlig datauppsättning

Data kan läggas till i en befintlig datauppsättning genom att ange parametern datasetId för API:et Skapa datauppsättning tillsammans med den unika identifieraren för de data som du vill lägga till. Den unika identifieraren kan vara antingen en udid eller conversionId. Detta skapar en ny datamängd som består av data (anläggningar) från både den befintliga datauppsättningen och de nya data som importeras. När den nya datamängden har skapats kan den gamla datauppsättningen tas bort.

En sak att tänka på när du lägger till i en befintlig datauppsättning är hur funktions-ID:na skapas. Om en datauppsättning skapas från ett konverterat ritningspaket genereras funktions-ID:t automatiskt. När en datauppsättning skapas från ett GeoJSON-paket måste funktions-ID:t anges i GeoJSON-filen. När du lägger till en befintlig datauppsättning styr den ursprungliga datauppsättningen hur funktions-ID:t skapas. Om den ursprungliga datauppsättningen skapades med hjälp av en udidanvänder den ID:erna från GeoJSON och fortsätter att göra det med alla GeoJSON-paket som läggs till i datauppsättningen i framtiden. Om datauppsättningen skapades med hjälp av en conversionIdgenereras ID:t internt och fortsätter att genereras internt med alla GeoJSON-paket som läggs till i datauppsättningen i framtiden.

Lägg till i datauppsättning som skapats från en GeoJSON-källa

Om din ursprungliga datauppsättning har skapats från en GoeJSON-källa och du vill lägga till en annan anläggning som skapats från ett ritningspaket kan du lägga till den i din befintliga datauppsättning genom att referera till dess conversionId, vilket visas i den här HTTP POST-begäran:

https://us.atlas.microsoft.com/datasets?api-version=2023-03-01-preview&conversionId={conversionId}&outputOntology=facility-2.0&datasetId={datasetId}
Identifierare beskrivning
conversionId ID:t returnerades när du konverterade ritningspaketet. Mer information finns i Konvertera ett ritningspaket.
datasetId Datamängds-ID:t returnerades när den ursprungliga datamängden skapades från ett GeoJSON-paket.

Krav för Geojson-zip-paket

Zip-paketet GeoJSON består av en eller flera RFC 7946-kompatibla GeoJSON-filer, en för varje funktionsklass, alla i rotkatalogen (underkataloger stöds inte), komprimerade med zip-standardkomprimering och namngivna med tillägget .ZIP .

Varje funktionsklassfil måste matcha dess definition i Facility Ontology 2.0 och varje funktion måste ha en globalt unik identifierare.

Funktions-ID:n får bara innehålla alfanumeriska (a-z, A-Z, 0-9), bindestreck (-), punkttecken (.) och understreck (_).

Dricks

Om du vill vara säker på att du har en globalt unik identifierare (GUID) kan du skapa den genom att köra ett GUID-genereringsverktyg som kommandoradsprogrammet Guidgen.exe (Tillgängligt med Visual Studio). Guidgen.exe producerar aldrig samma nummer två gånger, oavsett hur många gånger det körs eller hur många olika datorer det körs på.

Facility ontology 2.0-valideringar i datauppsättningen

Facility Ontology 2.0 definierar hur Azure Kartor Creator internt lagrar anläggningsdata, indelade i funktionsklasser, i en Creator-datauppsättning. När du importerar ett GeoJSON-paket, när en funktion läggs till eller ändras, körs en serie valideringar. Detta omfattar referensintegritetskontroller och geometri- och attributvalidering. Dessa valideringar beskrivs mer detaljerat i följande lista.

  • Det maximala antalet funktioner som kan importeras till en datauppsättning i taget är 150 000.
  • Anläggningen kan vara mellan 4 och 4 000 kvadratkilometer.
  • Elementet på den översta nivån är anläggning, som definierar varje byggnad i filen facility.geojson.
  • Varje anläggning har en eller flera nivåer som definieras i filen levels.goejson.
    • Varje nivå måste vara inne i anläggningen.
  • Varje nivå innehåller enheter, strukturer, verticalPenetrations och öppningar. Alla objekt som definierats på nivån måste vara helt inneslutna i nivågeometrin.
    • unit kan bestå av en matris med objekt som korridorer, kontor och gårdar, som definieras av områdes-, linje- eller punktelement . Enheter definieras i filen unit.goejson.
      • Alla unit element måste vara helt inneslutna på deras nivå och korsas med sina barn.
    • structure definierar fysiska, icke-överlappande områden som inte kan navigeras genom, till exempel en vägg. Strukturer definieras i filstrukturen.goejson.
    • verticalPenetration representerar en metod för att navigera lodrätt mellan nivåer, till exempel trappor och hissar och definieras i filen verticalPenetration.geojson.
      • verticalPenetrations kan inte korsas med andra lodrätapenetrationer på samma nivå.
    • openings definiera bläddreringsbara gränser mellan två enheter, eller en unit och verticalPenetration och definieras i filen opening.geojson.
      • Öppningar kan inte korsas med andra öppningar på samma nivå.
      • Var opening och en måste vara associerad med minst en verticalPenetration eller unit.

Nästa steg