Which is inaccurate, GPS watch or .fit file?
#1
Senior Member
Thread Starter
Join Date: Jan 2006
Location: Toledo, OH
Posts: 483
Bikes: Leader 722TS, Surly Steamroller, Panasonic DX-3000, Trek 4900
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Likes: 0
Liked 0 Times
in
0 Posts
Which is inaccurate, GPS watch or .fit file?
I have a TomTom multi-sport watch that I used on my morning commute today. The watch itself reported that I went a total distance of 10.14 miles. I use Strava to organize and manage my rides so I uploaded the .fit file that the watch downloads to my computer to Strava. The problem is Strava is reporting the ride was only 9.7 miles. I've made the ride numerous times before with other devices (Garmin 210, iPhone) and it's always been right around 10.2 miles so I'm assuming that is the more accurate distance. Why would the .fit file be showing only 9.7? If I upload a gpx version of the file it shows closer to the 10.2 but it doesn't include my heart rate data. I don't really know enough about the differences between the file types to know why the .fit would be showing the shorter distance.
UPDATE: I should also note that I used the watch yesterday for a run and the watch reported I ran 9.47 miles but when I uploaded the .fit file to Strava it reported it as a 9.3 mile run. So it doesn't appear to be a one time thing.
UPDATE: I should also note that I used the watch yesterday for a run and the watch reported I ran 9.47 miles but when I uploaded the .fit file to Strava it reported it as a 9.3 mile run. So it doesn't appear to be a one time thing.
Last edited by smurray; 11-03-13 at 01:00 PM.
#2
Senior Member
Join Date: Sep 2007
Location: Far beyond the pale horizon.
Posts: 14,272
Mentioned: 31 Post(s)
Tagged: 0 Thread(s)
Quoted: 4255 Post(s)
Liked 1,354 Times
in
940 Posts
(Note this is from looking at how the Garmin 800 works.)
Let's explain how the distances are determined and see if that will give you an idea of what is going on.
=====================
The Garmin 800 keeps track of two different distances: 1) distance by wheel rotation and 2) distance by GPS. The Garmin 800 writes/saves the wheel-rotation distance, the GPS distance, and the GPS coordinates to the fit file (there's other data being written also).
Your TomTom watch can only use GPS distance.
GPS distances are determined by recording the current GPS location and adding the distance between the current point to the prior point to a running total. Note that the distance between each point is assumed to be straight line (regardless of how you are actually travelling).
The closer the recorded GPS points are (the shorter the time between each) the more accurately they will describe your actual path (and the closer the computed distance will be to the correct distance).
Your TomTom watch is reporting the distance in the fit file. (What else could it be reporting?)
That means, if Strava is showing some other distance, then it isn't using the distance from the fit file.
Strava is probably computing the distance from the GPS coordinates stored in the fit file.
I'm going to guess that the TomTom distance is being computed from GPS coordinates taken close together (let's say every second) but that the data is being stored to the fit file farther apart (let's say every 10 seconds).
Strava may only be reading the GPS coordinates in the fit file (and ignoring the distance in the fit file).
If that's the case, Strava has to compute the distance using the GPS coordinates.
That means Strava is using a model/representation of your track using fewer points, which would result in it computing a shorter distance travelled.
In summary, the TomTom may be computing distance at a higher resolution (1 seconds, maybe) and Strava may be computing distance at a lower resolution (10 seconds, maybe).
The straigher the path travelled, the closer the two distances will be. The more curvy/twisty the path travelled, the farther apart the distances will be (and the lower resolution computation will be smaller).
Let's explain how the distances are determined and see if that will give you an idea of what is going on.
=====================
The Garmin 800 keeps track of two different distances: 1) distance by wheel rotation and 2) distance by GPS. The Garmin 800 writes/saves the wheel-rotation distance, the GPS distance, and the GPS coordinates to the fit file (there's other data being written also).
Your TomTom watch can only use GPS distance.
GPS distances are determined by recording the current GPS location and adding the distance between the current point to the prior point to a running total. Note that the distance between each point is assumed to be straight line (regardless of how you are actually travelling).
The closer the recorded GPS points are (the shorter the time between each) the more accurately they will describe your actual path (and the closer the computed distance will be to the correct distance).
Your TomTom watch is reporting the distance in the fit file. (What else could it be reporting?)
That means, if Strava is showing some other distance, then it isn't using the distance from the fit file.
Strava is probably computing the distance from the GPS coordinates stored in the fit file.
I'm going to guess that the TomTom distance is being computed from GPS coordinates taken close together (let's say every second) but that the data is being stored to the fit file farther apart (let's say every 10 seconds).
Strava may only be reading the GPS coordinates in the fit file (and ignoring the distance in the fit file).
If that's the case, Strava has to compute the distance using the GPS coordinates.
That means Strava is using a model/representation of your track using fewer points, which would result in it computing a shorter distance travelled.
In summary, the TomTom may be computing distance at a higher resolution (1 seconds, maybe) and Strava may be computing distance at a lower resolution (10 seconds, maybe).
The straigher the path travelled, the closer the two distances will be. The more curvy/twisty the path travelled, the farther apart the distances will be (and the lower resolution computation will be smaller).
Last edited by njkayaker; 11-04-13 at 01:15 PM.
#3
Senior Member
Thread Starter
Join Date: Jan 2006
Location: Toledo, OH
Posts: 483
Bikes: Leader 722TS, Surly Steamroller, Panasonic DX-3000, Trek 4900
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Likes: 0
Liked 0 Times
in
0 Posts
I also noticed something else that seems to add to the confusion. I use the site tapiriik.com to keep my various accounts in sync (Garmin Connect, RunKeeper, Strava, etc...). I always upload my activities to Strava and then the other services are synced based on what Strava has. After I uploaded the fit file to Strava, which underreported the distance, when RunKeeper and Garmin Connect synced with Strava they reported the accurate distance and not the shorter one Strava did. Any idea how/why that would happen?
I'm planning on returning my TomTom watch and getting a Garmin 610 instead and until them I'm just going to upload the gpx files instead of the fit and sacrifice my HR data.
#4
Senior Member
Join Date: Sep 2007
Location: Far beyond the pale horizon.
Posts: 14,272
Mentioned: 31 Post(s)
Tagged: 0 Thread(s)
Quoted: 4255 Post(s)
Liked 1,354 Times
in
940 Posts
Any idea why the gpx version of the file would be more accurate that the fit? My watch uploads my workouts in multiple file formats and if I upload the gpx file to Strava it's almost spot-on with what the watch is reporting, the fit and the tcx files seem to be underreporting the distance.
1) Timestamp.
2) Time (relative).
3) Position Lat.
4) Position Long.
5) Altitude.
6) Distance (from the wheel sensor, presumably).
7) Distance GPS.
8) HR.
9) Cadence.
10) Speed (I believe this is sensor speed not GPS).
11) Power.
12) Temp.
13) Laps.
The Garmins only produce a fit file. How are you getting the gpx file?
The data that is present in both files should match.
Here are four representations of the same point:
1) fit file (read directly from device by "Golden Cheetah")
Time: 01:57:53:000
Distance: 37.522305
Cadence: 87
Speed: 22.0995
Altitude: 21.800
Lat: 41.156709
Long: -73.961976
Temperature: 8
2) fit file (read directly from device by "fit file repair tool")
This is interesting: the data that this tool displace is less precise.
Timestamp: 11/3/2013 4:17:19 PM
Time (Rel.): 1:57:53 AM
Position Lat: 491018462
Position Long: -882399909
Alt (m): 21.8
Distance (km): 37.53
Dist GPS (km): 37.30
Cadence: 87
Speed (km/h): 22.40
3) TCX file exported from Garmin Connect.
<Trackpoint>
<Time>2013-11-03T16:17:19.000Z</Time>
<Position>
<LatitudeDegrees>41.156692039221525</LatitudeDegrees>
<LongitudeDegrees>-73.96190595813096</LongitudeDegrees>
</Position>
<AltitudeMeters>21.799999237060547</AltitudeMeters>
<DistanceMeters>37528.26953125</DistanceMeters>
<Cadence>87</Cadence>
<Extensions>
<TPX xmlns="https://www.garmin.com/xmlschemas/ActivityExtension/v2">
<Speed>6.2220001220703125</Speed>
</TPX>
</Extensions>
</Trackpoint>
4) GPX file exported from Garmin Connect:
<trkpt lon="-73.96190595813096" lat="41.156692039221525">
<ele>21.799999237060547</ele>
<time>2013-11-03T16:17:19.000Z</time>
<extensions>
<gpxtpx:TrackPointExtension>
<gpxtpx:atemp>8.0</gpxtpx:atemp>
<gpxtpx:cad>87</gpxtpx:cad>
</gpxtpx:TrackPointExtension>
</extensions>
</trkpt>
The distance is either:
* A running total of the distance between GPS coordinates.
* Computed from the GPS coordinates in the fit/gpx file (which should be exactly the same).
* Computed from map data (based on GPS files in the fit/gpx file (this could add "missing" points, if it assumes you are always followin a road, making the distance computation more accurate).
Last edited by njkayaker; 11-04-13 at 03:14 PM.
#5
Senior Member
Join Date: Apr 2006
Location: Escondido, CA
Posts: 2,240
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(s)
Likes: 0
Liked 0 Times
in
0 Posts
Your watch probably has a weak GPS receiver and has substantial noise in its track data. I'd speculate that the watch itself and the gpx file report distances based on raw, non-smoothed data, and export as .fit applies a smoothing pass that eliminates some of the zigzagging and results in a shorter elapsed distance.
What you can do is download Golden Cheetah, import both the gpx and the fit, and you'll be able to see the data points directly in the editor. Then you'll be able to figure out why they don't match.
What you can do is download Golden Cheetah, import both the gpx and the fit, and you'll be able to see the data points directly in the editor. Then you'll be able to figure out why they don't match.
#6
just pedal
if you know your route you could also goto mapmyride or ridewithgps and just punch in the route you took as exactly as possible... of late I've been running IPbike and a second program (usually strava) on my phone of late and then send the data to several different online locations and have been finding that strava is short changing me fairly frequently sometimes by as much as 10%... just to check I've punched in my route on mapmyride to verify the distances. I'm sure it has to do with the noise of GPS data and how each program deals with it
Thread
Thread Starter
Forum
Replies
Last Post
TenSpeedV2
Electronics, Lighting, & Gadgets
29
02-02-18 01:41 PM
johngwheeler
Electronics, Lighting, & Gadgets
3
07-10-17 09:29 PM