Partilhar via


WFS - Get Features

Utilize para obter uma lista detalhada das funcionalidades de uma coleção.

A Get Features API é um pedido HTTP GET que devolve uma lista detalhada de funcionalidades na coleção especificada.

A API do WFS segue a norma Open Geospatial Consortium API for Features to query Datasets (Abrir API de Consórcio Geoespacial para Funcionalidades para consultar Conjuntos de Dados).

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

Submeter Pedido de Obtenção de Funcionalidades

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 do URI

Name Em Necessá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 a partir do qual consultar.

geography
path True

string

Este parâmetro especifica onde está localizado o recurso Azure Maps Criador. Os valores válidos são nós e eu.

api-version
query True

string

Número da versão da API Azure Maps.

bbox
query

number[]

Só são selecionadas as funcionalidades que têm uma geometria que intersecciona a caixa delimitadora fornecida.

  • Canto inferior esquerdo, eixo de coordenadas 1 * Canto inferior esquerdo, eixo de coordenadas 2 * Canto superior direito, eixo de coordenadas 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 seja especificado um sistema de referência de coordenadas diferente no parâmetro bbox-crs. Para a 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 (margem de caixa mais ocidental) é maior do que o terceiro valor (margem de caixa mais a leste).
filter
query

string

Filtrar expressão para procurar funcionalidades com valores de propriedade específicos numa determinada coleção. Só são suportadas propriedades de funcionalidades do tipo escalar e operador de igual. Este é um parâmetro especial em que o nome do parâmetro é um nome de propriedade sensível a maiúsculas e minúsculas. O esquema para este parâmetro é {property name}={property value}. A menos que "filter" seja um dos nomes de propriedade na coleção, "filter" não deve ser utilizado como um nome de parâmetro. Para procurar funcionalidades com o valor da propriedade "nome" "21N13", utilize "name=21N13". São suportados vários filtros e devem ser representados como vários parâmetros de consulta. Por exemplo, =&= Os valores de cadeia são sensíveis às maiúsculas e minúsculas.

limit
query

integer

O parâmetro de limite opcional limita o número de funcionalidades apresentadas no documento de resposta. Apenas as funcionalidades que estão no primeiro nível da coleção no documento de resposta são contadas. Os objetos aninhados contidos nas funcionalidades explicitamente pedidas não devem ser contados.

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

Cabeçalho do Pedido

Name Necessário Tipo Description
x-ms-client-id

string

Especifica a conta que se destina à utilização em conjunto com o modelo de segurança Microsoft Entra ID. Representa um ID exclusivo para a conta Azure Maps e pode ser obtido a partir da API de Conta do plano de gestão Azure Maps. Para utilizar Microsoft Entra ID segurança no Azure Maps veja os seguintes artigos para obter orientações.

Respostas

Name Tipo Description
200 OK

ExtendedGeoJsonFeatureCollection

Ok

Other Status Codes

ErrorResponse

Ocorreu um erro inesperado.

Segurança

AADToken

Estes são os fluxos Microsoft Entra OAuth 2.0. Quando emparelhado com o controlo de acesso baseado em funções do Azure, pode ser utilizado para controlar o acesso às APIs REST Azure Maps. Os controlos de acesso baseados em funções do Azure são utilizados para designar o acesso a uma ou mais Azure Maps conta de recursos ou sub-recursos. Qualquer utilizador, grupo ou principal de serviço pode ter acesso através de uma função incorporada ou de uma função personalizada composta por uma ou mais permissões para Azure Maps APIs REST.

Para implementar cenários, recomendamos que veja os conceitos de autenticação. Em resumo, esta definição de segurança fornece uma solução para modelar aplicações através de objetos com capacidade de controlo de acesso em APIs e âmbitos específicos.

Notas

  • Esta definição de segurança requer a utilização do x-ms-client-id cabeçalho para indicar a que Azure Maps recurso a que a aplicação está a pedir acesso. Isto pode ser adquirido na API de gestão de Mapas.

O Authorization URL é específico da instância da cloud pública do Azure. As clouds soberanas têm URLs de Autorização exclusivos e configurações de Microsoft Entra ID. * O controlo de acesso baseado em funções do Azure está configurado a partir do plano de gestão do Azure através de portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST. * A utilização do SDK Web Azure Maps permite a configuração baseada na configuração de uma aplicação para vários casos de utilização.

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

Âmbitos

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

subscription-key

Esta é uma chave partilhada que é aprovisionada quando Cria uma conta Azure Maps no portal do Azure ou com o PowerShell, a CLI, os SDKs do Azure ou a API REST.

