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
- Lyckat slutförande av Självstudie: Använd Creator för att skapa inomhuskartor.
- Hämtas
datasetId
i avsnittet Kontrollera status för att skapa datauppsättning i självstudien Använd skapare för att skapa inomhuskartor .
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 detdatasetId
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": ""
}, {"..."}
]
}