Spatial - Post Closest Point

Utilize para obter o ponto mais próximo entre um ponto base e um determinado conjunto de pontos de destino.

A Post Closest Point API é um pedido HTTP POST que devolve o ponto mais próximo entre um ponto base e um determinado conjunto de pontos de destino. O conjunto de pontos de destino é fornecido pelos dados do utilizador no corpo pós-pedido. Os dados de utilizador só podem conter uma coleção de Geometria de Pontos. Se for fornecido, o MultiPoint ou outras geometrias serão ignorados. O algoritmo não tem em conta o encaminhamento ou o tráfego. O número máximo de pontos aceites é 100 000. As informações devolvidas incluem latitude de ponto mais próximo, longitude e distância em metros a partir do ponto mais próximo.

POST https://{geography}.atlas.microsoft.com/spatial/closestPoint/json?api-version=2022-08-01&lat={lat}&lon={lon}
POST https://{geography}.atlas.microsoft.com/spatial/closestPoint/json?api-version=2022-08-01&lat={lat}&lon={lon}&numberOfClosestPoints={numberOfClosestPoints}

Parâmetros do URI

Name Em Necessário Tipo Description
format
path True

JsonFormat

Formato pretendido da resposta. Apenas json o formato é suportado.

geography
path True

string

Localização da Conta Azure Maps. Os valores válidos são nós (E.U.A. Leste, E.U.A. Centro-Oeste, E.U.A. Oeste 2) e eu (Europa do Norte, Europa Ocidental). Este parâmetro é necessário quando um udid é fornecido no pedido. Por exemplo, se a Conta de Azure Maps estiver localizada nos E.U.A. Leste, apenas serão aceites pedidos para a nossa geografia.

api-version
query True

string

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

lat
query True

number

A latitude da localização que está a ser transmitida. Exemplo: 48.36.

lon
query True

number

A longitude da localização que está a ser transmitida. Exemplo: -124.63.

numberOfClosestPoints
query

integer

O número de pontos mais próximos esperados da resposta. Predefinição: 1, mínimo: 1 e máximo: 50

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 consulte os seguintes artigos para obter orientações.

Corpo do Pedido

Name Necessário Tipo Description
features True

GeoJsonFeature[]

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

type True string:

FeatureCollection

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

Respostas

Name Tipo Description
200 OK

ClosestPointResponse

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.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

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

subscription-key

Esta é uma chave partilhada que é aprovisionada ao criar um recurso de 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 esta chave, qualquer aplicação está autorizada a aceder a todas as APIs REST. Por outras palavras, estas podem atualmente ser tratadas como chaves mestras da conta para a qual são emitidas.

Para aplicações expostas publicamente, a nossa recomendação é utilizar o acesso servidor a servidor das APIs REST Azure Maps onde esta chave pode ser armazenada de forma segura.

Type: apiKey
In: header

SAS Token

Este é um token de assinatura de acesso partilhado criado a partir da operação List SAS no recurso de 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.

Type: apiKey
In: header

Exemplos

PostClosestPoint

Sample Request

POST https://us.atlas.microsoft.com/spatial/closestPoint/json?api-version=2022-08-01&lat=47.622942&lon=-122.316456

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "geometryId": 1001
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -105.02860293715861,
          40.51615340677395
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "geometryId": 1002
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -105.02860381672178,
          40.51599099003731
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "geometryId": 1003
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -105.02812292879467,
          40.51605867808856
        ]
      }
    }
  ]
}

Sample Response

{
  "summary": {
    "sourcePoint": {
      "lat": 47.622942,
      "lon": -122.316456
    },
    "udid": null,
    "information": "3 points processed in user data"
  },
  "result": [
    {
      "distanceInMeters": 1587492.66,
      "position": {
        "lat": 40.51615340677395,
        "lon": -105.02860293715861
      },
      "geometryId": "1001"
    }
  ]
}

Definições

Name Description
ClosestPoint

Objeto de Entrada de Resultado de Ponto Mais Próximo

ClosestPointResponse

Este objeto é devolvido de uma chamada de Ponto Mais Próximo Espacial com êxito

ClosestPointSummary

Objeto Resumo de Ponto Mais Próximo

ErrorAdditionalInfo

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

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta a erros

GeoJsonFeature

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

GeoJsonFeatureCollection

Um tipo de objeto válido GeoJSON FeatureCollection . 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.

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.

JsonFormat

Formato pretendido da resposta. Apenas json o formato é suportado.

LatLongPairAbbreviated

Uma localização representada como uma latitude e longitude com nomes curtos "lat" & "lon".

ClosestPoint

Objeto de Entrada de Resultado de Ponto Mais Próximo

Name Tipo Description
distanceInMeters

number

A distância em metros desde o ponto de origem até ao ponto mais próximo

geometryId

string

O ID exclusivo identifica uma geometria

position

LatLongPairAbbreviated

Uma localização representada como uma latitude e longitude com nomes curtos "lat" & "lon".

ClosestPointResponse

Este objeto é devolvido de uma chamada de Ponto Mais Próximo Espacial com êxito

Name Tipo Description
result

ClosestPoint[]

Matriz de Resultados de Ponto Mais Próximo

summary

ClosestPointSummary

Objeto Resumo de Ponto Mais Próximo

ClosestPointSummary

Objeto Resumo de Ponto Mais Próximo

Name Tipo Description
information

string

A processar informações

sourcePoint

LatLongPairAbbreviated

Uma localização representada como uma latitude e longitude com nomes curtos "lat" & "lon".

udid

string

Um ID de dados exclusivo (udid) para o conteúdo carregado

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ções adicionais.

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.

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 – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

GeoJsonFeatureCollection

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

Name Tipo Description
features

GeoJsonFeature[]

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

type string:

FeatureCollection

Especifica o GeoJSON tipo. Tem de 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 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 – 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.

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 por ordem x, y (longitude, latitude).

type string:

GeometryCollection

Especifica o GeoJSON tipo. Tem de 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.

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 – 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.

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 – 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.

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 – 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.

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 por ordem x, y (longitude, latitude).

type string:

MultiPolygon

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

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 – 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.

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 – Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature e FeatureCollection.

JsonFormat

Formato pretendido da resposta. Apenas json o formato é suportado.

Name Tipo Description
json

string

Formato JavaScript Object Notation Data Interchange

LatLongPairAbbreviated

Uma localização representada como uma latitude e longitude com nomes curtos "lat" & "lon".

Name Tipo Description
lat

number

Propriedade Latitude

lon

number

Propriedade Longitude