Skip to content
Geo Tracker Logo Geo Tracker

Extended data in GPX and KML files

Besides coordinates, elevation and time, Geo Tracker can write extra details about every track point to exported GPX, KML and KMZ files: speed, course, accuracy, time zone, location source and satellites. Geo Tracker reads these fields back when you import the file, and you can use them to analyze your tracks in other tools.

Extended data is written only if Export extended data is turned on in Settings → Data, under Export. Turn it off if you don’t need these details and want smaller files.

A field is written only if the point has a value for it. Which values a point has depends on the device and the location source.

GPXKMLMeaningUnit or values
ccourseDirection of movement, clockwise from true northRadians, 0 to 2π (≈ 6.28); multiply by 57.3 for degrees
sspeedSpeedMeters per second
aaccuracyHorizontal accuracyMeters
vaverticalAccuracyVertical accuracyMeters
saspeedAccuracySpeed accuracyMeters per second
cacourseAccuracyCourse accuracyDegrees
tztzOffsetTime zone offset from UTC at the moment of recordingSeconds, e.g. 7200 for UTC+2
srcsourceLocation source1 device, 2 network, 3 Bluetooth receiver, 4 accessory
susatellitesUsedSatellites used for the positionCount
svsatellitesVisibleSatellites visibleCount
hdophdopHorizontal dilution of precisionNumber, lower is better
fqfixQualityNMEA fix quality1 GPS, 2 DGPS, 4 RTK fixed, 5 RTK float, and so on
mockmockPosition from a mock location app1 yes, 0 no
devsourceDeviceName of the Bluetooth receiverText

Where the values come from:

  • Location source: 1 is the device’s own location. On Android this is its built-in satellite receiver; on iPhone, iOS doesn’t say which source it used. 4 is an iPhone-certified (MFi) receiver that passes its position to iOS. See Record with a Bluetooth GNSS receiver.
  • Satellites (su, sv) are written on Android and for Bluetooth receivers connected in Geo Tracker. iOS doesn’t share satellite details with apps.
  • HDOP and fix quality (hdop, fq) come only from Bluetooth receivers connected in Geo Tracker.
  • Time zone (tz) comes from the device’s time zone setting, so make sure it’s correct.
  • Mock is left out when the platform can’t tell whether a position is simulated.

In GPX files, the fields are attributes of a <geotracker:meta> element in the <extensions> of each <trkpt>. The geotracker prefix is declared on the root element as xmlns:geotracker="http://ilyabogdanovich.com/gpx/extensions/geotracker". The namespace URL leads to this page.

<trkpt lat="47.12345678" lon="8.54321000">
<ele>450.00</ele>
<time>2026-09-05T14:23:00Z</time>
<extensions>
<geotracker:meta c="2.36" s="2.85" a="4.00" va="3.00" tz="7200" src="3" su="18" sv="27" hdop="0.80" fq="4" mock="0" dev="My GNSS receiver" />
</extensions>
</trkpt>

Here the point was recorded with a Bluetooth receiver (src="3") with an RTK fixed solution (fq="4"), moving southeast (c="2.36", about 135°) at 2.85 m/s (about 10.3 km/h), in a time zone 2 hours ahead of UTC.

A KMZ file is a zipped KML file, so both contain the same fields. In KML, they’re stored in the KML extended data format by Google:

  • The document declares a Schema with the ID geotrackerTrackSchema, with a gx:SimpleArrayField for each field and its description in displayName.
  • Each gx:Track has an ExtendedData element with a SchemaData that refers to this schema. It holds one gx:SimpleArrayData per field, with one gx:value per track point in the order of the when and gx:coord elements. A point without a value has an empty gx:value.
<gx:Track>
<when>2026-09-05T14:23:00Z</when>
<when>2026-09-05T14:23:01Z</when>
<gx:coord>8.54321000 47.12345678 450.00</gx:coord>
<gx:coord>8.54325000 47.12342000 450.20</gx:coord>
<ExtendedData>
<SchemaData schemaUrl="#geotrackerTrackSchema">
<gx:SimpleArrayData name="speed">
<gx:value>2.85</gx:value>
<gx:value>2.90</gx:value>
</gx:SimpleArrayData>
<gx:SimpleArrayData name="accuracy">
<gx:value>4.00</gx:value>
<gx:value>3.50</gx:value>
</gx:SimpleArrayData>
</SchemaData>
</ExtendedData>
</gx:Track>

Geo Tracker also saves a few details about the trip, its tracks and markers. These are written whether Export extended data is on or off.

GPXKMLMeaning
geotracker:comment in <metadata>Data named commentTrip or track comment
geotracker:length in <trk>—Track length, meters
geotracker:duration in <trk>TimeSpan of the trackRecording duration; in GPX, milliseconds
geotracker:creationtime in <trk>begin of the TimeSpanStart of the recording
geotracker:activity in <trk>Data named activityActivity: 0 not set, 1 skiing
visited attribute of a waypointData named visited1 if you have visited the marker
emoji attribute of a waypointData named emojiThe marker’s emoji
generated attribute of a waypointData named generated1 for markers Geo Tracker created automatically, such as stop markers
<type> of a route pointData named maneuverRoute guidance maneuver: L turn left, R turn right, U U-turn

In GPX, the track fields are elements inside <extensions><geotracker:meta>, and the marker fields are attributes of <geotracker:meta>.