Spatial - Post Geofence
Utilisez pour obtenir la proximité d’une coordonnée à une limite géographique.
L’API Post Geofence
est une requête HTTP POST
qui récupère la proximité d’une coordonnée à une limite géographique ou à un ensemble de clôtures fourni. Avec POST
les requêtes, vous n’avez pas besoin de charger les données de clôture à l’avance. Au lieu de cela, vous fournissez l’emplacement de l’objet que vous effectuez le suivi dans les paramètres de requête, ainsi que la clôture ou l’ensemble de données de clôtures dans le corps de la demande. Pour plus d’informations sur le format de données de limite géographique, consultez Données GeoJSON de geofencing. La réponse contient des informations sur la distance à partir du bord externe de la limite géographique. Une valeur négative signifie que la coordonnée se trouve à l’intérieur de la clôture, tandis qu’une valeur positive signifie qu’elle se trouve à l’extérieur de la clôture.
Cette API peut être utilisée pour divers scénarios qui incluent le suivi des ressources, la gestion de la flotte ou la configuration d’alertes pour le déplacement d’objets.
L’API prend en charge l’intégration à Event Grid. Le paramètre isAsync est utilisé pour activer l’intégration à Event Grid (désactivé par défaut).
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}
Paramètres URI
Nom | Dans | Obligatoire | Type | Description |
---|---|---|---|---|
format
|
path | True |
Format souhaité de la réponse. Seul le format |
|
geography
|
path | True |
string |
Emplacement du compte Azure Maps. Les valeurs valides sont nous (USA Est, USA Centre-Ouest, USA Ouest 2) et eu (Europe Nord, Europe Ouest). Ce paramètre est obligatoire lorsqu’un |
api-version
|
query | True |
string |
Numéro de version de l’API Azure Maps. |
device
|
query | True |
string |
ID de l’appareil |
lat
|
query | True |
number |
Latitude de l’emplacement passé. Exemple : 48.36. |
lon
|
query | True |
number |
Longitude de l’emplacement passé. Exemple : -124.63. |
is
|
query |
boolean |
Si la valeur est true, la requête utilise le mécanisme d’événement asynchrone ; si la valeur est false, la requête est synchronisée et ne déclenche aucun événement. La valeur par défaut est false. |
|
mode
|
query |
Mode du mécanisme d’événement asynchrone de géofencing. |
||
search
|
query |
number |
Rayon de la mémoire tampon autour de la limite géographique en mètres qui définit la distance à rechercher à l’intérieur et à l’extérieur de la bordure de la clôture par rapport à la coordonnée fournie lors du calcul du résultat. La valeur minimale est 0 et la valeur maximale est 500. La valeur par défaut est 50. |
|
user
|
query |
string date-time |
Heure de la demande de l’utilisateur. S’il n’est pas présenté dans la demande, la valeur par défaut est DateTime.UtcNow. |
|
z
|
query |
number |
Le niveau de la mer en mètre de l’emplacement en cours de passage. Si ce paramètre est présenté, le géofencing d’extrusion 2D est appliqué. Exemple : 200. |
En-tête de la demande
Nom | Obligatoire | Type | Description |
---|---|---|---|
x-ms-client-id |
string |
Spécifie le compte destiné à être utilisé conjointement avec le modèle de sécurité d’ID Microsoft Entra. Il représente un ID unique pour le compte Azure Maps et peut être récupéré à partir de l’API compte du plan de gestion Azure Maps. Pour utiliser la sécurité des ID Microsoft Entra dans Azure Maps, consultez les articles suivants pour obtenir des conseils. |
Corps de la demande
Nom | Obligatoire | Type | Description |
---|---|---|---|
features | True |
Contient une liste d’objets valides |
|
type | True |
string:
Feature |
Spécifie le type |
Réponses
Nom | Type | Description |
---|---|---|
200 OK |
OK La valeur d’en-tête X-Correlation-id est présente dans la réponse d’un appel asynchrone et dans les données d’événement Event Grid. Il permet de mettre en corrélation la réponse de l’appel asynchrone avec l’événement Event Grid correspondant. En-têtes X-Correlation-id: string |
|
Other Status Codes |
Une erreur inattendue s’est produite. |
Sécurité
AADToken
Il s’agit des flux OAuth Microsoft Entra 2.0 . Lorsqu’il est associé au contrôle d’accès en fonction du rôle Azure , il peut être utilisé pour contrôler l’accès aux API REST Azure Maps. Les contrôles d’accès en fonction du rôle Azure sont utilisés pour désigner l’accès à un ou plusieurs comptes de ressources Ou sous-ressources Azure Maps. Tout utilisateur, groupe ou principal de service peut se voir accorder l’accès via un rôle intégré ou un rôle personnalisé composé d’une ou plusieurs autorisations aux API REST Azure Maps.
Pour implémenter des scénarios, nous vous recommandons d’afficher les concepts d’authentification. En résumé, cette définition de sécurité fournit une solution pour modéliser des applications via des objets capables de contrôler l’accès sur des API et des étendues spécifiques.
Notes
- Cette définition de sécurité nécessite l’utilisation de l’en-tête
x-ms-client-id
pour indiquer à quelle ressource Azure Maps l’application demande l’accès. Vous pouvez l’acquérir à partir de l’API de gestion maps.
est Authorization URL
spécifique à l’instance de cloud public Azure. Les clouds souverains ont des URL d’autorisation uniques et des configurations d’ID Microsoft Entra.
* Le contrôle d’accès en fonction du rôle Azure est configuré à partir du plan de gestion Azure via le portail Azure, PowerShell, CLI, kits SDK Azure ou API REST.
* L’utilisation du Kit de développement logiciel (SDK) web Azure Maps permet une configuration basée sur la configuration d’une application pour plusieurs cas d’usage.
- Pour plus d’informations sur la plateforme d’identités Microsoft, consultez Vue d’ensemble de la plateforme d’identités Microsoft.
Type:
oauth2
Flux:
implicit
URL d’autorisation:
https://login.microsoftonline.com/common/oauth2/authorize
Étendues
Nom | Description |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Il s’agit d’une clé partagée qui est provisionnée lors de la création d’une ressource Azure Maps via le plan de gestion Azure via le portail Azure, PowerShell, l’interface CLI, les sdk Azure ou les API REST.
Avec cette clé, toute application est autorisée à accéder à toutes les API REST. En d’autres termes, celles-ci peuvent actuellement être traitées comme des clés principales du compte pour lequel elles sont émises.
Pour les applications exposées publiquement, nous vous recommandons d’utiliser l’accès serveur à serveur des API REST Azure Maps où cette clé peut être stockée en toute sécurité.
Type:
apiKey
Dans:
header
SAS Token
Il s’agit d’un jeton de signature d’accès partagé créé à partir de l’opération Répertorier les SAP sur la ressource Azure Maps via le plan de gestion Azure via le portail Azure, PowerShell, CLI, kits SDK Azure ou API REST.
Avec ce jeton, toute application est autorisée à accéder avec des contrôles d’accès en fonction du rôle Azure et un contrôle précis à l’expiration, au taux et à la ou les régions d’utilisation du jeton particulier. En d’autres termes, le jeton SAP peut être utilisé pour permettre aux applications de contrôler l’accès de manière plus sécurisée que la clé partagée.
Pour les applications exposées publiquement, nous vous recommandons de configurer une liste spécifique d’origines autorisées sur la ressource de compte Map afin de limiter les abus de rendu et de renouveler régulièrement le jeton SAS.
Type:
apiKey
Dans:
header
Exemples
PostGeofence
Exemple de requête
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"
}
}
]
}
Exemple de réponse
{
"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
}
Définitions
Nom | Description |
---|---|
Error |
Informations supplémentaires sur l’erreur de gestion des ressources. |
Error |
Détail de l’erreur. |
Error |
Réponse d’erreur |
Geofence |
Cet objet est retourné à partir d’un appel de proximité de limite géographique. |
Geofence |
Géométrie de géofencing. |
Geofence |
Mode du mécanisme d’événement asynchrone de géofencing. |
Geo |
Type d’objet valide |
Geo |
Type d’objet valide |
Geo |
Objet geometry valide |
Geo |
Type d’objet valide |
Geo |
Type geometry valide |
Geo |
Type geometry valide |
Geo |
Type geometry valide |
Geo |
Type d’objet valide |
Geo |
Type geometry valide |
Geo |
Type geometry valide |
Json |
Format souhaité de la réponse. Seul le format |
ErrorAdditionalInfo
Informations supplémentaires sur l’erreur de gestion des ressources.
Nom | Type | Description |
---|---|---|
info |
object |
Informations supplémentaires |
type |
string |
Type d’informations supplémentaires. |
ErrorDetail
Détail de l’erreur.
Nom | Type | Description |
---|---|---|
additionalInfo |
Informations supplémentaires sur l’erreur. |
|
code |
string |
Code d'erreur. |
details |
Détails de l’erreur. |
|
message |
string |
Message d’erreur. |
target |
string |
Cible d’erreur. |
ErrorResponse
Réponse d’erreur
Nom | Type | Description |
---|---|---|
error |
Objet error. |
Geofence
Cet objet est retourné à partir d’un appel de proximité de limite géographique.
Nom | Type | Description |
---|---|---|
expiredGeofenceGeometryId |
string[] |
Répertorie l’ID géométrique de la limite géographique qui a expiré par rapport à l’heure utilisateur dans la requête. |
geometries |
Répertorie les géométries de la limite qui contiennent la position des coordonnées ou chevauchent le searchBuffer autour de la position. |
|
invalidPeriodGeofenceGeometryId |
string[] |
Répertorie l’ID géométrique de la limite géographique qui est dans une période non valide par rapport à l’heure utilisateur dans la demande. |
isEventPublished |
boolean |
Vrai si au moins un événement est publié à l’abonné de l’événement Azure Maps, faux si aucun événement n’est publié à l’abonné de l’événement Azure Maps Cela ne sera présenté en réponse que lorsque le paramètre de requête « isAsync » a la valeur true. |
GeofenceGeometry
Géométrie de géofencing.
Nom | Type | Description |
---|---|---|
deviceId |
string |
ID de l’appareil. |
distance |
number |
Distance entre la coordonnée et la bordure la plus proche de la limite géographique (en mètres sauf lorsque des valeurs spéciales -999/999 sont utilisées). Une valeur positive signifie que la coordonnée se situe à l’extérieur de la limite géographique. Si la coordonnée se situe à l’extérieur de la limite géographique mais que la valeur de searchBuffer est en dehors de la bordure de limite géographique la plus proche, la valeur est égale à 999. Une valeur négative signifie que la coordonnée se situe à l’intérieur de la limite géographique. Si la coordonnée se situe à l’intérieur du polygone mais que la valeur de searchBuffer est en dehors de la bordure de limite géographique la plus proche, la valeur est égale à -999. Une valeur égale à 999 signifie qu’il y a une grande probabilité que la coordonnée se trouve en dehors de la limite géographique. Une valeur égale à 999 signifie qu’il y a une grande probabilité que la coordonnée se trouve en deçà de la limite géographique. |
geometryId |
string |
L’ID unique identifie une géométrie. |
nearestLat |
number |
Latitude du point plus proche de la géométrie. |
nearestLon |
number |
Longitude du point plus proche de la géométrie. |
nearestZ |
number |
Niveau de la mer en mètre du point le plus proche sur la géométrie d’extrusion 2D. Cela ne sera présenté en réponse que lorsque la valeur est fournie pour « zInMeter » dans la demande. |
udId |
string |
ID unique utilisé lors de la création d’un registre de données pour charger un objet FeatureCollection GeoJSON valide. Pour plus d’informations, consultez RFC 7946 . Toutes les propriétés de la fonctionnalité doivent contenir |
GeofenceMode
Mode du mécanisme d’événement asynchrone de géofencing.
Nom | Type | Description |
---|---|---|
All |
string |
Publiez tous les résultats de la requête dans l’abonnement aux événements de compte Azure Maps. |
EnterAndExit |
string |
Publier le résultat uniquement lorsque l’emplacement de l’utilisateur est considéré comme un panneau de géofencing croisé. |
GeoJsonFeature
Type d’objet valide GeoJSON Feature
. Pour plus d’informations, consultez RFC 7946 .
Nom | Type | Description |
---|---|---|
featureType |
string |
Type de la fonctionnalité. La valeur dépend du modèle de données dont fait partie la fonctionnalité actuelle. Certains modèles de données peuvent avoir une valeur vide. |
geometry | GeoJsonGeometry: |
Objet geometry valide |
id |
string |
Identificateur de la fonctionnalité. |
type |
string:
Feature |
Spécifie le type |
GeoJsonFeatureCollection
Type d’objet valide GeoJSON FeatureCollection
. Pour plus d’informations, consultez RFC 7946 .
Nom | Type | Description |
---|---|---|
features |
Contient une liste d’objets valides |
|
type |
string:
Feature |
Spécifie le type |
GeoJsonGeometry
Objet geometry valide GeoJSON
. Le type doit être l’un des sept types géométriques GeoJSON valides : Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon et GeometryCollection. Pour plus d’informations, consultez RFC 7946 .
Nom | Type | Description |
---|---|---|
type |
Geo |
Spécifie le type |
GeoJsonGeometryCollection
Type d’objet valide GeoJSON GeometryCollection
. Pour plus d’informations, consultez RFC 7946 .
Nom | Type | Description |
---|---|---|
geometries | GeoJsonGeometry[]: |
Contient une liste d’objets géométriques valides |
type |
string:
Geometry |
Spécifie le type |
GeoJsonLineString
Type geometry valide GeoJSON LineString
. Pour plus d’informations, consultez RFC 7946 .
Nom | Type | Description |
---|---|---|
coordinates |
number[] |
Coordonnées de la |
type |
string:
Line |
Spécifie le type |
GeoJsonMultiLineString
Type geometry valide GeoJSON MultiLineString
. Pour plus d’informations, consultez RFC 7946 .
Nom | Type | Description |
---|---|---|
coordinates |
number[] |
Coordonnées de la |
type |
string:
Multi |
Spécifie le type |
GeoJsonMultiPoint
Type geometry valide GeoJSON MultiPoint
. Pour plus d’informations, consultez RFC 7946 .
Nom | Type | Description |
---|---|---|
coordinates |
number[] |
Coordonnées de la |
type |
string:
Multi |
Spécifie le type |
GeoJsonMultiPolygon
Type d’objet valide GeoJSON MultiPolygon
. Pour plus d’informations, consultez RFC 7946 .
Nom | Type | Description |
---|---|---|
coordinates |
number[] |
Contient une liste d’objets valides |
type |
string:
Multi |
Spécifie le type |
GeoJsonPoint
Type geometry valide GeoJSON Point
. Pour plus d’informations, consultez RFC 7946 .
Nom | Type | Description |
---|---|---|
coordinates |
number[] |
Un |
type |
string:
Point |
Spécifie le type |
GeoJsonPolygon
Type geometry valide GeoJSON Polygon
. Pour plus d’informations, consultez RFC 7946 .
Nom | Type | Description |
---|---|---|
coordinates |
number[] |
Coordonnées du |
type |
string:
Polygon |
Spécifie le type |
JsonFormat
Format souhaité de la réponse. Seul le format json
est pris en charge.
Nom | Type | Description |
---|---|---|
json |
string |