views:

61

answers:

2

My question in a nutshell is: Is there a correlation between the number of decimals used in GPS co-ordinates and the accuracy of the location?

Right now I happen to be working with the Android SDK but I'm sure this question can apply to many other geolocation SDKs. Basically, Android returns GPS coordinates with up to 14 digits. That seems like overkill in most situations. Lets say I needed accuracy down to about an area of 10 feet by 10 feet. How many decimals do I really need to worry about? The use-case that I'm looking for is I want to know if a person is north or south of a particular latitude - how many digits would I need to store in the database and how many digits would I need to compare?

+2  A: 

In New York City - which is a pretty representative latitude where people live - crossing a wide two lane street will take you about 25 meters and you'll traverse about 0.1 seconds of longitude.

If you are representing locations as 40°42'42.96"N 73°59'23.33"W, then 0.1 seconds means the difference between one side of the street or the other. Depending on how you count your "decimals" then ddd:mm:ss.ssss should be accurate enough for human purposes. If you are looking at decimal degrees then ±ddd.fff'fff'fff for each of latitude and longitude would be enough and leave you some slop for rounding error.

Do look at the linked page though, as geocoding has a lot of error built in as a result of how good multiple "fixes" are, and keeping track of extra digits can be helpful in pinning a location.

msw
Indeed, I should have clarified that I am working in degrees and not Minutes/seconds. So, if I understand you right, you're saying that something like 33.12345 would be accurate to 25 meters. That's still pretty large. What would 6 digits or even 7 digits look like? I really need to get down to like 5 meters.
Jim Beam
Thanks for clarifying, I made an error (now fixed). Each second is 0.0002777 degrees, which makes `0.000'001` degrees equal to about a meter at temperate latitudes. Thus, `±ddd.fff'fff'fff` would be about millimeter resolution, which as Seth notes is far, far more accurate than consumer devices, but some extra digits for rounding error are probably useful.
msw
Thanks for the answer. I did some work with the digits and it seems like the device I have (HTC Droid) is going to be effective to about 5 digits. That's not horrible and your answer helped.
Jim Beam
+1  A: 
Seth