Compartilhar via


Spatial - Get Geofence

Use para obter a proximidade de uma coordenada para uma cerca geográfica.

A Get Geofence API é uma solicitação HTTP GET que recupera a proximidade de uma coordenada para uma cerca geográfica que foi carregada no Registro de dados. Carregue uma cerca geográfica ou um conjunto de cercas em uma Conta de Armazenamento do Azure e registre-a com sua Conta do Azure Mapas usando o Registro de Dados para obter mais informações em Como criar o registro de dados. Para obter mais informações sobre o formato de dados de cerca geográfica, consulte Geofencing GeoJSON data. Para consultar a proximidade de uma coordenada, forneça o local do objeto que você está rastreando, bem como a ID da cerca ou conjunto de cercas, e a resposta conterá informações sobre a distância da borda externa da cerca geográfica. Um valor negativo significa que a coordenada está dentro da cerca, enquanto um valor positivo significa que ela está fora da cerca.

Essa API pode ser usada para uma variedade de cenários que incluem itens como acompanhamento de ativos, gerenciamento de frota ou configuração de alertas para mover objetos.

A API dá suporte à integração com a Grade de Eventos. O parâmetro isAsync é usado para habilitar a integração com a Grade de Eventos (desabilitada por padrão). Para testar essa API, você pode carregar os dados de exemplo dos exemplos da API post geofence (Corpo da Solicitação) usando o serviço registro de dados e substituir o {udid} da solicitação de exemplo abaixo pelo udid usado para criar o Registro de dados. Para obter mais informações sobre o serviço de registro de dados, consulte Como criar o registro de dados.

Código InnerError de cerca geográfica

No contrato de erro de resposta de cerca geográfica, innererror é um objeto que contém informações específicas do serviço sobre o erro. code é uma propriedade na innererror qual pode mapear para um tipo de erro de cerca geográfica específico. A tabela abaixo mostra o mapeamento de código entre todo o tipo de erro de cliente conhecido para o erro messagede geofencing correspondente.

innererror.code error.message
NullDeviceId A ID do dispositivo não deve ser nula.
NullUdid Udid não deve ser nulo.
UdidWrongFormat A Udid deve ser adquirida da API de ingestão de dados do usuário.
InvalidUserTime O tempo de usuário é inválido.
InvalidSearchBuffer Searchbuffer é inválido.
InvalidSearchRange O intervalo de valor do searchbuffer deve ser de 0 a 500 metros.
InvalidLatLon Parâmetros lat e/ou lon são inválidos.
InvalidIsAsyncValue O parâmetro IsAsync é inválido.
InvalidModeValue O parâmetro de modo inválido.
InvalidJson Os dados de geofencing não são um arquivo json válido.
NotSupportedGeoJson Os dados de cerca geográfica não podem ser lidos como um Recurso ou FeatureCollections.
InvalidGeoJson Os dados de cerca geográfica são inválidos.
NoUserDataWithAccountOrSubscription Não é possível encontrar dados de cerca geográfica do usuário com id de conta e/ou id de assinatura fornecidos.
NoUserDataWithUdid Não é possível encontrar dados de cerca geográfica do usuário com udid fornecido.
GET https://{geography}.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId={deviceId}&udid={udid}&lat={lat}&lon={lon}
GET https://{geography}.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId={deviceId}&udid={udid}&lat={lat}&lon={lon}&z={z}&userTime={userTime}&searchBuffer={searchBuffer}&isAsync={isAsync}&mode={mode}

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

deviceId
query True

string

ID do dispositivo

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.

udid
query True

string

A ID exclusiva usada ao criar um Registro de dados para carregar um objeto FeatureCollection GeoJSON válido. Consulte RFC 7946 para obter detalhes. Todas as propriedades do recurso devem conter geometryId, que é usado para identificar a geometria e diferencia maiúsculas de minúsculas. Para obter mais informações sobre o serviço de registro de dados, consulte Como criar o registro de dados.

isAsync
query

boolean

Se for true, a solicitação usará o mecanismo de evento assíncrono; se false, a solicitação será sincronizada e não disparará nenhum evento. O valor padrão é false.

mode
query

GeofenceMode

Modo do mecanismo de evento assíncrono de cerca geográfica.

searchBuffer
query

number

O raio do buffer ao redor da cerca geográfica em metros que define até onde pesquisar dentro e fora da borda da cerca contra a coordenada fornecida ao calcular o resultado. O valor mínimo é 0 e o máximo é 500. O valor padrão é 50.

userTime
query

string

date-time

O tempo de solicitação do usuário. Se não for apresentado na solicitação, o valor padrão será DateTime.Now.

z
query

number

O nível do mar no medidor do local que está sendo passado. Se esse parâmetro for apresentado, a extrusão 2D será usada. Exemplo: 200.

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 da ID do Microsoft Entra. Ele representa uma ID exclusiva para a conta do Azure Mapas e pode ser recuperado da API de Conta do plano de gerenciamento do Azure Mapas. Para usar a segurança do Microsoft Entra ID no Azure Mapas, confira os artigos a seguir para obter diretrizes .

Respostas

Nome Tipo Description
200 OK

Geofence

OK O valor do cabeçalho X-Correlation-id está presente na resposta de uma chamada assíncrona e nos dados de evento da Grade de Eventos. Ele ajuda a correlacionar a resposta da chamada assíncrona com o evento correspondente da Grade de Eventos.

Cabeçalhos

X-Correlation-id: string

