Skapa en datauppsättning med hjälp av ett GeoJson-paket (förhandsversion)
Kommentar
Azure Maps Creator-tillbakadragning
Inomhuskartetjänsten för Azure Maps Creator är nu inaktuell och kommer att dras tillbaka den 25-09-30. Mer information finns i Meddelande om slut på livslängd för Azure Maps Creator.
Med Azure Maps Creator kan användarna importera sina inomhuskartdata i GeoJSON-format med Facility Ontology 2.0, som sedan kan användas för att skapa en datauppsättning.
Förutsättningar
- Ett Azure Maps-konto
- En prenumerationsnyckel
- En Azure Maps Creator-resurs
- Ett Azure Storage-konto
- Grundläggande förståelse för Creator för inomhuskartor
- Grundläggande förståelse för anläggningsontologi 2.0
- Zip-paket som innehåller alla nödvändiga GeoJSON-filer. Om du inte har GeoJSON-filer kan du ladda ned Contoso-byggexemplet.
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 Maps-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 sedan registrera det i ditt Azure Maps-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:
- 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}
- Kopiera värdet för
Operation-Location
nyckeln i svarshuvudet. NyckelnOperation-Location
kallasstatus 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 ,datasetId
som 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 datasetId
och hämta :
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}
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
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 udid
anvä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 conversionId
genereras 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. |
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 Guidgen.exe kommandoradsprogram (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 Maps 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.
- Alla
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 enunit
ochverticalPenetration
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 enverticalPenetration
ellerunit
.