Interroger des jeux de données à l’aide de Web Feature Service

Cet article explique comment interroger des jeux de données Azure Maps Creator à l’aide de Web Feature Service (WFS). Vous pouvez utiliser l’API WFS pour interroger toutes les collections de fonctionnalités ou une collection spécifique. Par exemple, vous pouvez utiliser WFS pour rechercher toutes les salles de réunion de taille moyenne d’un bâtiment et d’un étage particuliers.

Prérequis

Cet article utilise le même échantillon de carte d’intérieur que celui utilisé dans le tutoriel : Utiliser Creator pour créer des cartes d’intérieur.

Important

  • Cet article utilise l’URL géographique us.atlas.microsoft.com. Si votre service Creator n’a pas été créé aux États-Unis, vous devez utiliser une autre URL géographique. Pour plus d’informations, consultez Accès aux services Creator.
  • Dans les exemples d’URL de cet article, vous devez remplacer :

Requête pour les collections de caractéristiques

Pour interroger toutes les collections de votre jeu de données, créez une requête HTTP GET :

Entrez l’URL suivante pour l’API WFS. La requête doit ressembler à l’URL suivante :

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

Le corps de la réponse est retourné au format GeoJSON et contient toutes les collections dans le jeu de données. Par souci de simplicité, l’exemple fourni ici affiche uniquement la collection unit. Pour voir un exemple contenant tous les collections, consultez API Describe Collections du service de caractéristique web. Pour en savoir plus sur une collection, vous pouvez sélectionner l’une des URL à l’intérieur de l’élément 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"
            }
        ]
    },

Interroger la collection de caractéristiques unit

Cette section montre comment interroger l’API WFS pour la collection de fonctionnalités unit.

Pour interroger la collection de votre jeu de données, créez une requête HTTP GET :

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

Une fois la réponse retournée, copiez l’id de l’une des caractéristiques unit. Dans l’exemple suivant, l’id de caractéristique est « UNIT26 ». Utilisez « UNIT26 » comme fonctionnalité id lorsque vous mettrez à jour l’état de la fonctionnalité.

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

Étapes suivantes