Självstudie: Använda Skapare för att skapa inomhuskartor

I den här självstudien beskrivs hur du skapar inomhuskartor. I den här självstudien får du lära dig att:

  • Upload ditt ritningspaket för inomhuskart.
  • Konvertera ditt ritningspaket till kartdata.
  • Skapa en datauppsättning från dina kartdata.
  • Skapa en paneluppsättning från datamängden.
  • Fråga Api:et för Azure Kartor Webbfunktionstjänst (WFS) om du vill veta mer om dina kartfunktioner.
  • Skapa en funktions tillståndsuppsättning med hjälp av dina kartfunktioner och data i datauppsättningen.
  • Uppdatera funktions tillståndsuppsättningen.

Förutsättningar

  1. Skapa ett Azure Kartor konto.
  2. Skaffa en primär prenumerationsnyckel, som även kallas primärnyckel eller prenumerationsnyckel.
  3. Skapa en Creator-resurs.
  4. Ladda ned exempelritningspaketet.

I den här självstudien används Postman-programmet, men du kan använda en annan API-utvecklingsmiljö.

Viktigt

I den här självstudien används us.atlas.microsoft.com den geografiska URL:en. Om din Creator-tjänst inte har skapats i USA måste du använda en annan geografisk URL. Mer information finns i Åtkomst till Creator Services. Om du vill visa mappningar av region till geografisk plats, se Creator-tjänstens geografiska omfång.

Upload ett ritningspaket

Använd API:et data Upload för att ladda upp ritningspaketet till Azure Kartor resurser.

API:et Upload data är en långvarig transaktion som implementerar mönstret som definierats i Creator Long-Running Operation API V2.

Så här laddar du upp ritningspaketet:

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel POST Data Upload.

  4. Välj POST HTTP-metoden.

  5. Ange följande URL till API:et Data Upload Begäran bör se ut som följande URL (ersätt {Azure-Maps-Primary-Subscription-key} med din primära prenumerationsnyckel)::

    https://us.atlas.microsoft.com/mapData?api-version=2.0&dataFormat=dwgzippackage&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Välj fliken Rubriker.

  7. I fältet NYCKEL väljer du Content-Type .

  8. I fältet VÄRDE väljer du application/octet-stream .

    Rubrikfliksinformation för datauppladdning.

  9. Välj fliken brödtext.

  10. I listrutan väljer du binär.

  11. Välj Välj fil och välj sedan ett ritningspaket.

    Välj ett ritningspaket.

  12. Välj Skicka.

  13. I svarsfönstret väljer du fliken Rubriker.

  14. Kopiera värdet för nyckeln Operation-Location, som är status URL . Vi använder för att status URL kontrollera status för uppladdningen av ritningspaketet.

    Kopiera status-URL:en i platsnyckeln.

Kontrollera överföringsstatus för ritningspaketet

Kontrollera status för ritningspaketet och hämta dess unika ID ( udid ):

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel GET Data Upload Status.

  4. Välj METODEN GET HTTP.

  5. Ange som status URL du kopierade i Upload ett ritningspaket. Begäran bör se ut som följande URL (ersätt {Azure-Maps-Primary-Subscription-key} med din primära prenumerationsnyckel):

    https://us.atlas.microsoft.com/mapData/operations/{operationId}?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Välj Skicka.

  7. I svarsfönstret väljer du fliken Rubriker.

  8. Kopiera värdet för nyckeln Resource-Location, som är resource location URL . resource location URLinnehåller den unika identifieraren ( ) för udid ritningspaketets resurs.

    Kopiera resursplatsens URL.

(Valfritt) Hämta metadata för ritningspaket

Du kan hämta metadata från resursen Ritningspaket. Metadata innehåller information som resursplatsens URL, skapandedatum, uppdaterat datum, storlek och uppladdningsstatus.

