Kurz: vytvoření vnitřních map pomocí autora

V tomto kurzu se dozvíte, jak vytvořit vnitřní mapy. V tomto kurzu se naučíte:

  • Upload balíček pro vykreslování mapy vnitřníchy.
  • Převeďte balíček pro kreslení na data mapy.
  • Z dat mapy Vytvořte datovou sadu.
  • Vytvořte TILESET z dat v datové sadě.
  • dotaz na rozhraní API služby Azure Maps Web Feature Service (WFS) vám umožní získat informace o funkcích map.
  • Vytvořte funkci stateset pomocí vašich funkcí mapy a dat v datové sadě.
  • Aktualizujte svou funkci stateset.

Požadavky

  1. vytvořte účet Azure Maps.
  2. Získejte primární klíč předplatného, označovaný také jako primární klíč nebo klíč předplatného.
  3. Vytvořte prostředek Creator.
  4. Stáhněte si vzorový balíček pro kreslení.

V tomto kurzu se používá aplikace po aplikaci, ale můžete použít jiné vývojové prostředí API.

Důležité

V tomto kurzu se používá us.atlas.microsoft.com geografická adresa URL. Pokud se vaše služba tvůrce v USA nevytvořila, musíte použít jinou geografickou adresu URL. Další informace najdete v tématu přístup ke službě Creator Services. Pokud chcete zobrazit mapování oblasti na zeměpisné umístění, Přečtěte si téma tvůrce geografického rozsahu služby.

Upload balíčku pro vykreslování

pomocí rozhraní Data Upload API nahrajte balíček pro kreslení do prostředků Azure Maps.

rozhraní Data Upload api je dlouhodobá transakce, která implementuje vzor definovaný v tvůrci Long-Running operations API V2.

Postup nahrání balíčku pro kreslení:

  1. V aplikaci pro odesílání vyberte Nový.

  2. V okně vytvořit nové vyberte požadavek HTTP.

  3. Zadejte název žádosti , například post data upload.

  4. Vyberte metodu post http.

  5. zadejte následující adresu url dat Upload rozhraní API . požadavek by měl vypadat jako následující adresa url (nahraďte {Azure-Maps-Primary-Subscription-key} primárním klíčem předplatného)::

    https://us.atlas.microsoft.com/mapData?api-version=2.0&dataFormat=dwgzippackage&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Vyberte kartu hlavičky .

  7. V poli klíč vyberte Content-Type .

  8. V poli hodnota vyberte application/octet-stream .

    Informace karty záhlaví pro nahrání dat

  9. Vyberte kartu tělo .

  10. V rozevíracím seznamu vyberte binární.

  11. Vyberte Vybrat soubor a pak vyberte balíček pro kreslení.

    Vyberte balíček pro kreslení.

  12. Vyberte Odeslat.

  13. V okně odpověď vyberte kartu hlavičky .

  14. Zkopírujte hodnotu klíče umístění operace , což je status URL . status URLK ověření stavu nahrávání balíčku vykreslování použijeme.

    Zkopírujte adresu URL stavu do klíče umístění.

Zkontroluje stav nahrávání balíčku pro kreslení.

Chcete-li zjistit stav balíčku pro kreslení a načíst jeho jedinečné ID ( udid ):

  1. V aplikaci pro odesílání vyberte Nový.

  2. V okně vytvořit nové vyberte požadavek HTTP.

  3. zadejte název žádosti , například stav získat Data Upload.

  4. Vyberte metodu Get http.

  5. zadejte, status URL který jste zkopírovali v Upload balíčku pro kreslení. Požadavek by měl vypadat jako následující adresa URL (nahraďte {Azure-Maps-Primary-Subscription-key} primárním klíčem předplatného):

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

  7. V okně odpověď vyberte kartu hlavičky .

  8. Zkopírujte hodnotu klíče umístění prostředku , což je resource location URL . resource location URLObsahuje jedinečný identifikátor ( udid ) prostředku balíčku pro kreslení.

    Zkopírujte adresu URL umístění prostředku.

Volitelné Načíst metadata balíčku pro vykreslování

Metadata můžete načíst z prostředku balíčku pro kreslení. Metadata obsahují informace, jako je adresa URL umístění prostředku, datum vytvoření, aktualizované datum, velikost a stav odeslání.

Načtení metadat obsahu:

  1. V aplikaci pro odesílání vyberte Nový.

  2. V okně vytvořit nové vyberte požadavek HTTP.

  3. zadejte název žádosti , například získat Data Upload Metadata.

  4. . Vyberte metodu Get http.

  5. Zadejte, resource Location URL který jste zkopírovali při kontrole stavu nahrávání balíčku pro vykreslení. Požadavek by měl vypadat jako následující adresa URL (nahraďte {Azure-Maps-Primary-Subscription-key} primárním klíčem předplatného):

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

  7. V okně odpověď vyberte kartu tělo . Metadata by měla vypadat jako následující fragment JSON:

    {
        "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"
    }
    

