How is Android location accuracy measured?

Does anyone know the correct interpretation of the accuracy measurements returned by getAccuracy ()? For example, they are calculated as:

  • The probability of a circular error (that is, if I understand correctly, the radius of the circle of confidence is 50%)?

  • Confidence Circle Radius 95%?

  • something else?

Also, what are the actual calculations that are used and how much can we rely on them? Does it depend on the source of the location estimate (GPS versus network)?

Thanks so much for any advice you can give me.

+81
android location
Jun 16 '10 at
source share
6 answers

To answer one part of the question, the radius of 68% confidence, means that there is a 68% chance that the true location is within this radius of the measured point in meters. Assuming that errors are usually distributed (which, the documents say, is not necessarily true), this means that this is one standard deviation. For example, if Location.getAccuracy returns 10, then there is a 68% probability, the true location of the device is within 10 meters of the registered coordinates.

http://developer.android.com/reference/android/location/Location.html#getAccuracy ()

+51
Dec 10 '12 at 19:30
source share

Location is a difficult task when you have limited battery life, and when there are no GPS signals in buildings and areas with a large building, etc. But Android makes it a lot easier. When you request a location, you just need to indicate what accuracy you need.

If you indicate that you want to use accuracy for the example *100 meters* , Android will try to get the location, and if it can get a place for an accuracy of 70 meters, it will return it to you, but if Android can get a place with an accuracy of more than 100 meters, your the application will wait and receive nothing until there is such a location with such accuracy.

Typically, Android will first get the cell ID, and then send it to the Google server, which displays such cell IDs, and the server will return latitude and longitude with low accuracy, for example, 1000 meters. By this time, Android will also try to see all Wi-Fi networks in this region, and also send information about them to the Google server, and, if possible, the Google server will return the new location with higher accuracy for an example of 800 meters.

By this time GPS will be turned on. A GPS device needs at least 30 seconds from a cold start to get a fix, so if you can fix it, it will return the latitude and longitude, but again with an accuracy that will be as high as possible for an example of 100 meters. The longer GPS works, the better you get.

Important Note: The first two methods require an Internet connection. If there is no connection, you will have to wait for GPS, but if the device is in the building, you probably will not get any space.

+37
Mar 24 '11 at 18:30
source share

The documentation for getAccuracy says that it returns accuracy in meters. I would suggest that this means that if you get a return value of 60, you are somewhere in a circle with a radius of 60 meters around the set position.

+15
Jun 16 '10 at 12:33
source share

As far as I can tell from a quick look at the source code of Android, it depends on the hardware of the device and on what value it wants to return.

In the GpsLocationProvider.java file, GpsLocationProvider.java is a reportLocation method , which is called by its own code and gets the accuracy as a value. Thus, no calculations seem to occur within the framework.

qcom (which I believe Qualcomm) GPS git repo passes the hor_unc_circular parameter for accuracy, which seems to imply that at least this implementation uses CER.

+10
Mar 30 2018-11-12T00:
source share

If, as indicated in the documents, this is accuracy, then the user's actual position is somewhere in the range of QUOTED_LOCATION +/- ACCURACY. Thus, accuracy determines the radius where you can expect the user to be. What the documents don’t say is how confident you are that the user is within the radius - the standard is 95%, so I assume that it is.

+4
Mar 23 2018-11-11T00:
source share

I understand that you require a certain answer in terms of probability, but I think there are two things. Firstly, it is up to the provider to decide what they want to put in this value, so, depending on the provider, this may be a bad guess. Secondly, it can help to think of it as a potential rounding problem. If I try to calculate your location based on several inputs, and some of these inputs are only available for a certain number of significant digits, then you can only calculate a location with a given number of significant digits. Think of it this way: “what” about “one plus” about “one hundred.” Probably about a hundred, because the accuracy of a hundred is probably less than 1. If I suddenly say that the answer is about 101, then I can eventually indicate the level of accuracy that was not there. However, if I really point out the accuracy, I can say that it is 100 plus or minus 10 plus 1 plus or minus .1 is 101 plus or minus 10. I understand that this usually refers to something like 95% confidence level (standard error), but again, everything assumes that the provider understands the statistics and does not just guess.

+1
Apr 13 '12 at 0:10
source share



All Articles