Warning: GPS tracks recorded with an iPhone can be a waste

Posted by Kachkaev on 25 September 2013 in English (English)

My friend and I were making an ‘exploratory OSM trip’ not so long ago and were recording some GPS traces to upload them to OSM later on. We both had iPhones, one of which was using 3G and another one was offline.

The results we’ve got on a device that was online shocked me a little bit, so I decided to share my discovery here in the blog. Check it out:

iPhone track aligns to roads

As you see on the right image, the track is perfectly aligned to the roads on Apple maps, so there is absolutely no usefulness in uploading it to OSM (of course, unless you want to get a precise copy of a rather roughly drawn road network)!

It turns out that iPhones tend to align the geolocation to the nearest road on Apple maps when moving at certain speeds. This applies to devices having iOS6+ and either a cached build-in map or a live internet connection. Such ‘feature’ seems to be very deeply integrated into the OS, because the app we used on both iPhones was released far before Apple announced their maps. We toggled the Internet on both devices and confirmed that it was nothing to do with the model of the phone by itself.

Please beware of this problem when using your iPhone to collect GPS tracks the next time! It’s definitely worth checking them against the exact match with the Apple map before uploading to OSM or just tracing over.

Any thoughts on this problem are very welcome in the comments. How can the alignment be switched off by the developers?

Location: Манчжурия, ГПЗ, Железнодорожный район, Penza, Penza Oblast, Volga Federal District, 440023, Russia

Comment from stragu on 25 September 2013 at 04:52

This is crazy! You should probably mention this in the OSM wiki to make sure everyone is aware. What do you use to record the GPS tracks? Is it an iOS software? Have you tried with a third-party GPS tracker from the app-store?

Comment from kusmi on 25 September 2013 at 08:48

I'm a developer of an GPX-recording iPhone app as well - and this would be concerning...

But are you sure? Looking at your devices, one is a 3GS (very old, old GPS) and the other one is the iPhone 5 (quite new, GPS is even GLONASS compatible).

Also if you leave the 3G connection on - it helps to bring down the GPS-fix time, so accuracy might be improved as well.

Using my own devices I just found out, the iPhone 5 has much better GPS accuracy than older devices - just because the GPS chip is better.

It would be interesting to know if you reverse the test (3GS with 3G, 5 offline). I would expect the 5 to be slightly worse but not that much.

Comment from Kachkaev on 25 September 2013 at 08:52

We used GPS Kit Free but I’ve heard from a couple of people that the same issue exists in other apps too. I’m wondering if the alignment is hard-coded on the OS layer or сan be disabled when the app requests the location using the API.

Comment from Kachkaev on 25 September 2013 at 09:02

kusmi, yes, we did the reverse test, iPhone 3GS does the same sort of alignment when the road network is available, and iPhone 5 acts as iPhone 3GS when it is offline. Have a close look here:

This can be nothing else but the alignment to existing roads (the real road is ≈ 10 m away; we were 3 times on that intersection).

Comment from Vincent de Phily on 25 September 2013 at 09:33

Actually, most GPS handsets do that, but there's normally an option somewhere to disable the behaviour (because it can be a hinderance even outside of mapping activities).

I'd normally be surprised if the opt-out wasn't available, but as this is Apple I'm not o sure.

Comment from jfire on 25 September 2013 at 11:55

Interesting. Here's another person mentioning this issue. There's a suggestion there that the way for developers to switch this behavior off is to set CLActivityType to CLActivityTypeFitness, but I didn't find any confirmation that that works. Do you have a GPS app you could test it with?

Comment from robert on 25 September 2013 at 12:04

Yes, many satnav systems in particular have been known to do this when collecting gpx traces. The concern is more than just that of accuracy - it's also potentially a copyright problem: are the traces now a derived work of the Apple road network? (that's a rhetorical question - I don't think anyone has the answer)

Comment from paulmach on 25 September 2013 at 16:14

I also work for a company that makes a GPS fitness app and talked to our iPhone guys about this.

They said it does snap to roads when you're going over about 15kph and there is no way to know when it is doing it, so you can't mark them or anything like that. If you're traveling around the threshold you could have weird sections where you snap for a bit and then don't for a bit.

They did say you can turn this off by NOT setting your app as Fitness. Yes this is backwards from what you'd expect, but that is what they told me.

Comment from minourii on 25 September 2013 at 23:00

I noticed iOS use some kind of map matching and mentioned in this diary.

But I just updated my iPhone4S to iOS7 in a few days ago. In iOS7, the tracks does not seem to be snapped to roads. Try!

Comment from ianlopez1115 on 26 September 2013 at 11:58

I wonder if this also applies to iOS devices with older versions of iOS?

Comment from Kachkaev on 26 September 2013 at 12:48

ianlopez1115, it does not apply to iOS 5 and earlier versions because there were no apple maps there. By the way could anyone try recording a track on iOS 7 and see if the problem remains? (InsideRoomB says it should not)

Login to leave a comment