Převod balíčku pro kreslení

Teď, když se balíček pro kreslení nahraje, použijeme udid u nahraného balíčku k převedení balíčku na data mapy. Rozhraní API pro převod používá dlouhotrvající transakci, která implementuje vzor definovaný zde.

Převod balíčku pro kreslení:

  1. V aplikaci pro odesílání vyberte Nový.

  2. V okně vytvořit nové vyberte požadavek HTTP.

  3. Zadejte název žádosti , jako je například po převedení balíčku pro kreslení.

  4. Vyberte metodu post http.

  5. Zadejte následující adresu URL služby převodu (nahraďte {Azure-Maps-Primary-Subscription-key} primárním klíčem předplatného a udid s udid nahraným balíčkem):

    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. Vyberte Odeslat.

  7. V okně odpověď vyberte kartu hlavičky .

  8. Zkopírujte hodnotu klíče umístění operace , což je status URL . Použijeme status URL ke kontrole stavu převodu.

    Zkopírujte hodnotu klíče umístění pro vykreslování balíčku.

Zkontroluje stav převodu balíčku pro vykreslování.

Po dokončení operace převodu vrátí conversionId . Přístup k vám může conversionId zkontrolovat stav procesu převodu balíčku pro vykreslování. conversionIdPak lze použít pro přístup k převedeným datům.

Chcete-li zjistit stav procesu převodu a načíst conversionId :

  1. V aplikaci pro odesílání vyberte Nový.

  2. V okně vytvořit nové vyberte požadavek HTTP.

  3. Zadejte název žádosti , třeba získat stav převodu.

  4. Vyberte metodu Get http:

  5. Zadejte, status URL který jste zkopírovali v části Převod balíčku pro kreslení. Požadavek by měl vypadat jako následující adresa URL (nahraďte {Azure-Maps-Primary-Subscription-key} primárním klíčem předplatného):

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

  7. V okně odpověď vyberte kartu hlavičky .

  8. Zkopírujte hodnotu klíče umístění prostředku , což je resource location URL . resource location URLObsahuje jedinečný identifikátor ( conversionId ), který mohou používat jiná rozhraní API pro přístup k převedeným datům mapy.

    Zkopírujte ID převodu.

Vzorový balíček pro kreslení by měl být převeden bez chyb nebo upozornění. Pokud se však zobrazí chyby nebo upozornění z vlastního balíčku Drawing, odpověď JSON obsahuje odkaz na vizualizér chyb kreslení. Pomocí vizualizéru chyb kreslení můžete zkontrolovat podrobnosti o chybách a upozorněních. Pokud chcete dostávat doporučení k řešení chyb a upozornění převodu, podívejte se na nakreslené chyby převodu a upozornění.

Následující fragment JSON zobrazí upozornění ukázkového převodu:

{
    "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"
    }
}

Vytvoření datové sady

Datová sada je kolekce mapových prvků, jako jsou budovy, úrovně a místnosti. Pokud chcete vytvořit datovou sadu, použijte rozhraní API pro vytvoření datové sady. Rozhraní API pro vytvoření datové conversionId sady vezme pro převedený balíček Drawing a vrátí datasetId vytvořenou datovou sadu.

Vytvoření datové sady:

  1. V aplikaci Postman vyberte Nový.

  2. V okně Vytvořit nový vyberte Požadavek HTTP.

  3. Zadejte název požadavku, například POST Dataset Create ( Vytvořit datovou sadu POST).

  4. Vyberte metodu POST HTTP.

  5. Zadejte následující adresu URL rozhraní API datové sady. Požadavek by měl vypadat jako následující adresa URL (nahraďte primárním klíčem předplatného a } získaným ve stavu převodu {Azure-Maps-Primary-Subscription-key} {conversionId balíčku Check conversionId Drawing):

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

  7. V okně odpovědi vyberte kartu Hlavičky.

  8. Zkopírujte hodnotu klíče Operation-Location, což je status URL . Ke kontrole stavu status URL datové sady použijeme .

    Zkopírujte hodnotu klíče umístění pro datovou sadu.

Kontrola stavu vytváření datové sady

