Spatial - Post Geofence
Use para obtener la proximidad de una coordenada a una geovalla.
La Post Geofence
API es una solicitud HTTP POST
que recupera la proximidad de una coordenada a una geovalla o un conjunto de barreras proporcionados. Con POST
las solicitudes, no es necesario cargar los datos de barrera de antemano, sino proporcionar la ubicación del objeto que está realizando el seguimiento en los parámetros de consulta, así como la barrera o el conjunto de datos de barreras en el cuerpo de la solicitud posterior. Para obtener más información sobre el formato de datos de geovalla, consulte Datos geoJSON de geovalla. La respuesta contendrá información sobre la distancia desde el borde exterior de la geovalla. Un valor negativo indica que la coordenada está dentro de la valla, mientras que un valor positivo significa que está fuera de la valla.
Esta API se puede usar para diversos escenarios que incluyen elementos como el seguimiento de recursos, la administración de flotas o la configuración de alertas para mover objetos.
La API admite la integración con Event Grid. El parámetro isAsync se usa para habilitar la integración con Event Grid (deshabilitado de forma predeterminada).
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 de identificador URI
Nombre | En | Requerido | Tipo | Description |
---|---|---|---|---|
format
|
path | True |
Formato deseado de la respuesta. Solo se admite el formato |
|
geography
|
path | True |
string |
Ubicación de la cuenta de Azure Maps. Los valores válidos son nosotros (Este de EE. UU., Centro-oeste de EE. UU., Oeste de EE. UU. 2) y eu (Norte de Europa, Oeste de Europa). Este parámetro es necesario cuando se proporciona un |
api-version
|
query | True |
string |
Número de versión de la API de Azure Maps. |
device
|
query | True |
string |
Id. del dispositivo |
lat
|
query | True |
number |
Latitud de la ubicación que se pasa. Ejemplo: 48.36. |
lon
|
query | True |
number |
Longitud de la ubicación que se pasa. Ejemplo: -124.63. |
is
|
query |
boolean |
Si es true, la solicitud usará el mecanismo de eventos asincrónicos; si es false, la solicitud se sincronizará y no desencadenará ningún evento. El valor predeterminado es false. |
|
mode
|
query |
Modo del mecanismo de eventos asincrónicos de geovalla. |
||
search
|
query |
number |
Radio del búfer alrededor de la geovalla en metros que define hasta dónde buscar dentro y fuera del borde de la valla contra la coordenada que se proporcionó al calcular el resultado. El valor mínimo es 0 y el máximo es 500. El valor predeterminado es 50. |
|
user
|
query |
string date-time |
Hora de solicitud del usuario. Si no se presenta en la solicitud, el valor predeterminado es DateTime.UtcNow. |
|
z
|
query |
number |
Nivel del mar en metros de la ubicación que se pasa. Si se presenta este parámetro, se aplica geovalla de extrusión 2D. Ejemplo: 200. |
Encabezado de la solicitud
Nombre | Requerido | Tipo | Description |
---|---|---|---|
x-ms-client-id |
string |
Especifica qué cuenta está pensada para su uso junto con el modelo de seguridad de id. de Microsoft Entra. Representa un identificador único para la cuenta de Azure Maps y se puede recuperar de la API de cuenta del plano de administración de Azure Maps. Para usar la seguridad de id. de Microsoft Entra en Azure Maps, consulte los siguientes artículos para obtener instrucciones. |
Cuerpo de la solicitud
Nombre | Requerido | Tipo | Description |
---|---|---|---|
features | True |
Contiene una lista de objetos válidos |
|
type | True |
string:
Feature |
Especifica el tipo |
Respuestas
Nombre | Tipo | Description |
---|---|---|
200 OK |
Aceptar El valor del encabezado X-Correlation-id está presente en la respuesta de una llamada asincrónica y en los datos de eventos de Event Grid. Ayuda a correlacionar la respuesta de la llamada asincrónica con el evento de Event Grid correspondiente. Encabezados X-Correlation-id: string |
|
Other Status Codes |
Se ha producido un error inesperado. |
Seguridad
AADToken
Estos son los flujos de Microsoft Entra OAuth 2.0 . Cuando se empareja con el control de acceso basado en rol de Azure , se puede usar para controlar el acceso a las API REST de Azure Maps. Los controles de acceso basados en rol de Azure se usan para designar el acceso a una o varias cuentas de recursos o subrecursos de Azure Maps. Se puede conceder acceso a cualquier usuario, grupo o entidad de servicio mediante un rol integrado o un rol personalizado compuesto por uno o varios permisos para las API REST de Azure Maps.
Para implementar escenarios, se recomienda ver los conceptos de autenticación. En resumen, esta definición de seguridad proporciona una solución para el modelado de aplicaciones a través de objetos capaces de controlar el acceso en determinadas API y ámbitos.
Notas
- Esta definición de seguridad requiere el uso del
x-ms-client-id
encabezado para indicar a qué recurso de Azure Maps solicita acceso la aplicación. Esto se puede adquirir desde la API de administración de Maps.
Authorization URL
es específico de la instancia de nube pública de Azure. Las nubes soberanas tienen direcciones URL de autorización únicas y configuraciones de id. de Microsoft Entra.
* El control de acceso basado en rol de Azure se configura desde el plano de administración de Azure mediante Azure Portal, PowerShell, la CLI, los SDK de Azure o las API REST.
* El uso del SDK web de Azure Maps permite la configuración basada en la configuración de una aplicación para varios casos de uso.
- Para obtener más información sobre la plataforma de identidad de Microsoft, consulte Introducción a la plataforma de identidad de Microsoft.
Tipo:
oauth2
Flujo:
implicit
Dirección URL de autorización:
https://login.microsoftonline.com/common/oauth2/authorize
Ámbitos
Nombre | Description |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Se trata de una clave compartida que se aprovisiona al crear un recurso de Azure Maps a través del plano de administración de Azure mediante Azure Portal, PowerShell, la CLI, los SDK de Azure o las API REST.
Con esta clave, cualquier aplicación está autorizada para acceder a todas las API REST. En otras palabras, estos se pueden tratar actualmente como claves maestras para la cuenta para la que se emiten.
En el caso de las aplicaciones expuestas públicamente, nuestra recomendación es usar el acceso de servidor a servidor de las API REST de Azure Maps donde esta clave se puede almacenar de forma segura.
Tipo:
apiKey
En:
header
SAS Token
Se trata de un token de firma de acceso compartido que se crea a partir de la operación List SAS en el recurso de Azure Maps a través del plano de administración de Azure a través de Azure Portal, PowerShell, la CLI, los SDK de Azure o las API REST.
Con este token, cualquier aplicación está autorizada para acceder a los controles de acceso basado en roles de Azure y al control específico de la expiración, la tasa y las regiones de uso para el token determinado. Es decir, el token de SAS se puede usar para permitir que las aplicaciones controlen el acceso de forma más segura que la clave compartida.
En el caso de las aplicaciones expuestas públicamente, nuestra recomendación es configurar una lista específica de orígenes permitidos en el recurso de la cuenta de mapa para limitar la representación de abusos y renovar periódicamente el token de SAS.
Tipo:
apiKey
En:
header
Ejemplos
PostGeofence
Solicitud de ejemplo
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"
}
}
]
}
Respuesta de muestra
{
"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
}
Definiciones
Nombre | Description |
---|---|
Error |
Información adicional sobre el error de administración de recursos. |
Error |
Detalle del error. |
Error |
Respuesta de error |
Geofence |
Este objeto se devuelve desde una llamada de proximidad de geovalla. |
Geofence |
Geometría de geovalla. |
Geofence |
Modo del mecanismo de eventos asincrónicos de geovalla. |
Geo |
Tipo de objeto válido |
Geo |
Tipo de objeto válido |
Geo |
Objeto geometry válido |
Geo |
Tipo de objeto válido |
Geo |
Un tipo de geometría válido |
Geo |
Un tipo de geometría válido |
Geo |
Un tipo de geometría válido |
Geo |
Tipo de objeto válido |
Geo |
Un tipo de geometría válido |
Geo |
Un tipo de geometría válido |
Json |
Formato deseado de la respuesta. Solo se admite el formato |
ErrorAdditionalInfo
Información adicional sobre el error de administración de recursos.
Nombre | Tipo | Description |
---|---|---|
info |
object |
Información adicional. |
type |
string |
Tipo de información adicional. |
ErrorDetail
Detalle del error.
Nombre | Tipo | Description |
---|---|---|
additionalInfo |
Información adicional del error. |
|
code |
string |
Código de error. |
details |
Los detalles del error. |
|
message |
string |
El mensaje de error. |
target |
string |
Destino del error. |
ErrorResponse
Respuesta de error
Nombre | Tipo | Description |
---|---|---|
error |
Objeto de error. |
Geofence
Este objeto se devuelve desde una llamada de proximidad de geovalla.
Nombre | Tipo | Description |
---|---|---|
expiredGeofenceGeometryId |
string[] |
Muestra el identificador de geometría de la geovalla que ha expirado en relación con la hora del usuario en la solicitud. |
geometries |
Muestra las geometrías de valla que contienen la posición de la coordenada o superpone searchBuffer en torno a esa posición. |
|
invalidPeriodGeofenceGeometryId |
string[] |
Listas del identificador de geometría de la geovalla que está en un período no válido en relación con la hora del usuario en la solicitud. |
isEventPublished |
boolean |
El valor es "true" si se publica al menos un evento en el suscriptor de eventos de Azure Maps y "false" en caso contrario. Esto solo se presentará en respuesta cuando el parámetro de consulta "isAsync" esté establecido en true. |
GeofenceGeometry
Geometría de geovalla.
Nombre | Tipo | Description |
---|---|---|
deviceId |
string |
Identificador del dispositivo. |
distance |
number |
Distancia desde la coordenada hasta el borde más cercano de la geovalla (en metros excepto cuando se usan valores especiales -999/999). Un número positivo significa que la coordenada está fuera de la geovalla. Si la coordenada está fuera de la geovalla, pero es superior al valor de la distancia de searchBuffer al borde más cercano de la geovalla, el valor es 999. Un número negativo significa que la coordenada está dentro de la geovalla. Si la coordenada está dentro del polígono, pero es superior al valor de la distancia de searchBuffer al borde más cercano de la geovalla, el valor es -999. Un valor de 999 significa que hay una gran confianza en que la coordenada está fuera de la geovalla. Un valor de 999 significa que hay una gran confianza en que la coordenada está dentro de la geovalla. |
geometryId |
string |
El identificador único identifica una geometría. |
nearestLat |
number |
Latitud del punto más cercano de la geometría. |
nearestLon |
number |
Longitud del punto más cercano de la geometría. |
nearestZ |
number |
Nivel del mar en metros del punto más cercano en la geometría de extrusión 2D. Esto solo se presentará en respuesta cuando el valor se proporcione para "zInMeter" en la solicitud. |
udId |
string |
Identificador único que se usa al crear un registro de datos para cargar un objeto FeatureCollection de GeoJSON válido. Consulte RFC 7946 para obtener más información. Todas las propiedades de la característica deben contener |
GeofenceMode
Modo del mecanismo de eventos asincrónicos de geovalla.
Nombre | Tipo | Description |
---|---|---|
All |
string |
Publique todos los resultados de la consulta en la suscripción de eventos de la cuenta de Azure Maps. |
EnterAndExit |
string |
Solo se publica el resultado cuando la ubicación del usuario se considera el cruce del tablero de geovalla. |
GeoJsonFeature
Tipo de objeto válido GeoJSON Feature
. Consulte RFC 7946 para obtener más información.
Nombre | Tipo | Description |
---|---|---|
featureType |
string |
Tipo de la característica. El valor depende del modelo de datos del que forma parte la característica actual. Algunos modelos de datos pueden tener un valor vacío. |
geometry | GeoJsonGeometry: |
Objeto geometry válido |
id |
string |
Identificador de la característica. |
type |
string:
Feature |
Especifica el tipo |
GeoJsonFeatureCollection
Tipo de objeto válido GeoJSON FeatureCollection
. Consulte RFC 7946 para obtener más información.
Nombre | Tipo | Description |
---|---|---|
features |
Contiene una lista de objetos válidos |
|
type |
string:
Feature |
Especifica el tipo |
GeoJsonGeometry
Objeto geometry válido GeoJSON
. El tipo debe ser uno de los siete tipos de geometría GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon y GeometryCollection. Consulte RFC 7946 para obtener más información.
Nombre | Tipo | Description |
---|---|---|
type |
Geo |
Especifica el tipo |
GeoJsonGeometryCollection
Tipo de objeto válido GeoJSON GeometryCollection
. Consulte RFC 7946 para obtener más información.
Nombre | Tipo | Description |
---|---|---|
geometries | GeoJsonGeometry[]: |
Contiene una lista de objetos geometry válidos |
type |
string:
Geometry |
Especifica el tipo |
GeoJsonLineString
Un tipo de geometría válido GeoJSON LineString
. Consulte RFC 7946 para obtener más información.
Nombre | Tipo | Description |
---|---|---|
coordinates |
number[] |
Coordenadas de la |
type |
string:
Line |
Especifica el tipo |
GeoJsonMultiLineString
Un tipo de geometría válido GeoJSON MultiLineString
. Consulte RFC 7946 para obtener más información.
Nombre | Tipo | Description |
---|---|---|
coordinates |
number[] |
Coordenadas de la |
type |
string:
Multi |
Especifica el tipo |
GeoJsonMultiPoint
Un tipo de geometría válido GeoJSON MultiPoint
. Consulte RFC 7946 para obtener más información.
Nombre | Tipo | Description |
---|---|---|
coordinates |
number[] |
Coordenadas de la |
type |
string:
Multi |
Especifica el tipo |
GeoJsonMultiPolygon
Tipo de objeto válido GeoJSON MultiPolygon
. Consulte RFC 7946 para obtener más información.
Nombre | Tipo | Description |
---|---|---|
coordinates |
number[] |
Contiene una lista de objetos válidos |
type |
string:
Multi |
Especifica el tipo |
GeoJsonPoint
Un tipo de geometría válido GeoJSON Point
. Consulte RFC 7946 para obtener más información.
Nombre | Tipo | Description |
---|---|---|
coordinates |
number[] |
A |
type |
string:
Point |
Especifica el tipo |
GeoJsonPolygon
Un tipo de geometría válido GeoJSON Polygon
. Consulte RFC 7946 para obtener más información.
Nombre | Tipo | Description |
---|---|---|
coordinates |
number[] |
Coordenadas para el |
type |
string:
Polygon |
Especifica el tipo |
JsonFormat
Formato deseado de la respuesta. Solo se admite el formato json
.
Nombre | Tipo | Description |
---|---|---|
json |
string |
Formato de intercambio de datos de notación de objetos JavaScript |