Condividi tramite


Spatial - Get Geofence

Usare per ottenere la prossimità di una coordinata a un geofence.

L'API Get Geofence è una richiesta HTTP GET che recupera la prossimità di una coordinata a un geofence caricato nel Registro dati. Per altre informazioni, vedere Come creare un registro dati. Per altre informazioni sul formato dei dati geofence, vedere Geofencing GeoJSON data(Dati Geofencing GeoJSON). Per eseguire una query sulla prossimità di una coordinata, specificare la posizione dell'oggetto che si sta monitorando e l'ID per il recinto o il set di recinzioni e la risposta conterrà informazioni sulla distanza dal bordo esterno della geofence. Un valore negativo indica che la coordinata si trova all'interno del recinto mentre un valore positivo significa che è all'esterno della recinzione.

Questa API può essere usata per diversi scenari che includono elementi come il rilevamento degli asset, la gestione della flotta o la configurazione degli 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). Per testare questa API, è possibile caricare i dati di esempio dagli esempi di API Post Geofence (Corpo richiesta) usando il servizio Registro dati e sostituire la {udid} richiesta dall'esempio seguente con l'oggetto udid usato per creare il Registro dati. Per altre informazioni sul servizio registro dati, vedere Come creare il Registro dati.

Codice InnerError di geofencing

Nel contratto innererror di errore di risposta geofencing è un oggetto contenente informazioni specifiche del servizio sull'errore. code è una proprietà in innererror cui è possibile eseguire il mapping a un tipo di errore di geofencing specifico. La tabella seguente mostra il mapping del codice tra tutti i tipi di errore client noti per l'errore messagedi geofencing corrispondente.

innererror.code error.message
NullDeviceId L'ID dispositivo non deve essere null.
NullUdid Udid non deve essere null.
UdidWngformat Udid deve essere acquisito dall'API di inserimento dati utente.
InvalidUserTime Usertime non è valido.
InvalidSearchBuffer Searchbuffer non è valido.
InvalidSearchRange L'intervallo di valori di searchbuffer deve essere compreso tra 0 e 500 metri.
InvalidLatLon I parametri lat e/o lon non sono validi.
InvalidIsAsyncValue Il parametro IsAsync non è valido.
InvalidModeValue Parametro mode non valido.
InvalidJson I dati di geofencing non sono un file json valido.
NotSupportedGeoJson I dati di geofencing non possono essere letti come funzionalità o featureCollection.
InvalidGeoJson I dati di geofencing non sono validi.
NoUserDataWithAccountOrSubscription Non è possibile trovare i dati geofencing dell'utente con l'ID account e/o l'ID sottoscrizione specificati.
NoUserDataWithUdid Non è possibile trovare i dati geofencing dell'utente con udid fornito.
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}

Parametri dell'URI

Nome In Necessario Tipo Descrizione
format
path True

JsonFormat

Formato desiderato della risposta. È supportato solo il formato json.

geography
path True

string

Posizione dell'account Mappe di Azure. I valori validi sono stati (Stati Uniti orientali, Stati Uniti centro-occidentali, Stati Uniti occidentali 2) ed eu (Europa settentrionale, Europa occidentale). Questo parametro è necessario quando viene fornito un udid oggetto nella richiesta. Ad esempio, se l'account mappe di Azure si trova negli Stati Uniti orientali, verranno accettate solo le richieste all'area geografica.

api-version
query True

string

Numero di versione dell'API Mappe di Azure.

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

udid
query True

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 geometryId, che viene usata per identificare la geometria ed è distinzione tra maiuscole e minuscole. Per altre informazioni sul servizio registro dati, vedere Come creare il Registro dati.

isAsync
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

GeofenceMode

Modalità del meccanismo di evento asincrono geofencing.

searchBuffer
query

number

Raggio del buffer intorno al geofence in metri che definisce la distanza da cercare all'interno e all'esterno del bordo della recinzione rispetto alla coordinata fornita durante il calcolo del risultato. Il valore minimo è 0 e il massimo è 500. Il valore predefinito è 50.

