Compartilhar via


WFS - Get Features

Use para obter uma lista detalhada dos recursos de uma coleção.

A Get Features API é uma solicitação HTTP GET que retorna uma lista detalhada de recursos na coleção especificada.

A API do WFS segue o padrão de API do Open Geospatial Consortium para recursos para consultar conjuntos de dados.

Um conjunto de dados consiste em várias coleções de recursos. Uma coleção de recursos é uma coleção de recursos de um tipo semelhante, com base em um esquema comum.

Enviar Solicitação Obter Recursos

GET https://{geography}.atlas.microsoft.com/wfs/datasets/{datasetId}/collections/{collectionId}/items?api-version=2.0
GET https://{geography}.atlas.microsoft.com/wfs/datasets/{datasetId}/collections/{collectionId}/items?api-version=2.0&limit={limit}&bbox={bbox}&filter={filter}

Parâmetros de URI

Nome Em Obrigatório Tipo Description
collectionId
path True

string

Identificador (nome) de uma coleção específica

datasetId
path True

string

O identificador do conjunto de dados do qual consultar.

geography
path True

string

Esse parâmetro especifica onde o recurso criador de Azure Mapas está localizado. Os valores válidos são nós e eu.

api-version
query True

string

Número de versão da API de Mapas Azure.

bbox
query

number[]

