Worum geht's?

Regelmäßig erreichen uns Anfragen, warum man nicht kleinere Geofence anlegen kann, da diese dann vermeintlich besser Auslösen würden. Im folgenden wird auf die technischen Grundlagen von Geofencing eingegangen, um danach zuverlässigere Geofence  Einrichten zu können.

Details

Grundsätzlich: die Überwachung der Geofence liegt nicht in unserer Hand, wir übergeben die Geofence so wie ihr sie auf der Karte seht an die Betriebssysteme. Wann und wie ein Geofence als Betreten oder Verlassen gilt, entscheidet die Implementierung von Google/Apple. Die folgenden Erläuterungen beziehen sich auf die Implementierungen in Android, gelten aber so, oder so ähnlich auch in iOS.

Das Betriebsystem ermittelt in vor allem von den Energiespareinstellungen bestimmten Abständen die Position des Gerätes und vergleicht diese mit den hinterlegten Geofences. Es gibt dabei nur die Zustände Betreten und Verlassen. Ein Aufenthalt innerhalb eines Geofence wird nicht überprüft. Ein Betreten z. B. ist daher immer das Überschreiten der der durch den Radius gebildeten Grenze: das Gerät muss sich zuletzt außerhalb des Kreises befunden haben. Wird dann die neue Position innerhalb des Kreises bestimmt, meldet das Betriebssystem, dass der hinterlegte Geofence ausgelöst hat. Dies erlaubt deswegen auch das Geofence verschachteln. Problematisch wird hierbei nur, wenn zwischen dem Betreten des äußeren Kreises, aber noch vor Betreten des inneren Kreises, keine neue Position ermittelt wurde. Dann gelten beide Geofence als gleichzeitig Betreten und lösen entsprechend gleichzeitig als Betreten aus. In Android wird dies durch die App manuell bereinigt, in iOS ist dies leider nicht möglich.

Wie oft und genau eine Position ermittelt wird, kann von vielen Faktoren abhängen. Einfluss haben zum Beispiel, ob das Gerät in letzter Zeit benutzt wurde, oder der Bildschirm schon länger gesperrt ist, ob die Beschleunigungssensoren eine Positionsveränderung vermuten lassen oder das Gerät erschütterungsfrei liegt,...

Ein Hauptproblem ist die grafische und gedankliche Reduzierung der aktuellen Geräteposition auf einen genauen Punkt. Tatsächlich handelt es sich bei der (GPS)-Position eines Geräts um eine Vermutung, dass sich das Gerät mit Wahrscheinlichkeit Z im Radius Y um Punkt X befindet. Um so schlechter der Empfang bzw. der verwendete Sensor (Energiesparmodus), umso ungenauer, bzw. größer, wird dieser Bereich.

Gerade bei Aufenthalt in Gebäuden kann das dazu führen, dass der Kreis in dem das Gerät vermutet wird, kleinere Geofence vollständig beinhaltet (in Android reicht bereits eine Überdeckung von 75%), was dazu führt, dass diese auslösen. 

Eigene Position in Schwarz


Die Lösung ist also nicht kleinere, sondern größere Geofence. Manchmal ist es aber auch hilfreich, die Geofence nicht mittig, sondern um eine Achse verschoben, dafür aber größer, abzubilden.

Das Gegenteil ist übrigens auch der Fall: so gilt ein Geofence in Android als verlassen, wenn nur noch 25% des Positionskreises mit dem Geofencekreis überschneiden. Selbst wenn sich der Positionskreis also genau mittig im zu kleinen Geofence befindet, wird ein Verlassen ausgelöst, sobald das Gerät an Genauigkeit verliert.

Deswegen kann es durchaus sinnvoll sein, einen getrennten Radius für Betreten und Verlassen des Geofence zu definieren. Dafür müssen 2 getrennte Geofence jeweils mit nur einer Aktion hinterlegt werden. Dies ist insbesondere bei jedem Ort zu empfehlen, bei dem der Aufenthalt in einem Gebäude (Wohnung, Gerätehaus) einem bestimmten Status zugeordnet werden soll. Auf dem Weg dahin befindet man sich unter freiem Himmel und das Gerät wird aktiv benutzt und bewegt, die Position ist daher sehr genau. 
Während des Aufenthalts im Gebäude nimmt die Genauigkeit schlagartig ab, bis dieses wieder verlassen wird. 

Verwandte Artikel




Verwandte Vorgänge