What do horizontalAccuracy and verticalAccuracy of a CLLocation refer to?
Asked Answered
P

1

42

I've been working on a location based app recently and am noticing some strange values for CLLocation. I often get a horizontalAccuracy of 1414 and a verticalAccuracy of -1. Any clue what this indicates? As far as I can tell, these points are often very accurate. What is the difference between verticalAccuracy and horizontalAccuracy?

Personalize answered 13/9, 2011 at 13:16 Comment(0)
B
70

The -1 for verticalAccuracy indicates that the altitude in the CLLocation is not valid. You only get altitude with a 3D GPS position.

The 1414 for horizontalAccuracy indicates that the horizontal (lat/lon) position could be up to 1414m off (this is just an estimated error). This is probably a location determined by cell tower triangulation or WiFi location data. GPS locations usually report 100m or better.

To get a higher accuracy location (300m or better) you need to set desiredAccuracy and wait for the GPS receiver to lock onto at least 3 satellites (or 4 for a 3D fix). Until that happens CLLocationManager will give you the best it has which is WiFi or Cell tower triangulation results.

Bear answered 13/9, 2011 at 13:54 Comment(6)
Aha! I was was very confused and thinking in a 2D coordinate system. I thought "verticalAccuracy" was latitudinal accuracy and "horizontalAccuracy" was longitudinal accuracy! Would it make sense to change my question to reflect this confusion somehow?Personalize
I don't think you need to change your question, Alex. I had exactly the same question and my search brought me here - answering it - thanks :-)Humming
To build, it seems that 1414 is the constant the CLLocationManager gives if it has determined your location based on cell tower triangulation. In my testing, if it has determined your location based on wifi it gives a horizontal accuracy of 65m.Spike
I'm filering locations by vertical/horizontal Accuracy. Simulator seems to report verticalAccuracy as -1 so it is good idea to code around this for testing (i.e. don't care about verticalAccuracy when in Simulator)Ulrica
@Bear : Is this horizontalAccuracy error factor ? Is minimum the value (not -ve) better result?Gomphosis
horizontalAccuracy is the estimated error in meters, the lower value is better (less error).Bear

© 2022 - 2024 — McMap. All rights reserved.