Geofences
Geofences är ett sätt att definiera en virtuell perimeter runt ett verkligt område. Yggio stöder Geofence som ett eget API.
För att skapa en geofence behöver du skicka en POST-förfrågan till geofence-endpointen med ett innehåll i följande format:
POST https://staging.yggio.net/api/geofences
{
"fence": {
"type": "Polygon",
"coordinates": [[
[13, 55],
[33, 55],
[33, 75],
[13, 75],
[13, 55]
]]
},
"ref": "<min enhets id>", // valfritt
"refType": "enhet" // valfritt
}
Observera att koordinaterna är en array av arrayer av punkter. För närvarande stöder vi endast en enkel polygon. Polygonen måste alltid vara moturs och punkterna anges med longitud först ([longitud, latitud]).
ref
och refType
är valfria och kan användas för att länka geofencen till en enhet. ref
är id:t för enheten och refType
är referenstypen. För närvarande stöds endast device
.
Mer information om detaljerna kring geofence-rutterna finns på vår swagger.
Enheter
Yggio stöder också geofencing för enheter. Om en enhet har en GPS-position (som egenskapen 'lnglat' på enheten, i GeoJSON-format) kan den efterfrågas genom att anropa det vanliga iotnodes-API:et med en geoquery
-querystring. För närvarande stöds endast polygoner.
geoquery
-querysträngen består av en typ och koordinater, eller ett id för en geofence. För närvarande måste typen vara contains
. contains
betyder att enhetens punkt måste vara helt inom geofencen.
Exempel på en geoquery
contains-querystring:
GET https://staging.yggio.net/api/iotnodes?geoquery=type:contains;coordinates=[[13,55],[33,55],[33,75],[13,75],[13,55]]
Observera att den sista punkten i koordinaterna måste vara densamma som den första för att stänga polygonen.
Exempel på en geoquery
id-querystring:
GET https://staging.yggio.net/api/iotnodes?geoquery=id:203981cd5a19c81efac16a4f