Consultar conjuntos de dados usando o Serviço de Recursos da Web

Este artigo descreve como consultar conjuntos de dados do Azure Maps Creator usando o Web Feature Service (WFS). Você pode usar a API do WFS para consultar todas as coleções de recursos ou uma coleção específica dentro de um conjunto de dados. Por exemplo, você pode usar o WFS para encontrar todas as salas de reunião de médio porte em um edifício específico e no nível do andar.

Pré-requisitos

Este artigo usa o mesmo mapa interno de exemplo usado no Tutorial: Usar o Creator para criar mapas internos.

Importante

  • Este artigo usa o us.atlas.microsoft.com URL geográfico. Se o serviço Creator não tiver sido criado nos Estados Unidos, você deverá usar um URL geográfico diferente. Para obter mais informações, consulte Acesso aos Serviços de Criação.
  • Nos exemplos de URL neste artigo, você precisará substituir:
    • {Azure-Maps-Subscription-key} com a sua chave de subscrição do Azure Maps.
    • {datasetId} com o datasetId obtido na seção Verifique o status de criação do conjunto de dados do tutorial Usar o criador para criar mapas internos.

Consulta de coleções de recursos

Para consultar todas as coleções em seu conjunto de dados, crie uma nova solicitação HTTP GET:

Insira o seguinte URL para a API do WFS. A solicitação deve se parecer com a seguinte URL:

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

O corpo da resposta é retornado no formato GeoJSON e contém todas as coleções no conjunto de dados. Para simplificar, o exemplo aqui mostra apenas a unit coleção. Para ver um exemplo que contém todas as coleções, consulte WFS Describe Collections API. Para saber mais sobre qualquer coleção, você pode selecionar qualquer uma das URLs dentro do links elemento .

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

Consulta para coleção de recursos de unidade

Esta seção demonstra a consulta à API do WFS para a unit coleção de recursos.

Para consultar a coleção de unidades em seu conjunto de dados, crie uma nova solicitação HTTP GET:

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

Depois que a resposta retornar, copie o recurso id para um dos unit recursos. No exemplo a seguir, o recurso id é "UNIT26". Use "UNIT26" como seus recursos id ao atualizar um estado de recurso.

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

Próximos passos