Somente os recursos que têm uma geometria que cruza a caixa delimitadora fornecida são selecionados.

  • Canto inferior esquerdo, eixo de coordenadas 1 * Canto inferior esquerdo, eixo da coordenada 2 * Canto superior direito, eixo da coordenada 1 * Canto superior direito, eixo de coordenadas 2 O sistema de referência de coordenadas dos valores é longitude/latitude WGS84 (http://www.opengis.net/def/crs/OGC/1.3/CRS84), a menos que um sistema de referência de coordenadas diferente seja especificado no parâmetro bbox-crs. Para longitude/latitude WGS84, os valores são, na maioria dos casos, a sequência de longitude mínima, latitude mínima, longitude máxima e latitude máxima. No entanto, nos casos em que a caixa abrange o antimeridiano, o primeiro valor (borda da caixa mais ao oeste) é maior que o terceiro valor (borda da caixa mais leste).
filter
query

string

Filtrar expressão para pesquisar recursos com valores de propriedade específicos em uma determinada coleção. Há suporte apenas para propriedades de recurso do tipo escalar e do operador equals. Esse é um parâmetro especial em que o nome do parâmetro é um nome de propriedade que diferencia maiúsculas de minúsculas. O esquema para esse parâmetro é {property name}={property value}. A menos que "filter" seja um dos nomes de propriedade na coleção, "filter" não deve ser usado como um nome de parâmetro. Para pesquisar recursos com o valor da propriedade "name" "21N13", use "name=21N13". Há suporte para vários filtros e devem ser representados como vários parâmetros de consulta. Por exemplo, =&= Os valores de cadeia de caracteres diferenciam maiúsculas de minúsculas.

limit
query

integer

O parâmetro de limite opcional limita o número de recursos apresentados no documento de resposta. Somente os recursos que estão no primeiro nível da coleção no documento de resposta são contados. Objetos aninhados contidos nos recursos solicitados explicitamente não devem ser contados.

  • Mínimo = 1 * Máximo = 500 * Padrão = 10

Cabeçalho da solicitação

Nome Obrigatório Tipo Description
x-ms-client-id

string

Especifica qual conta destina-se ao uso em conjunto com o modelo de segurança Microsoft Entra ID. Ele representa uma ID exclusiva para a conta Azure Mapas e pode ser recuperado da API de Conta do plano de gerenciamento Azure Mapas. Para usar Microsoft Entra ID segurança no Azure Mapas consulte os artigos a seguir para obter diretrizes.

Respostas

Nome Tipo Description
200 OK

ExtendedGeoJsonFeatureCollection

Ok

Other Status Codes

ErrorResponse

Erro inesperado.

Segurança

AADToken

Esses são os fluxos Microsoft Entra OAuth 2.0. Quando emparelhado com o controle de acesso baseado em função do Azure, ele pode ser usado para controlar o acesso às APIs REST Azure Mapas. Os controles de acesso baseados em função do Azure são usados para designar o acesso a uma ou mais Azure Mapas conta de recurso ou sub-recursos. Qualquer usuário, grupo ou entidade de serviço pode receber acesso por meio de uma função interna ou uma função personalizada composta por uma ou mais permissões para Azure Mapas APIs REST.

Para implementar cenários, recomendamos exibir conceitos de autenticação. Em resumo, essa definição de segurança fornece uma solução para modelar aplicativos por meio de objetos capazes de acessar o controle em APIs e escopos específicos.

Observações

  • Essa definição de segurança requer o uso do x-ms-client-id cabeçalho para indicar a qual Azure Mapas recurso ao qual o aplicativo está solicitando acesso. Isso pode ser adquirido da API de gerenciamento de Mapas.

O Authorization URL é específico para a instância de nuvem pública do Azure. As nuvens soberanas têm URLs de autorização exclusivas e configurações de Microsoft Entra ID. * O controle de acesso baseado em função do Azure é configurado no plano de gerenciamento do Azure por meio de portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST. * O uso do SDK da Web Azure Mapas permite a configuração baseada em configuração de um aplicativo para vários casos de uso.

Tipo: oauth2
Flow: implicit
URL de Autorização: https://login.microsoftonline.com/common/oauth2/authorize

Escopos

Nome Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

Essa é uma chave compartilhada provisionada quando você cria uma conta Azure Mapas no portal do Azure ou usando o PowerShell, a CLI, os SDKs do Azure ou a API REST.

Com essa chave, qualquer aplicativo pode acessar toda a API REST. Em outras palavras, essa chave pode ser usada como uma chave master na conta em que elas são emitidas.

Para aplicativos expostos publicamente, nossa recomendação é usar a abordagem de aplicativos cliente confidenciais para acessar Azure Mapas APIs REST para que sua chave possa ser armazenada com segurança.

Tipo: apiKey
Em: query

SAS Token

Esse é um token de assinatura de acesso compartilhado criado a partir da operação Listar SAS no recurso Azure Mapas por meio do plano de gerenciamento do Azure por meio de portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST.

Com esse token, qualquer aplicativo está autorizado a acessar com controles de acesso baseados em função do Azure e controle refinado à expiração, taxa e regiões de uso para o token específico. Em outras palavras, o Token SAS pode ser usado para permitir que os aplicativos controlem o acesso de maneira mais segura do que a chave compartilhada.

Para aplicativos expostos publicamente, nossa recomendação é configurar uma lista específica de origens permitidas no recurso de conta do Mapa para limitar o abuso de renderização e renovar regularmente o Token SAS.

Tipo: apiKey
Em: header

Exemplos

GetFeatures

Solicitação de exemplo

GET https://us.atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4/collections/unit/items?api-version=2.0&limit=1&bbox=-122,47,-120,46

Resposta de exemplo

{
  "type": "FeatureCollection",
  "ontology": "Facility-2.0",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              139.6330405782921,
              35.45768668610856
            ],
            [
              139.63296283234274,
              35.45778390425868
            ],
            [
              139.63308672404617,
              35.45785022906202
            ],
            [
              139.6331451691671,
              35.45777714569986
            ],
            [
              139.6331274703629,
              35.45776767074717
            ],
            [
              139.63314677109963,
              35.45774353588138
            ],
            [
              139.6330405782921,
              35.45768668610856
            ]
          ]
        ]
      },
      "properties": {
        "originalId": "ddbbb583-4621-4e11-8859-299d1057e843",
        "categoryId": "CTG10",
        "isOpenArea": false,
        "navigableBy": [
          "pedestrian"
        ],
        "isRoutable": false,
        "routeThroughBehavior": "allowed",
        "nonPublic": false,
        "levelId": "LVL18",
        "occupants": [],
        "addressId": "DIR16",
        "addressRoomNumber": "",
        "name": "21N13",
        "nameSubtitle": "",
        "nameAlt": ""
      },
      "id": "UNIT39",
      "featureType": ""
    }
  ],
  "numberReturned": 1,
  "links": [
    {
      "href": "https://us.atlas.microsoft.com/wfs/dataset/218fda98-e638-0edf-5ef7-28491ff3bed4/collections/unit/items?api-version=2.0&limit=1",
      "rel": "self"
    },
    {
      "href": "https://us.atlas.microsoft.com/wfs/dataset/218fda98-e638-0edf-5ef7-28491ff3bed4/collections/unit?api-version=2.0",
      "rel": "data"
    },
    {
      "href": "https://us.atlas.microsoft.com/wfs/dataset/218fda98-e638-0edf-5ef7-28491ff3bed4/collections/unit/items?n=PMRG4ZLYOQRDUMJMEJYHEZLWEI5C2ML5&api-version=2.0&limit=1",
      "rel": "next"
    }
  ]
}