Så här hämtar du innehållsmetadata:

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel GET Data Upload Metadata.

  4. . Välj METODEN GET HTTP.

  5. Ange som resource Location URL du kopierade i Kontrollera överföringsstatus för ritningspaketet. Begäran bör se ut som följande URL (ersätt {Azure-Maps-Primary-Subscription-key} med din primära prenumerationsnyckel):

    https://us.atlas.microsoft.com/mapData/metadata/{udid}?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Välj Skicka.

  7. I svarsfönstret väljer du fliken Brödtext. Metadata bör se ut som följande JSON-fragment:

    {
        "udid": "{udid}",
        "location": "https://us.atlas.microsoft.com/mapData/6ebf1ae1-2a66-760b-e28c-b9381fcff335?api-version=2.0",
        "created": "5/18/2021 8:10:32 PM +00:00",
        "updated": "5/18/2021 8:10:37 PM +00:00",
        "sizeInBytes": 946901,
        "uploadStatus": "Completed"
    }
    

Konvertera ett ritningspaket

Nu när ritningspaketet har laddats upp använder vi för det uppladdade paketet udid för att konvertera paketet till kartdata. Konverterings-API:et använder en långvarig transaktion som implementerar mönstret som definieras här.

Så här konverterar du ett ritningspaket:

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel POST Convert Drawing Package.

  4. Välj POST HTTP-metoden.

  5. Ange följande URL till konverteringstjänsten (ersätt {Azure-Maps-Primary-Subscription-key} med din primära prenumerationsnyckel udid och med för det udid uppladdade paketet):

    https://us.atlas.microsoft.com/conversions?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=2.0&udid={udid}&inputType=DWG&outputOntology=facility-2.0
    
  6. Välj Skicka.

  7. I svarsfönstret väljer du fliken Rubriker.

  8. Kopiera värdet för nyckeln Operation-Location, som är status URL . Vi använder för status URL att kontrollera konverteringens status.

    Kopiera värdet för platsnyckeln för ritningspaketet.

Kontrollera konverteringsstatusen för ritningspaketet

När konverteringen har slutförts returneras ett conversionId . Vi kan komma åt conversionId genom att kontrollera status för konverteringsprocessen för ritningspaketet. kan conversionId sedan användas för att komma åt konverterade data.

Kontrollera statusen för konverteringsprocessen och hämta conversionId :

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel GET-konverteringsstatus.

  4. Välj METODEN GET HTTP:

  5. Ange som status URL du kopierade i Konvertera ett ritningspaket. Begäran bör se ut som följande URL (ersätt {Azure-Maps-Primary-Subscription-key} med din primära prenumerationsnyckel):

    https://us.atlas.microsoft.com/conversions/operations/{operationId}?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Välj Skicka.

  7. I svarsfönstret väljer du fliken Rubriker.

  8. Kopiera värdet för nyckeln Resource-Location, som är resource location URL . resource location URLinnehåller den unika identifieraren ( ), som kan användas av andra conversionId API:er för att komma åt konverterade kartdata.

    Kopiera konverterings-ID:t.

Exempel på ritningspaket ska konverteras utan fel eller varningar. Men om du får fel eller varningar från ditt eget ritningspaket innehåller JSON-svaret en länk till visualiseraren ritningsfel. Du kan använda visualiseringen Ritningsfel för att granska information om fel och varningar. Information om hur du får rekommendationer för att lösa konverteringsfel och varningar finns i Rita konverteringsfel och varningar.

Följande JSON-fragment visar en exempelkonverteringsvarning:

{
    "operationId": "{operationId}",
    "created": "2021-05-19T18:24:28.7922905+00:00",
    "status": "Succeeded",
     "warning": {
        "code": "dwgConversionProblem",
        "details": [
            {
                "code": "warning",
                "details": [
                    {
                        "code": "manifestWarning",
                        "message": "Ignoring unexpected JSON property: unitProperties[0].nonWheelchairAccessible with value False"
                    }
                ]
            }
        ]
    },
    "properties": {
        "diagnosticPackageLocation": "https://atlas.microsoft.com/mapData/ce61c3c1-faa8-75b7-349f-d863f6523748?api-version=1.0"
    }
}

