Advertise Mobile SDKs Books Events Forum News Social Networking Support Us
Follow @iphonedevsdk on Twitter

Mockup & CodeGen, iPhone & iPad
($9.99)

Make your own iPhone apps
and run them live!
(free)

Manu
($0.99)

Want your application or service advertised on iPhone Dev SDK?

Go Back   iPhone Dev SDK Forum > iPhone SDK Development Forums > iPhone SDK Development > iPhone SDK Development - Advanced Discussion

Reply
 
LinkBack Thread Tools Display Modes
Old 04-20-2009, 11:25 AM   #1 (permalink)
Registered Member
 
Join Date: Mar 2009
Posts: 27
Default GPS to six decimal place accuracy?

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?
jj0b is offline   Reply With Quote
Old 04-20-2009, 03:52 PM   #2 (permalink)
Pro. Game Developer
iPhone Dev SDK Supporter
 
Join Date: Feb 2009
Location: żLa Islas Hermosas?
Posts: 2,178
Default

Quote:
Originally Posted by jj0b View Post
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?
According to the CoreLocation documentation, the latitude and longitude position information is provided as 'double' type values, and it's definitely possible to display a double with 6 decimal places. The question is whether the position data ever actually has any significant information beyond the first 3 or 4 decimal places.

I haven't ever looked at the CoreLocation data, so I can't attest to what the data looks like. Have you actually just tried displaying the information with 6 decimal places to see what it looks like?
Kalimba is offline   Reply With Quote
Old 04-22-2009, 01:24 AM   #3 (permalink)
Registered Member
 
Join Date: Mar 2009
Posts: 27
Default

Thank you Kalimba, you got me headed in the right direction. All I had to do to get the extra decimal places was to use %lf instead of %g when converting my lat and long to strings. I think you are right though that the last few decimal places don't seem to be very useful.
jj0b is offline   Reply With Quote
Old 04-23-2009, 12:15 AM   #4 (permalink)
Registered Member
 
Join Date: Nov 2008
Posts: 253
Default

I haven't played with the iPhone location services yet but on a GPS product I work on the receiver spits out quite a bit of precision (to a 100th of a minute).
zhyla is offline   Reply With Quote
Old 04-24-2009, 09:34 PM   #5 (permalink)
Registered Member
iPhone Dev SDK Supporter
 
Join Date: Mar 2009
Posts: 292
Default

Is civilian GPS even allowed to be this accurate? It might be possible, but that might assume lab conditions which are quite different from real world conditions
odysseus31173 is offline   Reply With Quote
Old 04-27-2009, 10:38 AM   #6 (permalink)
Registered Member
 
Join Date: Nov 2008
Posts: 253
Default

Maybe not, but you can't go lopping off digits as that will reduce whatever accuracy you have (say they only gave you tenths of a minute resolution but it went .05, .15, .25, ... instead of .00, .10, .20, ....).
zhyla is offline   Reply With Quote
Old 05-14-2009, 07:29 AM   #7 (permalink)
New Member
 
Join Date: Oct 2008
Posts: 33
Default

Quote:
Originally Posted by odysseus31173 View Post
Is civilian GPS even allowed to be this accurate? It might be possible, but that might assume lab conditions which are quite different from real world conditions
GPS is "allowed" to be as accurate as it possibly can be. Selective Availability was a terrible idea, and was turned off in the early 90's.

Most modern GPS receivers are accurate to 2-3 feet. The iPhone GPS isn't a shining example of an accurate GPS.
tmbg is offline   Reply With Quote
Old 09-30-2009, 08:09 AM   #8 (permalink)
KDj
Registered Member
 
Join Date: Sep 2009
Posts: 2
Default

jj0b.
Please get in contact with me regards your GPS 6decimal work.
I need to discuss somehting with you...nothing sinister I promise!
Thanks
Kev
KDj is offline   Reply With Quote
Old 09-30-2009, 09:00 AM   #9 (permalink)
Registered Member
 
Join Date: Aug 2009
Posts: 23
Default

Quote:
Originally Posted by tmbg View Post
GPS is "allowed" to be as accurate as it possibly can be. Selective Availability was a terrible idea, and was turned off in the early 90's.

Most modern GPS receivers are accurate to 2-3 feet. The iPhone GPS isn't a shining example of an accurate GPS.
Only if using differential GPS, which isn't what the iPhone uses.

The precision of the float returned by the Core Location is not the same as the accuracy of the float.
__________________
Working on: 1st app

