Spatial - Post Geofence
Usare per ottenere la prossimità di una coordinata a un recinto virtuale.
L'API Post Geofence
è una richiesta HTTP POST
che recupera la prossimità di una coordinata a un recinto virtuale o a un set di recinti fornito. Con le richieste, non è necessario caricare i dati di isolamento in anticipo, ma si specifica la posizione dell'oggetto che si sta monitorando nei parametri di query, nonché nel limite o nel set di dati di recinto nel corpo della richiesta post.With POST
requests, you do not have to upload the fence data in advance, instead you supply the location of the object you are tracking in query parameters, as the fences or set of fences data in post request body. Per altre informazioni sul formato dei dati del recinto virtuale, vedere Geofencing GeoJSON data (Geofencing GeoJSON data). La risposta conterrà informazioni sulla distanza dal bordo esterno del recinto virtuale. Un valore negativo indica che la coordinata si trova all'interno del recinto mentre un valore positivo indica che si trova all'esterno del recinto.
Questa API può essere usata per un'ampia gamma di scenari che includono elementi come il rilevamento degli asset, la gestione della flotta o la configurazione di avvisi per lo spostamento di oggetti.
L'API supporta l'integrazione con Griglia di eventi. Il parametro isAsync viene usato per abilitare l'integrazione con Griglia di eventi (disabilitato per impostazione predefinita).
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}
Parametri dell'URI
Nome | In | Necessario | Tipo | Descrizione |
---|---|---|---|---|
format
|
path | True |
Formato desiderato della risposta. È supportato solo il formato |
|
geography
|
path | True |
string |
Posizione dell'account mappe di Azure. I valori validi sono Stati Uniti orientali, Stati Uniti centro-occidentali, Stati Uniti occidentali 2 e eu (Europa settentrionale, Europa occidentale). Questo parametro è obbligatorio quando viene fornito un |
api-version
|
query | True |
string |
Numero di versione dell'API Mappe di Azure. |
device
|
query | True |
string |
ID del dispositivo |
lat
|
query | True |
number |
Latitudine della posizione passata. Esempio: 48.36. |
lon
|
query | True |
number |
Longitudine della posizione passata. Esempio: -124.63. |
is
|
query |
boolean |
Se true, la richiesta userà un meccanismo di evento asincrono; se false, la richiesta verrà sincronizzata e non attiverà alcun evento. Il valore predefinito è false. |
|
mode
|
query |
Modalità del meccanismo di evento asincrono di geofencing. |
||
search
|
query |
number |
Raggio del buffer intorno al recinto virtuale in metri che definisce la distanza di ricerca all'interno e all'esterno del bordo della recinzione rispetto alla coordinata fornita durante il calcolo del risultato. Il valore minimo è 0 e il valore massimo è 500. Il valore predefinito è 50. |
|
user
|
query |
string date-time |
Ora della richiesta dell'utente. Se non viene presentato nella richiesta, il valore predefinito è DateTime.UtcNow. |
|
z
|
query |
number |
Il livello del mare in metro della posizione da passare. Se questo parametro viene presentato, viene applicato il recinto virtuale dell'estrusione 2D. Esempio: 200. |
Intestazione della richiesta
Nome | Necessario | Tipo | Descrizione |
---|---|---|---|
x-ms-client-id |
string |
Specifica l'account destinato all'utilizzo in combinazione con il modello di sicurezza Microsoft Entra ID. Rappresenta un ID univoco per l'account Mappe di Azure e può essere recuperato dall'API account del piano di gestione di Mappe di Azure. Per usare la sicurezza di Microsoft Entra ID in Mappe di Azure, vedere gli articoli seguenti per indicazioni. |
Corpo della richiesta
Nome | Necessario | Tipo | Descrizione |
---|---|---|---|
features | True |
Contiene un elenco di oggetti validi |
|
type | True |
string:
Feature |
Specifica il tipo di oggetto |
Risposte
Nome | Tipo | Descrizione |
---|---|---|
200 OK |
OK Il valore dell'intestazione X-Correlation-id è presente nella risposta di una chiamata asincrona e nei dati dell'evento di Griglia di eventi. Consente di correlare la risposta della chiamata asincrona con l'evento di Griglia di eventi corrispondente. Intestazioni X-Correlation-id: string |
|
Other Status Codes |
Si è verificato un errore imprevisto. |
Sicurezza
AADToken
Si tratta dei flussi Microsoft Entra OAuth 2.0 . Se abbinato al controllo degli accessi in base al ruolo di Azure , può essere usato per controllare l'accesso alle API REST di Mappe di Azure. I controlli di accesso in base al ruolo di Azure vengono usati per designare l'accesso a uno o più account di risorse di Mappe di Azure o a risorse secondarie. A qualsiasi utente, gruppo o entità servizio può essere concesso l'accesso tramite un ruolo predefinito o un ruolo personalizzato composto da una o più autorizzazioni per le API REST di Mappe di Azure.
Per implementare scenari, è consigliabile visualizzare i concetti di autenticazione. In sintesi, questa definizione di sicurezza offre una soluzione per la modellazione di applicazioni tramite oggetti in grado di controllare l'accesso su API e ambiti specifici.
Note
- Questa definizione di sicurezza richiede l'uso dell'intestazione
x-ms-client-id
per indicare a quale risorsa di Mappe di Azure l'applicazione richiede l'accesso. Questa operazione può essere acquisita dall'API di gestione mappe.
è Authorization URL
specifico dell'istanza del cloud pubblico di Azure. I cloud sovrani hanno URL di autorizzazione univoci e configurazioni ID Microsoft Entra.
* Il controllo degli accessi in base al ruolo di Azure viene configurato dal piano di gestione di Azure tramite il portale di Azure, PowerShell, l'interfaccia della riga di comando, gli SDK di Azure o le API REST.
* L'utilizzo di Azure Maps Web SDK consente la configurazione basata sulla configurazione di un'applicazione per più casi d'uso.
- Per altre informazioni su Microsoft Identity Platform, vedere Panoramica di Microsoft Identity Platform.
Tipo:
oauth2
Flow:
implicit
URL di autorizzazione:
https://login.microsoftonline.com/common/oauth2/authorize
Ambiti
Nome | Descrizione |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Si tratta di una chiave condivisa di cui viene effettuato il provisioning durante la creazione di una risorsa di Mappe di Azure tramite il portale di Azure, PowerShell, l'interfaccia della riga di comando, gli SDK di Azure o le API REST.
Con questa chiave, qualsiasi applicazione è autorizzata ad accedere a tutte le API REST. In altre parole, queste chiavi possono essere considerate come chiavi master per l'account per cui vengono rilasciate.
Per le applicazioni esposte pubblicamente, è consigliabile usare l'accesso da server a server delle API REST di Mappe di Azure in cui questa chiave può essere archiviata in modo sicuro.
Tipo:
apiKey
In:
header
SAS Token
Si tratta di un token di firma di accesso condiviso creato dall'operazione Elenca firma di accesso condiviso nella risorsa mappe di Azure tramite il piano di gestione di Azure tramite il portale di Azure, PowerShell, l'interfaccia della riga di comando, gli SDK di Azure o le API REST.
Con questo token, qualsiasi applicazione è autorizzata ad accedere con i controlli di accesso in base al ruolo di Azure e il controllo granulare alla scadenza, alla frequenza e alle aree d'uso per il token specifico. In altre parole, il token di firma di accesso condiviso può essere usato per consentire alle applicazioni di controllare l'accesso in modo più protetto rispetto alla chiave condivisa.
Per le applicazioni esposte pubblicamente, è consigliabile configurare un elenco specifico di origini consentite nella risorsa dell'account map per limitare l'abuso di rendering e rinnovare regolarmente il token di firma di accesso condiviso.
Tipo:
apiKey
In:
header
Esempio
PostGeofence
Esempio di richiesta
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"
}
}
]
}
Risposta di esempio
{
"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
}
Definizioni
Nome | Descrizione |
---|---|
Error |
Informazioni aggiuntive sull'errore di gestione delle risorse. |
Error |
Dettagli dell'errore. |
Error |
Risposta di errore |
Geofence |
Questo oggetto viene restituito da una chiamata di prossimità di geofence. |
Geofence |
Geometria di geofencing. |
Geofence |
Modalità del meccanismo di evento asincrono geofencing. |
Geo |
Tipo di oggetto valido |
Geo |
Tipo di oggetto valido |
Geo |
Oggetto geometry valido |
Geo |
Tipo di oggetto valido |
Geo |
Tipo geometry valido |
Geo |
Tipo geometry valido |
Geo |
Tipo geometry valido |
Geo |
Tipo di oggetto valido |
Geo |
Tipo geometry valido |
Geo |
Tipo geometry valido |
Json |
Formato desiderato della risposta. È supportato solo il formato |
ErrorAdditionalInfo
Informazioni aggiuntive sull'errore di gestione delle risorse.
Nome | Tipo | Descrizione |
---|---|---|
info |
object |
Informazioni aggiuntive. |
type |
string |
Tipo di informazioni aggiuntive. |
ErrorDetail
Dettagli dell'errore.
Nome | Tipo | Descrizione |
---|---|---|
additionalInfo |
Informazioni aggiuntive sull'errore. |
|
code |
string |
Codice di errore. |
details |
Dettagli dell'errore. |
|
message |
string |
Messaggio di errore. |
target |
string |
Destinazione dell'errore. |
ErrorResponse
Risposta di errore
Nome | Tipo | Descrizione |
---|---|---|
error |
Oggetto error. |
Geofence
Questo oggetto viene restituito da una chiamata di prossimità di geofence.
Nome | Tipo | Descrizione |
---|---|---|
expiredGeofenceGeometryId |
string[] |
Elenchi dell'ID geometry del geofence scaduto rispetto al tempo utente nella richiesta. |
geometries |
Elenca le geometrie del recinto che contengono la posizione della coordinata o si sovrappongono a searchBuffer intorno alla posizione. |
|
invalidPeriodGeofenceGeometryId |
string[] |
Elenchi dell'ID geometria del geofence in un periodo non valido rispetto al tempo dell'utente nella richiesta. |
isEventPublished |
boolean |
True se almeno un evento viene pubblicato nel sottoscrittore di eventi di Mappe di Azure, false non viene pubblicato alcun evento nel sottoscrittore di eventi di Mappe di Azure. Verrà visualizzato solo in risposta quando il parametro di query 'isAsync' è impostato su true. |
GeofenceGeometry
Geometria di geofencing.
Nome | Tipo | Descrizione |
---|---|---|
deviceId |
string |
ID del dispositivo. |
distance |
number |
Distanza dalla coordinata al bordo più vicino della geofence (in metri tranne quando vengono usati valori speciali -999/999). Un valore positivo indica che la coordinata è all'esterno del recinto virtuale. Se la coordinata è all'esterno del recinto virtuale, ma più lontana del valore di searchBuffer dal bordo del recinto virtuale più vicino, il valore è 999. Un valore negativo indica che la coordinata è all'interno del recinto virtuale. Se la coordinata è all'interno del poligono, ma più lontana del valore di searchBuffer dal bordo del recinto virtuale più vicino, il valore è -999. Un valore pari a 999 indica che è molto probabile che la coordinata sia all'esterno del recinto virtuale. Un valore pari a -999 indica che è molto probabile che la coordinata sia all'interno del recinto virtuale. |
geometryId |
string |
L'ID univoco identifica una geometria. |
nearestLat |
number |
Latitudine del punto più vicino della geometria. |
nearestLon |
number |
Longitudine del punto più vicino della geometria. |
nearestZ |
number |
Livello del mare nel misuratore del punto più vicino sulla geometria di estrusione 2D. Questa operazione verrà presentata solo in risposta quando il valore viene fornito per 'zInMeter' nella richiesta. |
udId |
string |
ID univoco utilizzato durante la creazione di un Registro dati per caricare un oggetto GeoJSON FeatureCollection valido. Per informazioni dettagliate, vedere RFC 7946 . Tutte le proprietà della funzionalità devono contenere |
GeofenceMode
Modalità del meccanismo di evento asincrono geofencing.
Nome | Tipo | Descrizione |
---|---|---|
All |
string |
Pubblicare tutti i risultati della query nella sottoscrizione dell'evento dell'account Mappe di Azure. |
EnterAndExit |
string |
Pubblica solo il risultato quando la posizione dell'utente viene considerata come attraversamento della scheda geofencing. |
GeoJsonFeature
Tipo di oggetto valido GeoJSON Feature
. Per informazioni dettagliate, vedere RFC 7946 .
Nome | Tipo | Descrizione |
---|---|---|
featureType |
string |
Tipo di funzionalità. Il valore dipende dal modello di dati di cui fa parte la funzionalità corrente. Alcuni modelli di dati possono avere un valore vuoto. |
geometry | GeoJsonGeometry: |
Oggetto geometry valido |
id |
string |
Identificatore per la funzionalità. |
type |
string:
Feature |
Specifica il tipo di oggetto |
GeoJsonFeatureCollection
Tipo di oggetto valido GeoJSON FeatureCollection
. Per informazioni dettagliate, vedere RFC 7946 .
Nome | Tipo | Descrizione |
---|---|---|
features |
Contiene un elenco di oggetti validi |
|
type |
string:
Feature |
Specifica il tipo di oggetto |
GeoJsonGeometry
Oggetto geometry valido GeoJSON
. Il tipo deve essere uno dei sette tipi di geometria GeoJSON validi- Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon e GeometryCollection. Per informazioni dettagliate, vedere RFC 7946 .
Nome | Tipo | Descrizione |
---|---|---|
type |
Geo |
Specifica il tipo di oggetto |
GeoJsonGeometryCollection
Tipo di oggetto valido GeoJSON GeometryCollection
. Per informazioni dettagliate, vedere RFC 7946 .
Nome | Tipo | Descrizione |
---|---|---|
geometries | GeoJsonGeometry[]: |
Contiene un elenco di oggetti geometry validi |
type |
string:
Geometry |
Specifica il tipo di oggetto |
GeoJsonLineString
Tipo geometry valido GeoJSON LineString
. Per informazioni dettagliate, vedere RFC 7946 .
Nome | Tipo | Descrizione |
---|---|---|
coordinates |
number[] |
Coordinate per la |
type |
string:
Line |
Specifica il tipo di oggetto |
GeoJsonMultiLineString
Tipo geometry valido GeoJSON MultiLineString
. Per informazioni dettagliate, vedere RFC 7946 .
Nome | Tipo | Descrizione |
---|---|---|
coordinates |
number[] |
Coordinate per la |
type |
string:
Multi |
Specifica il tipo di oggetto |
GeoJsonMultiPoint
Tipo geometry valido GeoJSON MultiPoint
. Per informazioni dettagliate, vedere RFC 7946 .
Nome | Tipo | Descrizione |
---|---|---|
coordinates |
number[] |
Coordinate per la |
type |
string:
Multi |
Specifica il tipo di oggetto |
GeoJsonMultiPolygon
Tipo di oggetto valido GeoJSON MultiPolygon
. Per informazioni dettagliate, vedere RFC 7946 .
Nome | Tipo | Descrizione |
---|---|---|
coordinates |
number[] |
Contiene un elenco di oggetti validi |
type |
string:
Multi |
Specifica il tipo di oggetto |
GeoJsonPoint
Tipo geometry valido GeoJSON Point
. Per informazioni dettagliate, vedere RFC 7946 .
Nome | Tipo | Descrizione |
---|---|---|
coordinates |
number[] |
Una |
type |
string:
Point |
Specifica il tipo di oggetto |
GeoJsonPolygon
Tipo geometry valido GeoJSON Polygon
. Per informazioni dettagliate, vedere RFC 7946 .
Nome | Tipo | Descrizione |
---|---|---|
coordinates |
number[] |
Coordinate per il |
type |
string:
Polygon |
Specifica il tipo di oggetto |
JsonFormat
Formato desiderato della risposta. È supportato solo il formato json
.
Nome | Tipo | Descrizione |
---|---|---|
json |
string |