iOS Location Services: Cell-based accuracy facts
In the last few weeks we conducted a variety of tests drives to get a better understanding of what the iOS Location Service provides.
After the Location Services get activated, it takes a few milliseconds to a few seconds, until the first update comes in. On activating the service, its required to specify what accuacy is desired and which distance filter should be applied.
Based on the desired accuracy, the location service decides which hardware to activate. For little accuracy cell tower information is often sufficent. For more accuracy WiFi and later GPS is taken into the calculation.
The distance filter ensure that you are only notified, if a user has travelled a certain distance.
For a mature application, it's wise to keep the accuracy and distance filter dymanic in relation to how the user moves and how exact your informations have to be.
The focus of our current project was on inner-city, cell-based location information. Cell based locations are preferable, as they need less power than GPS based and can be activated in the background with only minor impact on battery life.
This pictures sums up our findings pretty well:
- Distance filter: 100m
- Desired Accuracy: Best
- Service Type: Significant Location Updates
- Accuracy: 500-1000m
- Higher accuracy is achieved, when the user resides a couple minutes on the same spot (changing bus, home/office location)
Furthermore we conducted tests with the Region Monitor, available in iOS 4 and were a bit disappointed:
- Regions have to be circles
- with a radius of at least 1000m (because the location updating is always cell based)
- the region exit event is often only triggered after a second cell change and thus the accuracy lies around 2000m
Friday, December 23, 2011, Andre Bossard