Fråga efter datauppsättningar med hjälp av webbfunktionstjänsten

Den här artikeln beskriver hur du frågar Azure Kartor Creator-datauppsättningar med hjälp av Web Feature Service (WFS). Du kan använda WFS-API:et för att fråga efter alla funktionssamlingar eller en specifik samling i en datauppsättning. Du kan till exempel använda WFS för att hitta alla mellanstora mötesrum i en specifik byggnad och golvnivå.

Förutsättningar

Den här artikeln använder samma inomhuskarta som används i Självstudie: Använd Creator för att skapa inomhuskartor.

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 Services.
  • I URL-exemplen i den här artikeln måste du ersätta:
    • {Azure-Maps-Subscription-key}med din Azure Kartor-prenumerationsnyckel.
    • {datasetId} med det datasetId som hämtas i avsnittet Kontrollera status för att skapa datauppsättning i självstudien Använd skapare för att skapa inomhuskartor .

Fråga efter funktionssamlingar

Om du vill köra frågor mot alla samlingar i datauppsättningen skapar du en ny HTTP GET-begäran:

Ange följande URL till WFS API. Begäran bör se ut som följande URL:

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

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

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

Det här avsnittet visar hur du frågar WFS API för funktionssamlingen unit .

Om du vill köra frågor mot enhetssamlingen i datauppsättningen skapar du en ny HTTP GET-begäran:

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

När svaret har returnerats kopierar du funktionen id för en av unit funktionerna. I följande exempel är funktionen id "UNIT26". Använd "UNIT26" som dina funktioner när du uppdaterar ett funktionstillståndid.

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

Nästa steg