Spatial - Post Closest Point

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

A Post Closest Point API é uma solicitação HTTP POST que retorna 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 usuário no corpo da solicitação pós-solicitação. Os dados do usuário podem conter apenas uma coleção de geometria de ponto. MultiPoint ou outras geometrias serão ignoradas se fornecidos. O algoritmo não leva em conta o roteamento ou o tráfego. O número máximo de pontos aceitos é 100.000. As informações retornadas incluem latitude de ponto mais próxima, longitude e distância em metros 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 de URI

Nome Em Obrigatório Tipo Description
format
path True

JsonFormat

Formato desejado da resposta. Há suporte apenas para o formato json.

geography
path True

string

Local da conta de Azure Mapas. Os valores válidos são nós (Leste dos EUA, Centro-Oeste dos EUA, Oeste dos EUA 2) e EU (Norte da Europa, Europa Ocidental). Esse parâmetro é necessário quando um udid é fornecido na solicitação. Por exemplo, se a conta Azure Mapas estiver localizada no Leste dos EUA, somente as solicitações para nós geography serão aceitas.

api-version
query True

string

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

lat
query True

number

A latitude do local que está sendo passado. Exemplo: 48.36.

lon
query True

number

A longitude do local que está sendo passado. Exemplo: -124.63.

numberOfClosestPoints
query

integer

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

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.

Corpo da solicitação

Nome Obrigatório Tipo Description
features True

GeoJsonFeature[]

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

type True string:

FeatureCollection

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.

Respostas

Nome Tipo Description
200 OK

ClosestPointResponse

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.

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

Scopes

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

subscription-key

Essa é uma chave compartilhada provisionada ao criar um 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 essa chave, qualquer aplicativo está autorizado a acessar todas as APIs REST. Em outras palavras, elas podem atualmente ser tratadas como master chaves para a conta para a qual são emitidas.

Para aplicativos expostos publicamente, nossa recomendação é usar o acesso de servidor a servidor de Azure Mapas APIs REST em que essa chave pode ser armazenada com segurança.

Type: apiKey
In: header

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.

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

Nome Description
ClosestPoint

Objeto de entrada de resultado de ponto mais próximo

ClosestPointResponse

Este objeto é retornado de uma chamada de Ponto Mais Próximo Espacial bem-sucedida

ClosestPointSummary

Objeto Resumo de Ponto mais próximo

ErrorAdditionalInfo

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

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta de erro

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

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 desejado da resposta. Há suporte apenas para o formato json.

LatLongPairAbbreviated

Um local representado como latitude e longitude usando nomes curtos 'lat' & 'lon'.

ClosestPoint

Objeto de entrada de resultado de ponto mais próximo

Nome Tipo Description
distanceInMeters

number

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

geometryId

string

A ID exclusiva identifica uma geometria

position

LatLongPairAbbreviated

Um local representado como latitude e longitude usando nomes curtos 'lat' & 'lon'.

ClosestPointResponse

Este objeto é retornado de uma chamada de Ponto Mais Próximo Espacial bem-sucedida

Nome 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

Nome Tipo Description
information

string

Informações de processamento

sourcePoint

LatLongPairAbbreviated

Um local representado como latitude e longitude usando nomes curtos 'lat' & 'lon'.

udid

string

Uma ID de dados exclusiva (udid) para o conteúdo carregado

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.

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.

GeoJsonFeatureCollection

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

Nome Tipo Description
features

GeoJsonFeature[]

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

type string:

FeatureCollection

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.

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.

JsonFormat

Formato desejado da resposta. Há suporte apenas para o formato json.

Nome Tipo Description
json

string

O formato de intercâmbio de dados de notação de objeto JavaScript

LatLongPairAbbreviated

Um local representado como latitude e longitude usando nomes curtos 'lat' & 'lon'.

Nome Tipo Description
lat

number

Propriedade Latitude

lon

number

Propriedade Longitude