Definições

Nome Description
ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta de erro

ExtendedGeoJsonFeatureCollection

Um tipo de objeto válido GeoJSON FeatureCollection estendido com numberReturned e matriz de links. Consulte RFC 7946 para obter detalhes.

GeoJsonFeature

Um tipo de objeto válido GeoJSON Feature . Consulte RFC 7946 para obter detalhes.

GeoJsonGeometry

Um objeto de geometria válido GeoJSON . O tipo deve ser um dos sete tipos de geometria GeoJSON válidos – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon e GeometryCollection. Consulte RFC 7946 para obter detalhes.

GeoJsonGeometryCollection

Um tipo de objeto válido GeoJSON GeometryCollection . Consulte RFC 7946 para obter detalhes.

GeoJsonLineString

Um tipo de geometria válido GeoJSON LineString . Consulte RFC 7946 para obter detalhes.

GeoJsonMultiLineString

Um tipo de geometria válido GeoJSON MultiLineString . Consulte RFC 7946 para obter detalhes.

GeoJsonMultiPoint

Um tipo de geometria válido GeoJSON MultiPoint . Consulte RFC 7946 para obter detalhes.

GeoJsonMultiPolygon

Um tipo de objeto válido GeoJSON MultiPolygon . Consulte RFC 7946 para obter detalhes.

GeoJsonObjectType

Especifica o GeoJSON tipo: FeatureCollection.

GeoJsonPoint

Um tipo de geometria válido GeoJSON Point . Consulte RFC 7946 para obter detalhes.

GeoJsonPolygon

Um tipo de geometria válido GeoJSON Polygon . Consulte RFC 7946 para obter detalhes.

WFSEndpointLink

Links para outros pontos de extremidade do WFS

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

Nome Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorDetail

O detalhe do erro.

Nome Tipo Description
additionalInfo

ErrorAdditionalInfo[]

As informações adicionais do erro.

code

string

O código de erro.

details

ErrorDetail[]

Os detalhes do erro.

message

string

A mensagem de erro.

target

string

O destino do erro.

ErrorResponse

Resposta de erro

Nome Tipo Description
error

ErrorDetail

O objeto de erro.

ExtendedGeoJsonFeatureCollection

Um tipo de objeto válido GeoJSON FeatureCollection estendido com numberReturned e matriz de links. Consulte RFC 7946 para obter detalhes.

Nome Tipo Description
features

GeoJsonFeature[]

Contém uma lista de objetos válidos GeoJSON Feature .

links

WFSEndpointLink[]

Links para outros pontos de extremidade do WFS.

numberReturned

integer

Número de recursos retornados.

ontology

string

A versão de ontologia desse conjunto de dados.

type

GeoJsonObjectType

Especifica o GeoJSON tipo: FeatureCollection.

GeoJsonFeature

Um tipo de objeto válido GeoJSON Feature . Consulte RFC 7946 para obter detalhes.

Nome Tipo Description
featureType

string

O tipo do recurso. O valor depende do modelo de dados do qual o recurso atual faz parte. Alguns modelos de dados podem ter um valor vazio.

geometry GeoJsonGeometry:

Um objeto de geometria válido GeoJSON . O tipo deve ser um dos sete tipos de geometria GeoJSON válidos – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon e GeometryCollection. Consulte RFC 7946 para obter detalhes.

id

string

Identificador do recurso.

type string:

Feature

Especifica o tipo de GeoJSON. Deve ser um dos nove tipos de objeto GeoJSON válidos : Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

GeoJsonGeometry