Com esta chave, qualquer aplicação pode aceder a toda a API REST. Por outras palavras, esta chave pode ser utilizada como uma chave mestra na conta na qual são emitidas.

Para aplicações expostas publicamente, a nossa recomendação é utilizar a abordagem de aplicações cliente confidenciais para aceder Azure Maps APIs REST para que a sua chave possa ser armazenada de forma segura.

Tipo: apiKey
Em: query

SAS Token

Este é um token de assinatura de acesso partilhado criado a partir da operação Listar SAS no recurso Azure Maps através do plano de gestão do Azure através de portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST.

Com este token, qualquer aplicação está autorizada a aceder com controlos de acesso baseados em funções do Azure e controlo detalhado para a expiração, taxa e regiões de utilização para o token específico. Por outras palavras, o Token de SAS pode ser utilizado para permitir que as aplicações controlem o acesso de uma forma mais segura do que a chave partilhada.

Para aplicações expostas publicamente, a nossa recomendação é configurar uma lista específica de origens permitidas no recurso da conta de Mapa para limitar o abuso de composição e renovar regularmente o Token de SAS.

Tipo: apiKey
Em: header

Exemplos

GetFeatures

Pedido de amostra

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 da amostra

{
  "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

Name Description
ErrorAdditionalInfo

Informações adicionais sobre o erro de gestão de recursos.

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta a erros

ExtendedGeoJsonFeatureCollection

Um tipo de objeto válido GeoJSON FeatureCollection expandido com numberReturned e matriz de ligações. 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 tem de 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

Ligações para outros pontos finais do WFS

ErrorAdditionalInfo

Informações adicionais sobre o erro de gestão de recursos.

Name Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorDetail

O detalhe do erro.

Name 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 a erros

Name Tipo Description
error

ErrorDetail

O objeto de erro.

ExtendedGeoJsonFeatureCollection

Um tipo de objeto válido GeoJSON FeatureCollection expandido com numberReturned e matriz de ligações. Consulte RFC 7946 para obter detalhes.

Name Tipo Description
features

GeoJsonFeature[]

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

links

WFSEndpointLink[]

Ligações para outros pontos finais do WFS.

numberReturned

integer

Número de funcionalidades devolvidas.

ontology

string

A versão de ontology deste 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.

Name Tipo Description
featureType

string

O tipo da funcionalidade. O valor depende do modelo de dados do qual a funcionalidade atual faz parte. Alguns modelos de dados podem ter um valor vazio.

geometry GeoJsonGeometry:

Um objeto de geometria válido GeoJSON . O tipo tem de 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 da funcionalidade.

type string:

Feature

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

GeoJsonGeometry

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

Name Tipo Description
type

GeoJsonObjectType

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

GeoJsonGeometryCollection

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

Name Tipo Description
geometries GeoJsonGeometry[]:

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

type string:

GeometryCollection

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

GeoJsonLineString

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

Name Tipo Description
coordinates

number[]

Coordenadas para a GeoJson LineString geometria.

type string:

LineString

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

GeoJsonMultiLineString

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

Name Tipo Description
coordinates

number[]

Coordenadas para a GeoJson MultiLineString geometria.

type string:

MultiLineString

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

GeoJsonMultiPoint

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

Name Tipo Description
coordinates

number[]

Coordenadas para a GeoJson MultiPoint geometria.

type string:

MultiPoint

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

GeoJsonMultiPolygon

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

Name Tipo Description
coordinates

number[]

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

type string:

MultiPolygon

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

GeoJsonObjectType

Especifica o GeoJSON tipo: FeatureCollection.

Name Tipo Description
FeatureCollection

string

GeoJSON FeatureCollection objeto.

GeoJsonPoint

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

Name Tipo Description
coordinates

number[]

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

type string:

Point

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

GeoJsonPolygon

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

Name Tipo Description
coordinates

number[]

Coordenadas para o GeoJson Polygon tipo de geometria.

type string:

Polygon

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

Ligações para outros pontos finais do WFS

Name Tipo Description
href

string

O destino da ligação.

hreflang

string

Uma sugestão que indica qual deve ser o idioma do resultado da descontinuação da ligação.

rel

string

O tipo de relação.

title

string

Utilizado para etiquetar o destino de uma ligação de modo a poder ser utilizado como um identificador legível por humanos (por exemplo, uma entrada de menu) no idioma indicado pelo campo de cabeçalho Idioma de Conteúdo (se estiver presente).

type

string

Uma sugestão que indica qual deve ser o tipo de suporte de dados do resultado da desferição da ligação.