Skapa en datauppsättning

En datamängd är en samling kartfunktioner, till exempel byggnader, nivåer och rum. Om du vill skapa en datauppsättning använder du API:et Dataset Create. API:et Dataset Create tar conversionId för det konverterade ritningspaketet och returnerar en datasetId av den skapade datauppsättningen.

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

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel POST Dataset Create.

  4. Välj POST HTTP-metoden.

  5. Ange följande URL till DATAUPPSÄTTNINGS-API:et. Begäran bör se ut som följande URL (ersätt med din primära prenumerationsnyckel och } med som hämtas i {Azure-Maps-Primary-Subscription-key} Kontrollera paketkonverteringsstatus {conversionId för conversionId ritning):

    https://us.atlas.microsoft.com/datasets?api-version=2.0&conversionId={conversionId}&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Välj Skicka.

  7. I svarsfönstret väljer du fliken Rubriker.

  8. Kopiera värdet för nyckeln Operation-Location, som är status URL . Vi använder för att status URL kontrollera datauppsättningens status.

    Kopiera värdet för platsnyckeln för datauppsättningen.

Kontrollera status för skapande av datauppsättning

Kontrollera statusen för skapandeprocessen för datauppsättningen och hämta datasetId :

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel GET-datauppsättningsstatus.

  4. Välj METODEN GET HTTP.

  5. Ange som status URL du kopierade i Skapa en datauppsättning. Begäran bör se ut som följande URL (ersätt {Azure-Maps-Primary-Subscription-key} med din primära prenumerationsnyckel):

    https://us.atlas.microsoft.com/datasets/operations/{operationId}?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Välj Skicka.

  7. I svarsfönstret väljer du fliken Rubriker. Värdet för nyckeln Resource-Location är resource location URL . resource location URLinnehåller den unika identifieraren ( ) för datasetId datauppsättningen.

  8. Kopiera datasetId , eftersom du ska använda den i nästa avsnitt i den här självstudien.

    Kopiera datauppsättningens ID.

Skapa en paneluppsättning

