2 minutes

Is It Possible to Get A Precise Location Using Fused API Within Less Than 10m Accuracy?

This article is the continuation of the series of Lemberg's blog posts about the development of location tracking apps. In this post, I will share some more complicated information about the fused location provider.

If you are familiar with my previous article "Fused Location Provider" then you already know what the "location" term means. Location updates accuracy in the article is defined in terms of geofencing (detecting if user had visited some location provided by latitude/longitude and radius). In fact, accuracy could be defined as a minimum radius of location which is guaranteed to be detected by geofencing algorithm. Getting back to our main question:

Is It Possible to Get A Precise Location Using Fused API Within Less Than 10m Accuracy?

There are 2 parameters defining location Updates accuracy:

  • Priority, telling the system how accurate the location point should be. Setting PRIORITY_HIGH_ACCURACY requests the system to provide location as accurate as it is possible. Accuracy of defined location varies based on number of visible satellites, device hardware and environment. Usually it's about 3m in case if there are no high buildings or metallic structures (hiding satellites from your device sight) around.
  • Location updates interval, telling the system how often you would like to receive location updates. Google recommends to use 5 seconds interval for real-time location apps, but you could set this interval to 1 second or zero in case if you don't care about battery but do want updates as frequent as possible.

geofencing schema

If point accuracy radius is bigger than [location update time]*[speed]/2 - then geofencing accuracy radius is equal to the point accuracy radius.

schema of point accuracy radius


So in general geofencing accuracy (10m) is defined not by the location point accuracy itself (it's usually 3-10m) but by superposition of point accuracy (3m) and update interval (5 seconds), since user could simply walk through point tracked by geofencing between 2 location updates (in case if interval is 5 seconds and point radius is about 3 meters) so the algorithm simply can`t guarantee that this visit will be detected. And 5 seconds update interval would satisfy you in case if you are keen on user trace tracking but not geofencing algorithm (you will get about 3m accuracy per point).

You can find more information on our experience in developing mobile applications with for a variety of use cases.


Article Contents: