Share via


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

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

Volgende stappen