Quote:
Originally Posted by jj0b
I am finishing development of an app that makes use of CoreLocation. Everything works great except that I am unhappy with the accuracy and consistency of the GPS coordiantes that CoreLocation returns. The latitude and longitude that are returned to me using the BestAccuracy setting are only ever to four decimal places and are sometimes inconsisistent when taking a reading at the same location. I have been experimenting with taking various numbers of readings but find that after 2 or 3 CoreLocationUpdates that there is no change to the reading.
Today I downloaded an app that gives your current location to six decimal places. Is this for real or are they making up those last two decimal places?
As far as I know the fourth decimal place is approximately 11 meters, the fifth approximately 1.1 meters, and the sixth approximately 11 cm.
This seems impossible to me that the iPhone's GPS could be this accurate. On the other hand I hope that I am wrong because it would make what I am trying to do with the GPS all the better.
Can anyone confirm for me if it is possible to get latitiude and longitude to more than the fourth decimal place? If so, how do you do it?
|
Tin Pot said this, but it bears repeating.
Precision and accuracy are two different things.
Accuracy is how much error there may be in a reading.
Precision is how finely you describe a value (how many decimal places, if you will.)
Computers use one of only a few formats to store floating point numbers: usually float or double. Coordinates in the location manager use double
PRECISION numbers, which are able to describe numbers to 14 or 15 decimal places of precision. That does not mean that they are that
accurate. Far from it! Remember, too, that computers store floating point numbers in binary, and numbers that fit into an exact number of digits in decimal are repeating values in binary. The number .1, for example, cannot be represented exactly in binary, just like 1/3 can't be represented exactly in decimal.
A CLLocation reading includes horizontal accuracy and vertical accuracy properties. THAT is how you tell how accurate the GPS reading really is.
I have been working on GPS/mapping applications for a several months now, and my latest app includes a display of the horizontal accuracy that comes in with each location. I have found that a "typical best" accuracy is around 55 feet. Sometimes, but rarely, I will get an accuracy of 29 feet. Accuracy values of 125 feet, 250 feet, or even greater, are also pretty common, even after the GPS has a chance to settle down. (These values are reported in meters, but since my app is targeted to the States, it defaults to displaying this info in feet.)
I hope that helps,
Duncan C
WareTo