Pokud chcete zkontrolovat stav procesu vytváření datové sady a načíst datasetId :

  1. V aplikaci Postman vyberte Nový.

  2. V okně Vytvořit nový vyberte Požadavek HTTP.

  3. Zadejte název požadavku, například GET Dataset Status.

  4. Vyberte metodu GET HTTP.

  5. Zadejte hodnotu status URL , kterou jste zkopírovali v části Vytvoření datové sady. Požadavek by měl vypadat jako následující adresa URL {Azure-Maps-Primary-Subscription-key} (nahraďte primárním klíčem předplatného):

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

  7. V okně odpovědi vyberte kartu Hlavičky. Hodnota klíče Resource-Location je resource location URL . obsahuje resource location URL jedinečný identifikátor ( ) datové datasetId sady.

  8. Zkopírujte datasetId , protože ho budete používat v dalších částech tohoto kurzu.

    Zkopírujte ID datové sady.

Vytvoření sady dlaždic

Sada dlaždic je sada vektorových dlaždic, které se vykreslují na mapě. Sady dlaždic se vytvářejí z existujících datových sad. Sada dlaždic je ale nezávislá na datové sadě, ze které byla zdrojem. Pokud se datová sada odstraní, sada dlaždic bude dál existovat.

Vytvoření sady dlaždic:

  1. V aplikaci Postman vyberte Nový.

  2. V okně Vytvořit nový vyberte Požadavek HTTP.

  3. Zadejte název požadavku, například POST Tileset Create (Vytvořit).

  4. Vyberte metodu POST HTTP.

  5. Zadejte následující adresu URL rozhraní API sady dlaždic. Požadavek by měl vypadat jako následující adresa URL (nahraďte primárním klíčem předplatného) a } hodnotou získanou v části {Azure-Maps-Primary-Subscription-key} Kontrola stavu vytváření datové {datasetId datasetId sady:

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

  7. V okně odpovědi vyberte kartu Hlavičky.

  8. Zkopírujte hodnotu klíče Operation-Location, což je status URL . Ke kontrole stavu sady dlaždic status URL použijeme .

    Zkopírujte hodnotu adresy URL stavu sady dlaždic.

Kontrola stavu vytváření sady dlaždic

Pokud chcete zkontrolovat stav procesu vytváření datové sady a načíst tilesetId :

  1. V aplikaci Postman vyberte Nový.

  2. V okně Vytvořit nový vyberte Požadavek HTTP.

  3. Zadejte název požadavku, například GET Tileset Status ( Získat stav sady dlaždic).

  4. Vyberte metodu GET HTTP.

  5. Zadejte hodnotu status URL , kterou jste zkopírovali v části Vytvoření sady dlaždic. Požadavek by měl vypadat jako následující adresa URL {Azure-Maps-Primary-Subscription-key} (nahraďte primárním klíčem předplatného):

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

  7. V okně odpovědi vyberte kartu Hlavičky. Hodnota klíče Resource-Location je resource location URL . obsahuje resource location URL jedinečný identifikátor ( ) datové tilesetId sady.

    Zkopírujte ID sady dlaždic.

Dotazování datových sad pomocí rozhraní API WFS

Datové sady je možné dotazovat pomocí rozhraní API WFS. Rozhraní API WFS můžete použít k dotazování na všechny kolekce funkcí nebo konkrétní kolekci. V této části kurzu budeme dělat obojí. Nejprve se budeme dotazovat na všechny kolekce a pak se na kolekci budeme unit dotazovat.

Dotaz na kolekce funkcí

Dotazování všech kolekcí v datové sadě:

  1. V aplikaci Postman vyberte Nový.

  2. V okně Vytvořit nový vyberte Požadavek HTTP.

  3. Zadejte název požadavku, například GET Dataset Collections.

  4. Vyberte metodu GET HTTP.

  5. Zadejte následující adresu URL rozhraní API WFS. Požadavek by měl vypadat jako následující adresa URL (nahraďte primárním klíčem předplatného) a } hodnotou získanou v části {Azure-Maps-Primary-Subscription-key} Kontrola stavu vytváření datové {datasetId datasetId sady:

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

  7. Tělo odpovědi se vrátí ve formátu GeoJSON a obsahuje všechny kolekce v datové sadě. V tomto příkladu se pro zjednodušení zobrazuje pouze unit kolekce. Příklad, který obsahuje všechny kolekce, najdete v tématu Popis rozhraní API pro kolekce WFS. Pokud chcete získat další informace o libovolné kolekci, můžete vybrat libovolnou z adres URL uvnitř link elementu .

    {
    "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"
                }
            ]
        },
    

Dotaz na shromažďování funkcí jednotek

V této části se budeme dotazovat rozhraní API WFS pro unit kolekci funkcí.