Um objeto de geometria válido GeoJSON . O tipo deve ser um dos sete tipos de geometria GeoJSON válidos – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon e GeometryCollection. Consulte RFC 7946 para obter detalhes.

Nome Tipo Description
type

GeoJsonObjectType

Especifica o tipo de GeoJSON. Deve ser um dos nove tipos de objeto GeoJSON válidos : Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

GeoJsonGeometryCollection

Um tipo de objeto válido GeoJSON GeometryCollection . Consulte RFC 7946 para obter detalhes.

Nome Tipo Description
geometries GeoJsonGeometry[]:

Contém uma lista de objetos de geometria válidos GeoJSON . Observe que as coordenadas em GeoJSON estão em ordem x, y (longitude, latitude).

type string:

GeometryCollection

Especifica o tipo de GeoJSON. Deve ser um dos nove tipos de objeto GeoJSON válidos : Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

GeoJsonLineString

Um tipo de geometria válido GeoJSON LineString . Consulte RFC 7946 para obter detalhes.

Nome Tipo Description
coordinates

number[]

Coordenadas para a GeoJson LineString geometria.

type string:

LineString

Especifica o tipo de GeoJSON. Deve ser um dos nove tipos de objeto GeoJSON válidos : Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

GeoJsonMultiLineString

Um tipo de geometria válido GeoJSON MultiLineString . Consulte RFC 7946 para obter detalhes.

Nome Tipo Description
coordinates

number[]

Coordenadas para a GeoJson MultiLineString geometria.

type string:

MultiLineString

Especifica o tipo de GeoJSON. Deve ser um dos nove tipos de objeto GeoJSON válidos : Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

GeoJsonMultiPoint

Um tipo de geometria válido GeoJSON MultiPoint . Consulte RFC 7946 para obter detalhes.

Nome Tipo Description
coordinates

number[]

Coordenadas para a GeoJson MultiPoint geometria.

type string:

MultiPoint

Especifica o tipo de GeoJSON. Deve ser um dos nove tipos de objeto GeoJSON válidos : Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

GeoJsonMultiPolygon

Um tipo de objeto válido GeoJSON MultiPolygon . Consulte RFC 7946 para obter detalhes.

Nome Tipo Description
coordinates

number[]

Contém uma lista de objetos válidos GeoJSON Polygon . Observe que as coordenadas em GeoJSON estão em ordem x, y (longitude, latitude).

type string:

MultiPolygon

Especifica o tipo de GeoJSON. Deve ser um dos nove tipos de objeto GeoJSON válidos : Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

GeoJsonObjectType

Especifica o GeoJSON tipo: FeatureCollection.

Nome Tipo Description
FeatureCollection

string

Objeto GeoJSON FeatureCollection.

GeoJsonPoint

Um tipo de geometria válido GeoJSON Point . Consulte RFC 7946 para obter detalhes.

Nome Tipo Description
coordinates

number[]

Um Position é uma matriz de números com dois ou mais elementos. Os dois primeiros elementos são longitude e latitude, precisamente nessa ordem. Altitude/Elevação é um terceiro elemento opcional. Consulte RFC 7946 para obter detalhes.

type string:

Point

Especifica o tipo de GeoJSON. Deve ser um dos nove tipos de objeto GeoJSON válidos : Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

GeoJsonPolygon

Um tipo de geometria válido GeoJSON Polygon . Consulte RFC 7946 para obter detalhes.

Nome Tipo Description
coordinates

number[]

Coordenadas para o GeoJson Polygon tipo de geometria.

type string:

Polygon

Especifica o tipo de GeoJSON. Deve ser um dos nove tipos de objeto GeoJSON válidos : Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

Links para outros pontos de extremidade do WFS

Nome Tipo Description
href

string

O destino do link.

hreflang

string

Uma dica que indica qual deve ser a linguagem do resultado da desreferenciamento do link.

rel

string

O tipo de relação.

title

string

Usado para rotular o destino de um link de modo que ele possa ser usado como um identificador legível por humanos (por exemplo, uma entrada de menu) no idioma indicado pelo campo cabeçalho Content-Language (se presente).

type

string

Uma dica que indica qual deve ser o tipo de mídia do resultado da desreferenciamento do link.