Other Status Codes

ErrorResponse

Erro inesperado.

Segurança

AADToken

Estes são os Fluxos do 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 do Azure Mapas. Os controles de acesso baseados em função do Azure são usados para designar o acesso a uma ou mais sub-recursos ou conta de recurso do Azure Mapas. 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 APIs REST do Azure Mapas.

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 recurso do Azure Mapas 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 ID do Microsoft Entra. * O controle de acesso baseado em função do Azure é configurado no plano de gerenciamento do Azure por meio do portal do Azure, do PowerShell, da CLI, dos SDKs do Azure ou das APIs REST. * O uso do SDK da Web do 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 ao criar um recurso do Azure Mapas por meio do plano de gerenciamento do Azure por meio do portal do Azure, do PowerShell, da CLI, dos SDKs do Azure ou das APIs REST.

Com essa chave, qualquer aplicativo está autorizado a acessar todas as APIs REST. Em outras palavras, elas podem atualmente ser tratadas como chaves mestras para a conta para a qual são emitidas.

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

Tipo: apiKey
Em: header

SAS Token

Esse é um token de assinatura de acesso compartilhado criado a partir da operação Listar SAS no recurso do Azure Mapas por meio do plano de gerenciamento do Azure por meio do portal do Azure, do PowerShell, da CLI, dos SDKs do Azure ou das 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

GetGeofence

Solicitação de exemplo

GET https://us.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId=unique_device_name_under_account&udid=f6495f62-94f8-0ec2-c252-45626f82fcb2&lat=48.36&lon=-124.63&userTime=2022-08-21T17:32:28Z&searchBuffer=50&isAsync=True&mode=EnterAndExit

Resposta de exemplo

{
  "geometries": [
    {
      "deviceId": "unique_device_name_under_account",
      "udId": "f6495f62-94f8-0ec2-c252-45626f82fcb2",
      "geometryId": "2",
      "distance": 999,
      "nearestLat": 47.621954,
      "nearestLon": -122.131841
    },
    {
      "deviceId": "unique_device_name_under_account",
      "udId": "f6495f62-94f8-0ec2-c252-45626f82fcb2",
      "geometryId": "1",
      "distance": -999,
      "nearestLat": 47.609833,
      "nearestLon": -122.148274
    }
  ],
  "expiredGeofenceGeometryId": [
    "5"
  ],
  "invalidPeriodGeofenceGeometryId": [
    "3",
    "4"
  ],
  "isEventPublished": true
}

Definições

Nome Description
ErrorAdditionalInfo

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

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta de erro

Geofence

Esse objeto é retornado de uma chamada de proximidade de cerca geográfica.

GeofenceGeometry

A geometria de cerca geográfica.

GeofenceMode

Modo do mecanismo de evento assíncrono de cerca geográfica.

JsonFormat

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

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.

Geofence

Esse objeto é retornado de uma chamada de proximidade de cerca geográfica.

Nome Tipo Description
expiredGeofenceGeometryId

string[]

Listas da ID de geometria da cerca geográfica que expirou em relação ao tempo do usuário na solicitação.

geometries

GeofenceGeometry[]

Lista as geometrias de delimitação que contêm a posição da coordenada ou sobrepõem o searchBuffer em torno da posição.

invalidPeriodGeofenceGeometryId

string[]

Listas da ID de geometria da cerca geográfica que está em um período inválido em relação ao tempo do usuário na solicitação.

isEventPublished

boolean

True se pelo menos um evento for publicado no assinante de evento do Azure Mapas e false se nenhum evento for publicado no assinante de evento do Azure Mapas. Isso só será apresentado em resposta quando o parâmetro de consulta 'isAsync' for definido como true.

GeofenceGeometry

A geometria de cerca geográfica.

Nome Tipo Description
deviceId

string

ID do dispositivo.

distance

number

Distância da coordenada até a borda mais próxima da cerca geográfica (em metros, exceto quando valores especiais -999/999 são usados). Positivo significa que a coordenada está fora da cerca geográfica. Se a coordenada estiver fora da cerca geográfica, mas for maior que o valor de searchBuffer distante da borda da cerca geográfica mais próxima, o valor será 999. Negativo significa que a coordenada está dentro da cerca geográfica. Se a coordenada estiver dentro do polígono, mas for maior que o valor de searchBuffer distante da borda de delimitação geográfica mais próxima, o valor será -999. Um valor de 999 significa que há grande confiança de que a coordenada esteja bem fora da cerca geográfica. Um valor de -999 significa que há uma grande confiança de que a coordenada esteja bem dentro da cerca geográfica.

geometryId

string

A ID exclusiva 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 na geometria de extrusão 2D. Isso só será apresentado em resposta quando o valor for fornecido para 'zInMeter' na solicitação.

udId

string

A ID exclusiva usada ao criar um Registro de dados para carregar um objeto FeatureCollection GeoJSON válido. Consulte RFC 7946 para obter detalhes. Todas as propriedades do recurso devem conter geometryId, que é usado para identificar a geometria e diferencia maiúsculas de minúsculas. Para obter mais informações sobre o serviço de registro de dados, consulte Como criar o registro de dados.

GeofenceMode

Modo do mecanismo de evento assíncrono de cerca geográfica.

Nome Tipo Description
All

string

Publique todos os resultados da consulta na assinatura de evento da conta do Azure Mapas.

EnterAndExit

string

Somente publique o resultado quando a localização do usuário for considerada como cruzando o boarder geofencing.

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