Query's uitvoeren op gegevenssets met behulp van de webfunctieservice
In dit artikel wordt beschreven hoe u query's uitvoert op Azure Kaarten Creator-gegevenssets met behulp van WFS (Web Feature Service). U kunt de WFS-API gebruiken om een query uit te voeren voor alle functieverzamelingen of een specifieke verzameling in een gegevensset. U kunt bijvoorbeeld WFS gebruiken om alle middelgrote vergaderruimten in een specifiek gebouw en vloerniveau te vinden.
Vereisten
- Voltooide zelfstudie: Creator gebruiken om indoorkaarten te maken.
- De
datasetId
verkregen in de sectie Status van het maken van gegevenssets controleren in de zelfstudie Creator gebruiken voor het maken van indoorkaarten .
In dit artikel wordt dezelfde voorbeeld indoorkaart gebruikt als in de zelfstudie: Creator gebruiken om indoorkaarten te maken.
Belangrijk
- In dit artikel wordt de
us.atlas.microsoft.com
geografische URL gebruikt. Als uw Creator-service niet is gemaakt in de Verenigde Staten, moet u een andere geografische URL gebruiken. Zie Access to Creator Services voor meer informatie. - In de URL-voorbeelden in dit artikel moet u het volgende vervangen:
{Azure-Maps-Subscription-key}
met uw Azure Kaarten-abonnementssleutel.{datasetId}
met dedatasetId
verkregen in de sectie De status van de gegevensset controleren van de maker gebruiken voor het maken van indoorkaarten .
Query uitvoeren op functieverzamelingen
Als u een query wilt uitvoeren op alle verzamelingen in uw gegevensset, maakt u een nieuwe HTTP GET-aanvraag:
Voer de volgende URL in naar de WFS-API. De aanvraag moet lijken op de volgende URL:
https://us.atlas.microsoft.com/wfs/datasets/{datasetId}/collections?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=2.0
De hoofdtekst van het antwoord wordt geretourneerd in geoJSON-indeling en bevat alle verzamelingen in de gegevensset. Voor dit voorbeeld wordt omwille van de duidelijkheid alleen de unit
-verzameling weergegeven. Zie WFS-API voor het beschrijven van verzamelingen voor een voorbeeld dat alle verzamelingen bevat. Voor meer informatie over elke verzameling kunt u een van de URL's in het links
element selecteren.
{
"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"
}
]
},
Query uitvoeren op eenheidsfunctieverzameling
In deze sectie ziet u hoe u een query uitvoert op de WFS-API voor de unit
functieverzameling.
Als u een query wilt uitvoeren op de eenheidsverzameling in uw gegevensset, maakt u een nieuwe HTTP GET-aanvraag:
https://us.atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit/items?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=2.0
Nadat het antwoord is geretourneerd, kopieert u de functie id
voor een van de unit
functies. In het volgende voorbeeld is UNIT26 de id
van de functie. Gebruik UNIT26 als uw functies id
wanneer u een functiestatus bijwerkt.
{
"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": ""
}, {"..."}
]
}