userTime
query

string

date-time

Ora di richiesta dell'utente. Se non viene presentato nella richiesta, il valore predefinito è DateTime.Now.

z
query

number

Il livello del mare in metri della posizione da passare. Se questo parametro viene presentato, viene usata l'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 del piano di gestione mappe di Azure. Per usare la sicurezza di Microsoft Entra ID in Mappe di Azure, vedere gli articoli seguenti per indicazioni.

Risposte

Nome Tipo Descrizione
200 OK

Geofence

OK Il valore dell'intestazione X-Correlation-ID è presente nella risposta di una chiamata asincrona e nei dati degli eventi di Griglia di eventi. Consente di correlare la risposta della chiamata asincrona con l'evento Griglia di eventi corrispondente.

Intestazioni

X-Correlation-id: string

Other Status Codes

ErrorResponse

Si è verificato un errore imprevisto.

Sicurezza

AADToken

Si tratta dei flussi di Microsoft Entra OAuth 2.0 . Quando è associato 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 basati sul ruolo di Azure vengono usati per designare l'accesso a uno o più account delle risorse delle risorse di Mappe di Azure o alle sotto-risorse. 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 riepilogo, questa definizione di sicurezza offre una soluzione per la modellazione di applicazioni tramite oggetti in grado di controllare l'accesso in API e ambiti specifici.

Note

  • Questa definizione di sicurezza richiede l'uso dell'intestazione x-ms-client-id per indicare la risorsa mappe di Azure a cui l'applicazione richiede l'accesso. Questa operazione può essere acquisita dall'API di gestione mappe.

L'oggetto Authorization URL è specifico dell'istanza del cloud pubblico di Azure. I cloud sovrani dispongono di URL di autorizzazione univoci e configurazioni di Microsoft Entra ID. * 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.

Tipo: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Nome Descrizione
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

Si tratta di una chiave condivisa di cui viene eseguito il provisioning durante la creazione di una risorsa 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, questi possono essere attualmente considerati come chiavi master per l'account per cui vengono rilasciati.

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 List SAS nella risorsa mappe 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 basati sul 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 account mappa per limitare l'abuso di rendering e rinnovare regolarmente il token di firma di accesso condiviso.

Tipo: apiKey
In: header

Esempio

GetGeofence

Sample request

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

Sample response

{
  "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
}

Definizioni

Nome Descrizione
ErrorAdditionalInfo

Informazioni aggiuntive sulla gestione delle risorse.

ErrorDetail

Dettagli dell'errore.

ErrorResponse

Risposta di errore

Geofence

Questo oggetto viene restituito da una chiamata di prossimità di geofence.

GeofenceGeometry

Geometria di geofencing.

GeofenceMode

Modalità del meccanismo di evento asincrono geofencing.

JsonFormat

Formato desiderato della risposta. È supportato solo il formato json.

ErrorAdditionalInfo

Informazioni aggiuntive sulla gestione delle risorse.

Nome Tipo Descrizione
info

object

Informazioni aggiuntive.

type

string

Tipo di informazioni aggiuntive.

ErrorDetail

Dettagli dell'errore.

Nome Tipo Descrizione
additionalInfo

ErrorAdditionalInfo[]

Informazioni aggiuntive sull'errore.

code

string

Codice di errore.

details

ErrorDetail[]

Dettagli dell'errore.

message

string

Messaggio di errore.

target

string

Destinazione dell'errore.

ErrorResponse

Risposta di errore

Nome Tipo Descrizione
error

ErrorDetail

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

GeofenceGeometry[]

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 geometryId, che viene usata per identificare la geometria ed è distinzione tra maiuscole e minuscole. Per altre informazioni sul servizio registro dati, vedere Come creare il Registro dati.

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.

JsonFormat

Formato desiderato della risposta. È supportato solo il formato json.

Nome Tipo Descrizione
json

string

Formato di interscambio dati dell'oggetto JavaScript