I've been working on an iPhone app that uses location data extensively. From poring through the raw data that comes from CLLocationManager I've learned a few interesting things. In particular it seems that CLLocation objects with negative (i.e. invalid) verticalAccuracy value were likely derived from non-GPS sources – e.g. triangulation from cell towers or SkyHook WiFi positioning. In my app I really need only the purest, most accurate data so I'm choosing to ignore non-GPS data and this is how I can tell it apart in order to do that.

It took a while for this realisation to dawn on me as I was seeing occasional poor data points mixed in with the good ones, and this seems to be because it occasionally slips in a non-GPS location in certain circumstances.


  1. Can’t you turn off the non-gps locating? I can on my gphone.

  2. I would need an API to do that dynamically for just my app. If there is such an API I’m not aware of it, so my workaround suffices in order to ignore the data I’m not interested in.

  3. TruePosition offers a service to track mobile phones based off of their location using cell phone radio’s, instead of GPS. Triangulation between multiple mobile phone signals offers movement tracking of people both indoors and outdoors which is useful for asset tracking, surveillance, and 911 instances.

  4. Nisha if I didn’t know better I’d think you were hawking your product :-)

You must be logged in to leave a reply.