En paneluppsättning är en uppsättning vektorpaneler som återges på kartan. Paneluppsättningar skapas från befintliga datauppsättningar. En paneluppsättning är dock oberoende av datauppsättningen som den kom från. Om datauppsättningen tas bort fortsätter paneluppsättningen att finnas.

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

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel POST Tileset Create.

  4. Välj POST HTTP-metoden.

  5. Ange följande URL till Tileset-API:et. Begäran bör se ut som följande URL (ersätt med din primära prenumerationsnyckel) och } med den som erhölls i {Azure-Maps-Primary-Subscription-key} {datasetId Kontrollera datasetId skapandestatus för datauppsättningen:

    https://us.atlas.microsoft.com/tilesets?api-version=2.0&datasetID={datasetId}&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Välj Skicka.

  7. I svarsfönstret väljer du fliken Rubriker.

  8. Kopiera värdet för nyckeln Operation-Location, som är status URL . Vi använder för status URL att kontrollera status för paneluppsättningen.

    Kopiera värdet för status-URL:en för tileset.

Kontrollera skapandestatusen för paneluppsättningen

Kontrollera statusen för skapandeprocessen för datauppsättningen och hämta tilesetId :

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel GET Tileset Status.

  4. Välj METODEN GET HTTP.

  5. Ange som status URL du kopierade i Skapa en paneluppsättning. Begäran bör se ut som följande URL (ersätt {Azure-Maps-Primary-Subscription-key} med din primära prenumerationsnyckel):

    https://us.atlas.microsoft.com/tilesets/operations/{operationId}?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Välj Skicka.

  7. I svarsfönstret väljer du fliken Rubriker. Värdet för nyckeln Resource-Location är resource location URL . resource location URLinnehåller den unika identifieraren ( ) för tilesetId datauppsättningen.

    Kopiera paneluppsättnings-ID:t.

Fråga datauppsättningar med WFS API

Datauppsättningar kan efterfrågas med hjälp av WFS API. Du kan använda WFS-API:et för att fråga efter alla funktionssamlingar eller en specifik samling. I det här avsnittet av självstudien ska vi göra båda. Först frågar vi alla samlingar och sedan frågar vi efter unit samlingen.

Fråga efter funktionssamlingar

Så här frågar du efter alla samlingar i datauppsättningen:

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel GET Dataset Collections.

  4. Välj METODEN GET HTTP.

  5. Ange följande URL till WFS API. Begäran bör se ut som följande URL (ersätt med din primära prenumerationsnyckel) och } med den som erhölls i {Azure-Maps-Primary-Subscription-key} {datasetId Kontrollera datasetId skapandestatus för datauppsättningen:

    https://us.atlas.microsoft.com/wfs/datasets/{datasetId}/collections?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=2.0
    
  6. Välj Skicka.

  7. Svarstexten returneras i GeoJSON-format och innehåller alla samlingar i datauppsättningen. För enkelhetens skull visar exemplet här bara unit samlingen. Ett exempel som innehåller alla samlingar finns i API för WFS Describe Collections. Om du vill veta mer om en samling kan du välja någon av URL:erna i link elementet .

    {
    "collections": [
        {
            "name": "unit",
            "description": "A physical and non-overlapping area which might be occupied and traversed by a navigating agent. Can be a hallway, a room, a courtyard, etc. It is surrounded by physical obstruction (wall), unless the is_open_area attribute is equal to true, and one must add openings where the obstruction shouldn't be there. If is_open_area attribute is equal to true, all the sides are assumed open to the surroundings and walls are to be added where needed. Walls for open areas are represented as a line_element or area_element with is_obstruction equal to true.",
            "links": [
                {
                    "href": "https://atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit/definition?api-version=1.0",
                    "rel": "describedBy",
                    "title": "Metadata catalogue for unit"
                },
                {
                    "href": "https://atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit/items?api-version=1.0",
                    "rel": "data",
                    "title": "unit"
                }
                {
                    "href": "https://atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit?api-version=1.0",
                    "rel": "self",
                    "title": "Metadata catalogue for unit"
                }
            ]
        },
    

Fråga efter enhetsfunktionssamling

I det här avsnittet frågar vi WFS-API:et efter unit funktionssamlingen.

Så här frågar du enhetssamlingen i datauppsättningen:

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel GET Unit Collection.

  4. Välj METODEN GET HTTP.

  5. Ange följande URL (ersätt med {Azure-Maps-Primary-Subscription-key} din primära prenumerationsnyckel och {datasetId } med som du fick i Kontrollera datasetId skapandestatus för datauppsättningen):

    https://us.atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit/items?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=2.0
    
  6. Välj Skicka.

  7. När svaret returneras kopierar du funktionen id för en av unit funktionerna. I följande exempel är funktionen id "UNIT26". I den här självstudien använder vi "UNIT26" som funktion id i nästa avsnitt.

    {
        "type": "FeatureCollection",
        "features": [
            {
                "type": "Feature",
                "geometry": {
                    "type": "Polygon",
                    "coordinates": ["..."]
                },
                "properties": {
                    "original_id": "b7410920-8cb0-490b-ab23-b489fd35aed0",
                    "category_id": "CTG8",
                    "is_open_area": true,
                    "navigable_by": [
                        "pedestrian"
                    ],
                    "route_through_behavior": "allowed",
                    "level_id": "LVL14",
                    "occupants": [],
                    "address_id": "DIR1",
                    "name": "157"
                },
                "id": "UNIT26",
                "featureType": ""
            }, {"..."}
        ]
    }
    

Skapa en funktions tillståndsuppsättning

Funktions tillståndsuppsättningar definierar dynamiska egenskaper och värden för specifika funktioner som stöder dem. I det här avsnittet skapar vi en tillståndsuppsättning som definierar booleska värden och motsvarande format för egenskapen occupancy.

Så här skapar du en tillståndsuppsättning:

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel POST Create Stateset.

  4. Välj POST HTTP-metoden.

  5. Ange följande URL till tillståndsuppsättnings-API:et. Begäran bör se ut som följande URL (ersätt med din primära prenumerationsnyckel och } med som du fick i Kontrollera {Azure-Maps-Primary-Subscription-key} {datasetId datasetId skapandestatus för datauppsättningen):

    https://us.atlas.microsoft.com/featurestatesets?api-version=2.0&datasetId={datasetId}&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Välj fliken Rubriker.

  7. I fältet NYCKEL väljer du Content-Type .

  8. I fältet VALUE (VÄRDE) väljer du application/json .

    Rubrikfliksinformation för skapande av tillståndsuppsättning.

  9. Välj fliken brödtext.

  10. I listrutan väljer du raw och JSON.

  11. Kopiera följande JSON-format och klistra sedan in dem i fönstret Brödtext:

    {
       "styles":[
          {
             "keyname":"occupied",
             "type":"boolean",
             "rules":[
                {
                   "true":"#FF0000",
                   "false":"#00FF00"
                }
             ]
          }
       ]
    }
    
  12. Välj Skicka.

  13. När svaret har returnerats kopierar du statesetId från svarstexten. I nästa avsnitt använder vi för att ändra statesetId occupancy egenskapstillståndet för enheten med funktionen id "UNIT26".

    Svar på tillståndsuppsättnings-ID.

Uppdatera ett funktionstillstånd

Så här uppdaterar occupied du enhetens tillstånd med funktionen id "UNIT26":

  1. I Postman-appen väljer du Nytt.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel PUT Set Stateset.

  4. Välj METODEN PUT HTTP.

  5. Ange följande URL till API:et funktions tillståndsuppsättningar. Begäran bör se ut som följande URL (ersätt med din primära prenumerationsnyckel och } med som hämtas {Azure-Maps-Primary-Subscription-key} i Skapa en funktions {statesetId statesetId tillståndsuppsättning):

    https://us.atlas.microsoft.com/featurestatesets/{statesetId}/featureStates/UNIT26?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Välj fliken Rubriker.

  7. I fältet NYCKEL väljer du Content-Type .

  8. I fältet VALUE (VÄRDE) väljer du application/json .

    Rubrikfliksinformation för skapande av tillståndsuppsättning.

  9. Välj fliken brödtext.

  10. I listrutan väljer du raw och JSON.

  11. Kopiera följande JSON-format och klistra sedan in det i fönstret Brödtext:

    {
        "states": [
            {
                "keyName": "occupied",
                "value": true,
                "eventTimestamp": "2020-11-14T17:10:20"
            }
        ]
    }
    

    Anteckning

    Uppdateringen sparas bara om den tid som den publicerade stämpeln är efter tidsstämpeln för den tidigare begäran.

  12. Välj Skicka.

  13. När uppdateringen är klar får du en 200 OK HTTP-statuskod. Om du implementerade dynamisk formatering för en inomhuskarta visas uppdateringen vid den angivna tidsstämpeln i den renderade kartan.

Du kan använda FUNKTIONEN Hämta tillståndsuppsättnings-API för att hämta tillståndet för en funktion med hjälp av dess funktion id . Du kan också använda API:et ta bort tillstånd för funktionstillstånd för att ta bort tillståndsuppsättningen och dess resurser.

Mer information om de olika Azure Kartor Creator-tjänster som beskrivs i den här artikeln finns i Creator Indoor Kartor.

Rensa resurser

Det finns inga resurser som kräver rensning.

Nästa steg

Information om hur du använder modulen Kartor inomhus finns i