Geofencing dei dati GeoJSON
L'API GET Geofence e POST Geofence Mappe di Azure consentono di recuperare la prossimità di una coordinata rispetto a un recinto virtuale o a un set di recinto. Questo articolo illustra come preparare i dati del recinto virtuale che possono essere usati nelle API delle Mappe di Azure GET e POST.
I dati per recinto virtuale o set di recinti virtuali, rappresentati dall'oggetto e dall'oggetto Feature
in GeoJSON
formato , sono definiti in rfc7946.FeatureCollection
Inoltre:
- Il tipo di oggetto GeoJSON può essere un oggetto
Feature
o un oggettoFeatureCollection
. - Il tipo di oggetto Geometry può essere un
Point
,MultiPoint
,LineString
,MultiLineString
,Polygon
,MultiPolygon
, eGeometryCollection
. - Tutte le proprietà della funzionalità devono contenere un
geometryId
, che viene usato per l'identificazione del recinto virtuale. - La funzionalità con
Point
,MultiPoint
,LineString
,MultiLineString
deve contenereradius
nelle proprietà. Il valoreradius
viene misurato in metri, il valoreradius
è compreso tra 1 e 10000. - La funzionalità con
polygon
emultipolygon
il tipo di geometria non dispone di una proprietà radius. validityTime
è una proprietà facoltativa che consente all'utente di impostare un'ora di scadenza e la validità del periodo di tempo per i dati del recinto virtuale. Se non specificata, i dati non scadano mai ed sono sempre validi.expiredTime
è la data e l'ora di scadenza dei dati di geofencing. Se il valore diuserTime
nella richiesta è successivo a questo valore, i dati del recinto virtuale corrispondenti vengono considerati come dati scaduti e non vengono sottoposti a query. Al momento, il geometryId di questi dati recinto virtuale viene incluso nellaexpiredGeofenceGeometryId
matrice all'interno della risposta del recinto virtuale.validityPeriod
è un elenco del periodo di validità del recinto virtuale. Se il valore diuserTime
nella richiesta non rientra nel periodo di validità, i dati del recinto virtuale corrispondenti vengono considerati non validi e non vengono sottoposti a query. Il geometryId dei dati di questo recinto virtuale è incluso nella matriceinvalidPeriodGeofenceGeometryId
all'interno della risposta del recinto virtuale. Nella tabella seguente vengono illustrate le proprietà dell'elemento validityPeriod.
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
startTime | Datetime | true | Data e ora di inizio del periodo di validità. |
endTime | Datetime | true | Data e ora di fine del periodo di validità. |
recurrenceType | string | false | Il tipo di ricorrenza del periodo. Il valore può essere Daily , Weekly , Monthly o Yearly . Il valore predefinito è Daily . |
businessDayOnly | Boolean | false | Indica se i dati sono validi solo durante i giorni lavorativi. Il valore predefinito è false . |
- Tutti i valori delle coordinate sono rappresentati come [longitudine, latitudine] definiti in
WGS84
. - Per ciascuna funzionalità, che contiene
MultiPoint
,MultiLineString
,MultiPolygon
oGeometryCollection
, le proprietà vengono applicate a tutti gli elementi. ad esempio: tutti i punti inMultiPoint
utilizzano lo stesso raggio per formare un recinto virtuale a cerchio multiplo. - In uno scenario punto-cerchio, una geometria circolare può essere rappresentata usando un oggetto di geometria
Point
con proprietà elaborate nell'Estensione delle geometrie GeoJSON.
Di seguito è riportato un esempio del corpo della richiesta per un recinto virtuale rappresentato come una geometria circolare del recinto virtuale in GeoJSON
usando un punto centrale e un raggio. Il periodo valido dei dati del recinto virtuale inizia dalle 2018-10-22
9:00 alle 17:00, ripetuto ogni giorno, ad eccezione del fine settimana. expiredTime
indica che i dati del recinto virtuale sono considerati scaduti, se userTime
nella richiesta è successiva a 2019-01-01
.
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.126986, 47.639754]
},
"properties": {
"geometryId" : "1",
"subType": "Circle",
"radius": 500,
"validityTime":
{
"expiredTime": "2019-01-01T00:00:00",
"validityPeriod": [
{
"startTime": "2018-10-22T09:00:00",
"endTime": "2018-10-22T17:00:00",
"recurrenceType": "Daily",
"recurrenceFrequency": 1,
"businessDayOnly": true
}
]
}
}
}