Status: PoC working.
iPhone Developer Program enrolled.
Alpha testing in progress....
tin pot is offline   Reply With Quote
Old 10-04-2009, 02:17 AM   #10 (permalink)
Registered Member
 
Join Date: Sep 2009
Posts: 19
Default

Quote:
Originally Posted by tin pot View Post
Only if using differential GPS, which isn't what the iPhone uses.

The precision of the float returned by the Core Location is not the same as the accuracy of the float.
That was a great answer. (no joke, I am being serious)
smpdawg is offline   Reply With Quote
Old 03-16-2010, 07:01 PM   #11 (permalink)
Registered Member
 
Join Date: Mar 2010
Posts: 3
Default

I'm working on a CoreLocation application as well and I am also finding the accuracy not that great. I can usually only get a fix with an accuracy of about 50m. That's a pretty big area. On rare occasions, when I am standing in the middle of an open field holding the phone in the air and the wind is blowing in the right direction (yes, my neighbors do think I'm nuts) I can get an accuracy of about 17m (as reported by CoreLocation) - that's acceptable but it only happens rarely. I do find that the coordinates that are returned are actually pretty accurate, even then the accuracy that is returned it high but there is no guarantee of that.
Vic320 is offline   Reply With Quote
Old 03-17-2010, 09:10 PM   #12 (permalink)
Cocoa Junkie
 
Duncan C's Avatar
 
Join Date: Dec 2008
Location: Northern Virginia
Posts: 4,814
Default Precision and accuracy are two different things

Quote:
Originally Posted by jj0b View Post
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
Duncan C is offline   Reply With Quote
Old 03-18-2010, 12:31 AM   #13 (permalink)
Registered Member
 
Join Date: Feb 2010
Posts: 267
Default

Quote:
Originally Posted by tmbg View Post
GPS is "allowed" to be as accurate as it possibly can be. Selective Availability was a terrible idea, and was turned off in the early 90's.

Most modern GPS receivers are accurate to 2-3 feet. The iPhone GPS isn't a shining example of an accurate GPS.
Wow... I wish. With differential GPS you can get down to centimeters, but the iPhone doesn't have that. Would make for a cool app though. You could actually somehow network 4 or 5 iphones and increase the accuracy of them all.

Look up PPS, SPS, and SAASM. I can guarantee you that mil GPS is still more accurate (and more bulky).
georgeburns is offline   Reply With Quote
Old 03-25-2010, 11:49 PM   #14 (permalink)
Registered Member
 
Join Date: Dec 2009
Posts: 12
Default

how can i set the horizontal and vertical accuracy...please let me now
malik_vijay158 is offline   Reply With Quote
Old 03-26-2010, 06:22 AM   #15 (permalink)
Cocoa Junkie
 
Duncan C's Avatar
 
Join Date: Dec 2008
Location: Northern Virginia
Posts: 4,814
Default set the desiredAccuracy property of the location manager

Quote:
Originally Posted by malik_vijay158 View Post
how can i set the horizontal and vertical accuracy...please let me now
The CLLocationManager has a property, desiredAccuracy.

That property tells the system how accurate you WANT your readings to be. There is no guarantee that the readings you get will be that accurate however.


Regards,
Duncan C
Duncan C is offline   Reply With Quote
Old 04-12-2010, 08:07 PM   #16 (permalink)
Gold Orange
 
orange gold's Avatar
 
Join Date: Sep 2008
Posts: 679
Default

Sorry but what are you talking about????
most modern Global Positioning Systems are accurate to about 20 feet, if not 30?
Military GPS is usually only accurate to 5 feet and is not even available to the public.

Quote:
Originally Posted by tmbg View Post
GPS is "allowed" to be as accurate as it possibly can be. Selective Availability was a terrible idea, and was turned off in the early 90's.

Most modern GPS receivers are accurate to 2-3 feet. The iPhone GPS isn't a shining example of an accurate GPS.
__________________
APPS4LIFE
search for me in the app store.
orange gold is offline   Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



» Advertisements
» Online Users: 263
16 members and 247 guests
14DEV, @sandris, ADY, ArtieFufkin10, bookesp, ckgni, Dani77, DarkAn, HemiMG, iDifferent, jakerocheleau, JasonR, prchn4christ, Rudy, Speed
Most users ever online was 1,187, 10-11-2011 at 08:09 AM.
» Stats
Members: 158,885
Threads: 89,230
Posts: 380,767
Top Poster: BrianSlick (7,129)
Welcome to our newest member, bookesp
Powered by vBadvanced CMPS v3.1.0

All times are GMT -5. The time now is 02:50 PM.
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0