I have a few thousands of GPS tracks (from and for recreational use) and I would like to sort those that were produced by a GPS on the field from those that were drawn (on-line on Google Earth or any other WebGIS or map editor such Garmin Basecamp or others).

Depending on the GPS settings and antenna, trackpoints are usually collected by time or distance to the log file before the final save. On many models this track is usually compressed (midle trackpoints are erased) to save memory space (I’m pretty sure that some of us still remember that the first affordable models use to have about 20 Mb of memory… enough to take you back or to load a few tracks or routes).

On my data set I have an average of trackpoints distance that goes from 1m to a maximum of 899m (Avg 45.80, Std 50.16).

I have compared this to 396 tracks collected by my Garmin Edge705 on Mountain Biking activities and the average trackpoint distance varied between 10m and 50m (Avg 28.89, Std 7.22). To optimize file size, sport models usually record a new point on every speed or trajectory change making huge variations between trakcpoints distance on the same track, but different models or settings could produce different results.

From my own data, it seems that average distances of up to 50 m could be considered as “collected on the field”, but I believe that GPS APPs for the current smartphones, or other models could push this value a little further… Within my dataset, tracks with average distance between trackpoints above 200 m are obviously drawn on a medium/small scale map on a WebGIS or other map software. Signs are easily spotted when these tracks are uploaded to a GIS – Tracks don’t usually follow the road, curves are not smooth as if they were collect on the field by a GPS handheld even taking into account GPS errors…

Above 100 m I still “feel” that most are drawn but what could be a reasonable value?

1 Answer 1


Using average distance between point is not a reasonable criteria to tell apart GPS tracks from hand-drawn ones. Any value you pick can lead to misclassification of some tracks. That's why in addition to coordinates, all GPS data files have some sort of metadata. This is data contained within the file that explain the how,and when the data was collected.

Most of the file formats used for storing GPS data are ASCII, that means you can open them in a text editor and read whats in there (kmz are zip compressed ASCII files, just rename the .kmz file to .zip, unzip it and you will get the uncompressed ASCII .kml file). In the first lines you will usually find metadata that will tell you more accurately how the data was created.

Here are a few examples:

1) CompeGPS TRK file

G  WGS 84
U  1
P  Garmin  id=141  eTrex Summit Software Version 2.50
Q  2687191134
I  C:\Program Files\CompeGPS\symbols\IconsPlay\person1.ico
C  0 0 0 2 -1.000000
L  04:00:00
V  0.0 0.0 0 0 0 0 0.0
E 0|1|00-NUL-00 00:00:00|00:00:00|0
T  A 50.9385604858ºS 73.5959548950ºW 26-APR-08 15:33:12 s 1064.8 0.0 0.3 0.0 0 -1000.0 -1.0 ÿ -1.0 -1.0
T  A 50.9386024475ºS 73.5958251953ºW 26-APR-08 15:33:28 s 1066.7 0.0 0.9 0.0 0 -1000.0 -1.0 ÿ -1.0 -1.0

GPX file:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:wptx1="http://www.garmin.com/xmlschemas/WaypointExtension/v1" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" creator="eTrex 30" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www8.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/WaypointExtension/v1 http://www8.garmin.com/xmlschemas/WaypointExtensionv1.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd">
    <link href="http://www.garmin.com">
    <text>Garmin International</text>
    <name>PALOMAR-DEPO NEF</name>
        <trkpt lat="-46.9937723782" lon="-73.2003920339"><ele>412.06</ele><time>2017-07-26T15:59:59Z</time></trkpt>
        <trkpt lat="-46.9937109388" lon="-73.2004408166"><ele>411.10</ele><time>2017-07-26T16:00:22Z</time></trkpt>

OziExplorer PLT file:

OziExplorer Track Point File Version 2.1
WGS 84
Altitude is in Feet
Reserved 3
0,2,255,ACTIVE LOG                         ,0,0,2,8421376
 -47.525910, -72.335720,1,   4768,38182.6673727, 14-Jul-04, 16:01:01
 -47.525910, -72.335740,0,   4769,38182.6675810, 14-Jul-04, 16:01:19
 -47.525930, -72.335770,0,   4771,38182.6676505, 14-Jul-04, 16:01:25

Another trick would be to look at the time or elevation of each data point. Most likely the points you created by hand have no associated time and/or elevation.

There are many tools that can help you find all the files that contain sequence of words like 'creator="eTrex 30"' or "eTrex Summit Software Version 2.50" for the examples above, so you can identify the files that were actually created by a GPS.

  • My data has been collected within a web-share service, and all GPX has been exported from the service database meaning that all the original metadata has been replaced. Each track point has been reduced to “lat”, “long”, “ele”, and date & time have been deleted. But looking at the elevation data might be a good clue. Nevertheless, looking at the average distance between track points is also a good way to sort out the original collected from does that were drawn, at least up to distances too far apart… Probably using both ways could give a good push to classified the entire database. Commented Sep 29, 2021 at 8:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.