I'm currently writing a Mobile iOS app that is using the iOS Significant Location Change service to manage lots and lots of geofences, enabling and disabling geofences as we receive this message from the CoreLocation Framework.
On the Apple Developer Website it says:
The significant-change location service delivers updates only when there has been a significant change in the device’s location, such as 500 meters or more.
What really throws me off is "500 meters or more", what exactly is the significant location change service based on and what guarantees do we actually have?
Is this API reliable for tracking changes between regions so that when we receive the message we know it's time to redistribute our geofences (assuming we have less than 20 geofences per 500 meter radius)?
I made an experiment running a small app using significant location change API for two weeks on 10 real-user devices (so they were traveling to work, going home, going out in the weekend, etc.) The test run in a metropolitan environment (Milan, Italy). There were approximately 1800 significant location update events registered.
The core results are:
The distribution table should be read as follows: the first column is the horizontal accuracy in meters, the second column is that how many % of the location updates were equal or more accurate then the first column.
Accuracy Cumulative distribution
10m 23.76%
20m 23.76%
50m 23.76%
100m 49.86%
200m 65.09%
400m 65.31%
500m 65.31%
1000m 68.66%
2000m 92.64%
4000m 97.82%
>4000m 100.00%
So in other words, almost 2/3 part of the location updates were more accurate then 200m.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With