Dotazování kolekce jednotek v datové sadě:

  1. V aplikaci Postman vyberte Nový.

  2. V okně Vytvořit nový vyberte Požadavek HTTP.

  3. Zadejte název požadavku, například GET Unit Collection.

  4. Vyberte metodu GET HTTP.

  5. Zadejte následující adresu URL (nahraďte primárním klíčem předplatného a } hodnotou , kterou jste získali v části {Azure-Maps-Primary-Subscription-key} Kontrola stavu vytváření datové {datasetId datasetId sady):

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

  7. Po vrácení odpovědi zkopírujte funkci id pro jednu z unit funkcí. V následujícím příkladu je funkce id UNIT26. V tomto kurzu použijeme unit26 jako naši funkci id v další části.

    {
        "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": ""
            }, {"..."}
        ]
    }
    

Vytvoření stavové sady funkcí

Sady stavů funkcí definují dynamické vlastnosti a hodnoty konkrétních funkcí, které je podporují. V této části vytvoříme stateset, který definuje logické hodnoty a odpovídající styly pro vlastnost occupancy.

Vytvoření stavové sady:

  1. V aplikaci Postman vyberte Nový.

  2. V okně Vytvořit nový vyberte Požadavek HTTP.

  3. Zadejte název požadavku, například POST Create Stateset.

  4. Vyberte metodu POST HTTP.

  5. Zadejte následující adresu URL rozhraní Stateset API. Požadavek by měl vypadat jako následující adresa URL (nahraďte primárním klíčem předplatného a } hodnotou , kterou jste získali v části {Azure-Maps-Primary-Subscription-key} Kontrola stavu vytváření datové {datasetId datasetId sady):

    https://us.atlas.microsoft.com/featurestatesets?api-version=2.0&datasetId={datasetId}&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Vyberte kartu Hlavičky.

  7. V poli KLÍČ vyberte Content-Type .

  8. V poli HODNOTA vyberte application/json .

    Informace na kartě Záhlaví pro vytvoření sady stavů

  9. Vyberte kartu Text.

  10. V rozevíracích seznamech vyberte raw a JSON.

  11. Zkopírujte následující styly JSON a vložte je do okna Text:

    {
       "styles":[
          {
             "keyname":"occupied",
             "type":"boolean",
             "rules":[
                {
                   "true":"#FF0000",
                   "false":"#00FF00"
                }
             ]
          }
       ]
    }
    
  12. Vyberte Odeslat.

  13. Po úspěšném vrácení odpovědi zkopírujte statesetId z textu odpovědi . V další části použijeme ke změně stavu vlastnosti jednotky funkci statesetId occupancy id UNIT26.

    Odpověď ID stavů.

Aktualizace stavu funkce

Aktualizace stavu occupied jednotky pomocí funkce id UNIT26:

  1. V aplikaci Postman vyberte Nový.

  2. V okně Vytvořit nový vyberte Požadavek HTTP.

  3. Zadejte název požadavku, například PUT Set Stateset.

  4. Vyberte metodu PUT HTTP.

  5. Zadejte následující adresu URL rozhraní API pro sady stavů funkcí. Požadavek by měl vypadat jako následující adresa URL (nahraďte primárním klíčem předplatného a } získaným v {Azure-Maps-Primary-Subscription-key} {statesetId tématu Vytvoření statesetId stavové sady funkcí):

    https://us.atlas.microsoft.com/featurestatesets/{statesetId}/featureStates/UNIT26?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Vyberte kartu Hlavičky.

  7. V poli KLÍČ vyberte Content-Type .

  8. V poli HODNOTA vyberte application/json .

    Informace na kartě Záhlaví pro vytvoření sady stavů

  9. Vyberte kartu Text.

  10. V rozevíracích seznamech vyberte raw a JSON.

  11. Zkopírujte následující styl JSON a vložte ho do okna Text:

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

    Poznámka

    Aktualizace se uloží jenom v případě, že čas zveřejněný kolek je po časovém razítku předchozí žádosti.

  12. Vyberte Odeslat.

  13. Po dokončení aktualizace obdržíte stavový kód 200 OK HTTP. Pokud jste pro interiérovou mapu implementovali dynamické styly, aktualizace se na vykreslené mapě zobrazí v zadaném časovém razítku.

Pomocí rozhraní FEATURE Get Stateset API můžete načíst stav funkce pomocí její funkce id . Stav a jeho prostředky můžete také odstranit pomocí rozhraní API pro odstranění stavu funkce.

Další informace o různých službách Azure Mapy Creator probíraných v tomto článku najdete v tématu Creator Indoor Mapy.

Vyčištění prostředků

Neexistují žádné prostředky, které by vyžadovaly vyčištění.

Další kroky

Informace o tom, jak používat interiérový Mapy, najdete v tématu