Why doesn’t the total distance reported by Runkeeper match X?

One question that’s raised about Runkeeper is why it reports a different total distance to Google Maps, Garmin GPS devices, etc, etc. Accusations are made about the accuracy of the app and users feel disappointed. Sometimes, users see disparity in the total distance recorded for the same route.

[If you are experiencing any problems with GPS accuracy (or simply not able to get a GPS fix at all), check out points 11 and 12 of this Runkeeper forum post. In a nutshell these are:

  • Make sure you have the latest version of Runkeeper installed
  • Turn WiFi off
  • Ensure you have a decent GPS fix before commencing your activity (this may take a few minutes)
  • Make sure you’re not in Airplane mode – this turns off the iPhone’s GPS receiver

If you’re still having problems, delete and reinstall the app.]

It’s interesting (to me at least) to dig a little deeper to see why these discrepancies might exist.

Firstly, it’s important to realise that the issue isn’t app related. In fact, it’s simply related to the iPhone’s GPS which at times isn’t as accurate as other devices (having said that, with each new iPhone version and OS upgrade, the GPS is improving). In addition to this, environmental and location-based factors such as the weather and tall buildings can affect GPS tracking performance.

The Runkeeper app takes GPS locational information when it’s provided by the iPhone and the time between each ‘capture’ could be a second, several seconds or more. During the ‘gaps’ when no GPS data is provided by the iPhone, you may have traveled around a corner or turned back on yourself and the app has no way of knowing that.

Also, GPS isn’t pinpoint accurate as detailed below:

GPS accuracy is affected by a number of factors, including satellite positions, noise in the radio signal, atmospheric conditions, and natural barriers to the signal. Noise can create an error between 1 to 10 meters and results from static or interference from something near the receiver or something on the same frequency. Objects such a mountains or buildings between the satellite and the receiver can also produce error, sometimes up to 30 meters. The most accurate determination of position occurs when the satellite and receiver have a clear view of each other and no other objects interfere.

From http://www.maps-gps-info.com/gps-accuracy.html

This may mean that the path captured by the GPS may not be the actual path you took even though at first glance it may look accurate. For example, see the route below:

At first glance, it looks accurate. However, if you zoom in, you can see the points are not necessarily following the path taken (as shown below):

The screenshot also shows how frequently (or infrequently) the GPS positional data is captured.

Many users may map out their routes prior to running them. I often do this using MapMyRun.com to get some idea of routes in my local area and the total distance and elevation through the route (to avoid hills!)

When mapping routes, I’ll often use the ‘follow roads’ option. Taking part of a recent route, here’s the path MayMyRun provides:

The total distance for this leg of the route is 0.66 miles.

If we take a look at an actual GPS capture of this leg of an activity:

The captured route certainly didn’t follow the middle of the road but neither did it quite follow my path either. The total distance for this leg of the route was 0.68 miles based on the GPS data. This shows a discrepancy of 0.02 miles. In a full route, it’s not difficult to imagine these discrepancies between the ‘follow roads’ route and the GPS captured route being 0.1 – 0.2 miles or more.

Where the iPhone’s GPS falters a little (most likely due to not having a great ‘view’ of the satellites), larger discrepancies may exist (such as shown in the 2nd screenshot around Megan Road and highlighted below):

Now, I don’t make a habit of running down the centre of any road. However, I do cut corners, swap from one pavement to another, avoid obstacles, etc, etc. My iPhone may not realise all this given the ‘limitations’ of the GPS data captured.

To give another example, part of another route is shown below. This shows the actual path I took(0.68 miles):

If I use ‘follow roads’ in MapMyRoute, the path is as shown below (0.7 miles):

and finally, one of the GPS tracks of this part of the route (0.72 miles):

On another run of this path, the following GPS track is recorded (0.65 miles):

Soon, it becomes clear that using GPS gives a very close approximation to the distance for a route but this may not be 100% accurate. To be 100% accurate, the GPS would need to be pin-point accurate and for GPS positional points to be captured at a high frequency.

Until the iPhone can provide that capability (no time soon particularly given the accuracy of GPS anyway and the influence of weather etc), Runkeeper gives users the best data it can and I’m confident we’ll see more improvements in the future. In the meantime, if your activity distance is really off, you can always ‘add a new activity’ via the website.

Advertisements

2 thoughts on “Why doesn’t the total distance reported by Runkeeper match X?

  1. Pingback: Runkeeper’s improved map editing – hands on « Running – one step at a time

  2. Thanks for clarification but this does not explain why the speed and distance are different btw runkeeper website application and other applications (such as Garmin connect) when using same GPS data (recorded with Garmin forerunner and imported in RK).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s