Spatial - Post Geofence
Utilize para obter a proximidade de uma coordenada a uma georrese.
A Post Geofence
API é um pedido HTTP POST
que obtém a proximidade de uma coordenada a uma georresta ou conjunto de cercas fornecidos. Com POST
os pedidos, não tem de carregar previamente os dados da vedação, em vez disso, fornece a localização do objeto que está a monitorizar nos parâmetros de consulta, bem como a vedação ou conjunto de dados de cercas no corpo pós-pedido. Para obter mais informações sobre o formato de dados georreplicação, veja Geofencing GeoJSON data (Geofencing GeoJSON data). A resposta conterá informações sobre a distância da margem externa da georresta. Um valor negativo significa que a coordenada está dentro da vedação, enquanto um valor positivo significa que está fora da vedação.
Esta API pode ser utilizada para uma variedade de cenários que incluem elementos como o controlo de recursos, a gestão de frotas ou a configuração de alertas para mover objetos.
A API suporta a integração com o Event Grid. O parâmetro isAsync é utilizado para ativar a integração com o Event Grid (desativado por predefinição).
POST https://{geography}.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId={deviceId}&lat={lat}&lon={lon}
POST https://{geography}.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId={deviceId}&lat={lat}&lon={lon}&z={z}&userTime={userTime}&searchBuffer={searchBuffer}&isAsync={isAsync}&mode={mode}
Parâmetros do URI
Name | Em | Necessário | Tipo | Description |
---|---|---|---|---|
format
|
path | True |
Formato pretendido da resposta. Apenas |
|
geography
|
path | True |
string |
Localização da Conta do 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 |
api-version
|
query | True |
string |
Número da versão da API do Azure Maps. |
device
|
query | True |
string |
ID do dispositivo |
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. |
is
|
query |
boolean |
Se for verdadeiro, o pedido utilizará o mecanismo de eventos assíncrono; se for falso, o pedido será sincronizado e não acionará nenhum evento. O valor predefinido é false. |
|
mode
|
query |
Modo do mecanismo de eventos assíncrono geofencing. |
||
search
|
query |
number |
O raio da memória intermédia em torno da geofência em metros que define até onde procurar dentro e fora do limite da vedação contra a coordenada fornecida ao calcular o resultado. O valor mínimo é 0 e o máximo é 500. O valor predefinido é 50. |
|
user
|
query |
string date-time |
O tempo de pedido do utilizador. Se não for apresentado no pedido, o valor predefinido é DateTime.UtcNow. |
|
z
|
query |
number |
O nível do mar no medidor da localização que está a ser passada. Se este parâmetro for apresentado, é aplicada a geofencing de extrusão 2D. Exemplo: 200. |
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 do Azure Maps e pode ser obtido a partir da API de Conta do plano de gestão do Azure Maps. Para utilizar a segurança do Microsoft Entra ID no Azure Maps, consulte os seguintes artigos para obter orientações. |
Corpo do Pedido
Name | Necessário | Tipo | Description |
---|---|---|---|
features | True |
Contém uma lista de objetos válidos |
|
type | True |
string:
Feature |
Especifica o |
Respostas
Name | Tipo | Description |
---|---|---|
200 OK |
OK O valor do cabeçalho X-Correlation-id está presente na resposta de uma chamada assíncrona e nos dados de eventos do Event Grid. Ajuda a correlacionar a resposta da chamada assíncrona com o evento do Event Grid correspondente. Cabeçalhos X-Correlation-id: string |
|
Other Status Codes |
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 do Azure Maps. Os controlos de acesso baseados em funções do Azure são utilizados para designar o acesso a uma ou mais contas de recursos ou sub-recursos do Azure Maps. 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 as APIs REST do Azure Maps.
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 recurso do Azure Maps 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 do 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 do portal do Azure, do PowerShell, da CLI, dos SDKs do Azure ou das APIs REST.
* A utilização do SDK Web do Azure Maps permite a configuração baseada na configuração de uma aplicação para vários casos de utilização.
- Para obter mais informações sobre a plataforma de identidades da Microsoft, consulte Descrição geral da plataforma de identidades da Microsoft.
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 ao criar um recurso do Azure Maps através do plano de gestão do Azure através do portal do Azure, do PowerShell, da CLI, dos SDKs do Azure ou das 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 do Azure Maps, onde esta chave pode ser armazenada de forma segura.
Tipo:
apiKey
Em:
header
SAS Token
Este é um token de assinatura de acesso partilhado criado a partir da operação List SAS no recurso do Azure Maps através do plano de gestão do Azure através do portal do Azure, do PowerShell, da CLI, dos SDKs do Azure ou das 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
PostGeofence
Pedido de amostra
POST https://us.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId=unique_device_name_under_account&lat=48.36&lon=-124.63&userTime={userTime}&searchBuffer=50&isAsync=True&mode=EnterAndExit
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-122.13241226662022,
47.61701140091722
],
[
-122.12810106940353,
47.6169969269402
],
[
-122.12824948956276,
47.61907683751349
],
[
-122.12833297981392,
47.621929787055336
],
[
-122.12971398040168,
47.62184100705295
],
[
-122.1318413862121,
47.62195364373008
],
[
-122.13231034769727,
47.61716332618121
],
[
-122.13241226662022,
47.61701140091722
]
]
]
},
"properties": {
"geometryId": "2",
"name": "Crossroad Mall"
}
},
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-122.1534220563239,
47.60981818546625
],
[
-122.153451623509,
47.60628733146004
],
[
-122.14971782206638,
47.606250040787046
],
[
-122.14817354810637,
47.606391046012305
],
[
-122.1482735128807,
47.60983316796356
],
[
-122.15225500989803,
47.60982613678752
],
[
-122.1534220563239,
47.60981818546625
]
]
]
},
"properties": {
"geometryId": "1",
"name": "Sammamish High school"
}
}
]
}
Resposta da amostra
{
"geometries": [
{
"deviceId": "unique_device_name_under_account",
"geometryId": "2",
"distance": -999,
"nearestLat": 47.621954,
"nearestLon": -122.131841
},
{
"deviceId": "unique_device_name_under_account",
"geometryId": "1",
"distance": 999,
"nearestLat": 47.609833,
"nearestLon": -122.148274
}
],
"expiredGeofenceGeometryId": [],
"invalidPeriodGeofenceGeometryId": [],
"isEventPublished": true
}
Definições
Name | Description |
---|---|
Error |
Informações adicionais sobre o erro de gestão de recursos. |
Error |
O detalhe do erro. |
Error |
Resposta a erros |
Geofence |
Este objeto é devolvido a partir de uma chamada de proximidade de geofência. |
Geofence |
A geometria geofencing. |
Geofence |
Modo do mecanismo de eventos assíncrono geofencing. |
Geo |
Um tipo de objeto válido |
Geo |
Um tipo de objeto válido |
Geo |
Um objeto de geometria válido |
Geo |
Um tipo de objeto válido |
Geo |
Um tipo de geometria válido |
Geo |
Um tipo de geometria válido |
Geo |
Um tipo de geometria válido |
Geo |
Um tipo de objeto válido |
Geo |
Um tipo de geometria válido |
Geo |
Um tipo de geometria válido |
Json |
Formato pretendido da resposta. Apenas |
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 |
As informações adicionais do erro. |
|
code |
string |
O código de erro. |
details |
Os detalhes do erro. |
|
message |
string |
A mensagem de erro. |
target |
string |
O destino do erro. |
ErrorResponse
Resposta a erros
Name | Tipo | Description |
---|---|---|
error |
O objeto de erro. |
Geofence
Este objeto é devolvido a partir de uma chamada de proximidade de geofência.
Name | Tipo | Description |
---|---|---|
expiredGeofenceGeometryId |
string[] |
Listas do ID de geometria da geofência que expirou relativamente à hora do utilizador no pedido. |
geometries |
Lista as geometrias de vedação que contêm a posição de coordenada ou sobrepõem-se ao searchBuffer em torno da posição. |
|
invalidPeriodGeofenceGeometryId |
string[] |
Listas do ID de geometria da geofência que se encontra num período inválido em relação ao tempo de utilizador no pedido. |
isEventPublished |
boolean |
Verdadeiro se, pelo menos, um evento for publicado no subscritor de eventos do Azure Maps, falso se não for publicado nenhum evento no subscritor de eventos do Azure Maps. Isto só será apresentado em resposta quando o parâmetro de consulta "isAsync" estiver definido como verdadeiro. |
GeofenceGeometry
A geometria geofencing.
Name | Tipo | Description |
---|---|---|
deviceId |
string |
ID do dispositivo. |
distance |
number |
Distância da coordenada até ao limite mais próximo da geofência (em metros, exceto quando são utilizados valores especiais -999/999). Positivo significa que a coordenada está fora da geofência. Se a coordenada estiver fora da geofência, mas mais do que o valor de searchBuffer longe do limite de geofência mais próximo, o valor é 999. Negativo significa que a coordenada está dentro da geofência. Se a coordenada estiver dentro do polígono, mas mais do que o valor de searchBuffer longe do limite geofencing mais próximo, o valor é -999. Um valor de 999 significa que há uma grande confiança de que a coordenada está bem fora da georreplicação. Um valor de -999 significa que há uma grande confiança de que a coordenada está dentro da georrescrição. |
geometryId |
string |
O ID exclusivo identifica uma geometria. |
nearestLat |
number |
Latitude do ponto mais próximo da geometria. |
nearestLon |
number |
Longitude do ponto mais próximo da geometria. |
nearestZ |
number |
Nível do mar no medidor do ponto mais próximo da geometria de extrusão 2D. Isto só será apresentado em resposta quando o valor for fornecido para "zInMeter" no pedido. |
udId |
string |
O ID exclusivo utilizado ao criar um Registo de dados para carregar um objeto GeoJSON FeatureCollection válido. Consulte RFC 7946 para obter detalhes. Todas as propriedades da funcionalidade devem conter |
GeofenceMode
Modo do mecanismo de eventos assíncrono geofencing.
Name | Tipo | Description |
---|---|---|
All |
string |
Publique todos os resultados da consulta na subscrição de eventos da conta do Azure Maps. |
EnterAndExit |
string |
Publicar apenas o resultado quando a localização do utilizador é considerada como cruzando o boarder de geofencing. |
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 |
id |
string |
Identificador da funcionalidade. |
type |
string:
Feature |
Especifica o |
GeoJsonFeatureCollection
Um tipo de objeto válido GeoJSON FeatureCollection
. Consulte RFC 7946 para obter detalhes.
Name | Tipo | Description |
---|---|---|
features |
Contém uma lista de objetos válidos |
|
type |
string:
Feature |
Especifica o |
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 |
Geo |
Especifica o |
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 |
type |
string:
Geometry |
Especifica o |
GeoJsonLineString
Um tipo de geometria válido GeoJSON LineString
. Consulte RFC 7946 para obter detalhes.
Name | Tipo | Description |
---|---|---|
coordinates |
number[] |
Coordenadas para a |
type |
string:
Line |
Especifica o |
GeoJsonMultiLineString
Um tipo de geometria válido GeoJSON MultiLineString
. Consulte RFC 7946 para obter detalhes.
Name | Tipo | Description |
---|---|---|
coordinates |
number[] |
Coordenadas para a |
type |
string:
Multi |
Especifica o |
GeoJsonMultiPoint
Um tipo de geometria válido GeoJSON MultiPoint
. Consulte RFC 7946 para obter detalhes.
Name | Tipo | Description |
---|---|---|
coordinates |
number[] |
Coordenadas para a |
type |
string:
Multi |
Especifica o |
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 |
type |
string:
Multi |
Especifica o |
GeoJsonPoint
Um tipo de geometria válido GeoJSON Point
. Consulte RFC 7946 para obter detalhes.
Name | Tipo | Description |
---|---|---|
coordinates |
number[] |
A |
type |
string:
Point |
Especifica o |
GeoJsonPolygon
Um tipo de geometria válido GeoJSON Polygon
. Consulte RFC 7946 para obter detalhes.
Name | Tipo | Description |
---|---|---|
coordinates |
number[] |
Coordenadas para o |
type |
string:
Polygon |
Especifica o |
JsonFormat
Formato pretendido da resposta. Apenas json
o formato é suportado.
Name | Tipo | Description |
---|---|---|
json |
string |
O Formato de Intercâmbio de Dados de Notação de Objetos JavaScript |