In Bewegung: GPX, TCX oder FIT? Die beim Laufen erzeugten Trackingfiles

Gehen wir Laufen, erzeugen wir heute viele Daten wie Zeit, Strecke oder Herzfrequenz. GPS-Daten angereichert mit Fitnessdaten. Wer geht ohne Sportuhr laufen? Wohl die wenigsten. Dies zeigte sich deutlich am Greifenseelauf Halbmarathon von Ende September. Im Starterfeld entdeckte ich kein einziges Handgelenk ohne Laufuhr.

Für was die Daten gebraucht werden, ist dann unterschiedlich. Manche wollen einfach nur aktuelle Daten sehen während des Laufes, andere werten sämtlichen Schnickschnack aus nach erfolgtem Rennen. Dazu lassen sich die Daten auf Portale hochladen, automatisch oder via Export/Import der Daten mit bestimmten Dateiformaten.

Doch welches dieser Formate enthält nun welche Daten? Nicht zwingend sind in der grössten Datei auch die meisten Daten enthalten. Schauen wir uns die gängigsten Dateiformate doch einfach mal an. GPX, TCX oder FIT? Einfach weiterlesen.

GPX

Das GPX-Dateiformat (GPS Exchange Format) wurde von TopoGrafix entwickelt zur Speicherung von Geodaten. Ursprünglich waren dies hautsächlich GPS-Daten, das Format basiert jedoch auf dem XML-Standard, kann frei verwendet werden und ist offen für Erweiterungen. Das XML-Schema des GPX-Formats definiert in erster Linie die Daten für Wegpunkte (einzelner Punkt), Routen (geplanter Pfad) und Tracks (aufgezeichneter Pfad). Metadaten wie Autor oder eine Beschreibung können ergänzt werden. Die Positionsangaben werden mit Breite, Länge und Höhe angegeben und der Zeitstempel steht im UTC-Format (Coordinated Universal Time) in der GPX-Datei.

Schauen wir uns eine solche Datei doch einfach mal konkret an am Beispiel eines Auszuges meines Laufes am Greifenseelauf Halbmarathon im September 2018 über eine Distanz von 21.1 Kilometern und einer Zeit von 1:57 Stunden. Im nachfolgenden Auszug seht ihr die zwei ersten sowie den letzten Punkt meines Laufes. Die Daten basieren auf meiner Laufuhr von TomTom.

<gpx version="1.1" creator="TomTom.1004 with Barometer" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <metadata>
    <name>Activity</name>
  </metadata>
  <trk>
    <name>Running</name>
    <trkseg>
      <trkpt lat="47.347682" lon="8.695347">
        <ele>443.4</ele>
        <time>2018-09-22T13:24:20.000Z</time>
        <extensions>
          <gpxtpx:TrackPointExtension>
            <gpxtpx:hr>80</gpxtpx:hr>
          </gpxtpx:TrackPointExtension>
        </extensions>
      </trkpt>
      <trkpt lat="47.347702" lon="8.695333">
        <ele>443.4</ele>
        <time>2018-09-22T13:24:21.000Z</time>
        <extensions>
          <gpxtpx:TrackPointExtension>
            <gpxtpx:hr>81</gpxtpx:hr>
          </gpxtpx:TrackPointExtension>
        </extensions>
      </trkpt>
...

      <trkpt lat="47.349364" lon="8.715714">
        <ele>464.4</ele>
        <time>2018-09-22T15:21:24.000Z</time>
        <extensions>
          <gpxtpx:TrackPointExtension>
            <gpxtpx:hr>185</gpxtpx:hr>
          </gpxtpx:TrackPointExtension>
        </extensions>
      </trkpt>
    </trkseg>
  </trk>
</gpx>

Wie ihr im äussersten Tag <gpx/> seht, stammen diese GPX-Daten von meiner TomTom-Laufuhr, die grundsätzliche Definition (die Schemas) von TopoGrafix und von Garmin gibt es noch Erweiterungen in Bezug auf TPX. Die eigentlichen Aufzeichnungen meines Laufes befinden sich in den Tracking-Elementen innerhalb von <trk/> und <trkseg/>. Jede Sekeunde wird ein einzelner Punkt geschrieben, welcher durch das Element <trkpt/> wiedergegeben wird. Ein solcher Tracking-Punkt enthält die Koordinaten mittels Breite (Attribut lat) und Länge (Attribut lon), die Höhe im Element <ele/> sowie den Zeitstempel im Element <time/> im UTC-Format. Dies erklärt auch, weshalb der erste Punkt die Zeit 13:24:20 enthält, obwohl ich effektiv um 15:24 gestartet bin. UTC entspricht der Zeit ohne Sommerzeit und Zeitzonenbeachtung, also quasi Zone +/- 0.

Die Spezifikation respektive das Schema des GPX-Formates findet man auf der Seite von TopoGrafix.

TCX

Das TCX-Dateiformat (Training Center Database File) basiert ebenfalls auf dem XML-Standard und wurde von Garmin entwickelt, um die GPS- und Fitnessdaten zwischen ihren Geräten auszutauschen. Zusätzlich zu Position und Zeit stehen in einer TCX-Datein nun also auch Fitnessdaten wie die Herzfrequenz, Geschwindigkeit oder zurückgelegte Distanz. Auch enthält die Datei zusammenfassende Daten über die Einheit wie beispielsweise Kalorienverbrauch, gesamte Trainingszeit oder das Total Anzahl Schritte. Da diese Datei ebenfalls auf XML basiert und nebst den eigentlichen Daten auch die Element-Beschreibungen (Tags) enthält, ist der Speicherbedarf der TCX-Datei wie auch der GPX-Datei relativ gross.

Machen wir nun das gleiche Praxisbeispiel vom selben Lauf mit einer TCX-Datei.

<TrainingCenterDatabase xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="http://www.garmin.com/xmlschemas/ActivityExtension/v2" xsi:schemaLocation="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2 http://www.garmin.com/xmlschemas/TrainingCenterDatabasev2.xsd">
  <Activities>
    <Activity Sport="Running">
      <Id>2018-09-22T13:24:20Z</Id>
      <Lap StartTime="2018-09-22T13:24:20Z">
        <TotalTimeSeconds>7025</TotalTimeSeconds>
        <DistanceMeters>21073.33</DistanceMeters>
        <MaximumSpeed>3.33</MaximumSpeed>
        <Calories>1867</Calories>
        <Intensity>Active</Intensity>
        <TriggerMethod>Manual</TriggerMethod>
        <Track>
          <Trackpoint>
            <Time>2018-09-22T13:24:20Z</Time>
            <Position><LatitudeDegrees>47.347682</LatitudeDegrees><LongitudeDegrees>8.695347</LongitudeDegrees></Position>
            <AltitudeMeters>443.4</AltitudeMeters>
            <DistanceMeters>0.0</DistanceMeters>
            <HeartRateBpm>
              <Value>80</Value>
            </HeartRateBpm>
            <Extensions><x:TPX><Speed>0.0</Speed></x:TPX></Extensions>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-09-22T13:24:21Z</Time>
            <Position><LatitudeDegrees>47.347702</LatitudeDegrees><LongitudeDegrees>8.695333</LongitudeDegrees></Position>
            <AltitudeMeters>443.4</AltitudeMeters>
            <DistanceMeters>2.7</DistanceMeters>
            <HeartRateBpm>
              <Value>81</Value>
            </HeartRateBpm>
            <Extensions><x:TPX><Speed>2.7</Speed></x:TPX></Extensions>
          </Trackpoint>
...
          <Trackpoint>
            <Time>2018-09-22T15:21:24Z</Time>
            <Position><LatitudeDegrees>47.349364</LatitudeDegrees><LongitudeDegrees>8.715714</LongitudeDegrees></Position>
            <AltitudeMeters>464.4</AltitudeMeters>
            <DistanceMeters>21073.33</DistanceMeters>
            <HeartRateBpm>
              <Value>185</Value>
            </HeartRateBpm>
            <Extensions><x:TPX><Speed>3.0</Speed></x:TPX></Extensions>
          </Trackpoint>
        </Track>
      </Lap>
      <Notes>Activity e586569cb7f75b21db2f2e84fffc309a</Notes>
      <Creator xsi:type="Device_t">
        <Name>TomTom GPS Sports Watch with barometer</Name>
        <UnitId>0</UnitId>
        <ProductID>1004</ProductID>
        <Version>
          <VersionMajor>2</VersionMajor>
          <VersionMinor>2</VersionMinor>
          <BuildMajor>355</BuildMajor>
          <BuildMinor>0</BuildMinor>
        </Version>
      </Creator>
      <Extensions xsi:type="Extensions_t">
        <x:LX>
          <ActiveSeconds>7025</ActiveSeconds>
          <ElapsedSeconds>7025</ElapsedSeconds>
          <DistanceMeters>21073</DistanceMeters>
          <AvgSpeed>3</AvgSpeed>
          <KiloCalories>1867</KiloCalories>
          <StepCount>18376</StepCount>
          <ClimbMeters>154</ClimbMeters>
        </x:LX>
      </Extensions>
    </Activity>
  </Activities>
  <Author xsi:type="Application_t">
    <Name>TomTom MySports Service</Name>
    <Build>
      <Version>
        <VersionMajor>2</VersionMajor>
        <VersionMinor>2</VersionMinor>
        <BuildMajor>355</BuildMajor>
        <BuildMinor>0</BuildMinor>
      </Version>
    </Build>
    <LangID>en</LangID>
    <PartNumber>000-00000-00</PartNumber>
  </Author>
</TrainingCenterDatabase>

Wir erkennen zuallererst, dass die Namensgebung der Elemente anders ist und es sich beim äussersten Element (dem Wurzelelement) um <TrainingCenterDatabase/> handelt und die Definitionen (Schemas) von Garmin stammen, welche dieses Format entworfen haben. Die Strecke wird auch hier mit einzelnen Tracking-Punkten angegeben, welche selbstverständlich die identischen Werte enthalten, es handelt sich ja schliesslich um die gleiche Quelle, meine TomTom-Laufuhr. Nur sind hier weitere Daten enthalten und es können Runden abgebildet werden, welche im Element <Lap/> innerhalb von <Activity/> enthalten sind. Die einzelnen Punkte sind nun in den Elementen <Trackpoint/> innerhalb <Track/> und enthalten nebst Position (<Position/>), Zeit (<Time/>) und Höhe (<AltitudeMeters/>) nun auch Angaben wie die Herzfrequenz (<HeartRateBpm>), die zurückgelegte Distanz (<DistanceMeters/>) sowie die aktuelle Geschwindigkeit (<Speed/>). Zusätzlich zu den aktuellen Daten pro Trackingpunkt werden in die TCX-Datei auch zusammenfassende Daten geschrieben, sowohl pro Runde wie auch über die ganze Aktivität. Es sind dies Daten wie die zurückgelegte Distanz (<DistanceMeters/>), verbrauchte Kalorien (<KiloCalories/>) oder auch die Anzahl Schritte (<StepCount/>). Und noch ein paar mehr.

Die Spezifikation des TCX-Formates in der Version 2 ist hier bei Garmin verfügbar.

FIT

Das FIT-Dateiformat (Flexible and Interoperable Data Transfer) ist ein weiteres Format der Firma Garmin und reduziert die Dateigrösse stark, da es sich um binäre Dateien handelt. Im Gegensatz zu GPX und TCX kann man die FIT-Dateien dafür nicht mehr unabhängig bearbeiten oder auch nur lesen, beispielsweise in einem einfachen Texteditor. Das Format ist noch relativ neu und wird noch nicht von allen unterstützt, wird aber wohl kommen, nur schon weil der Speicherbedarf deutlich tiefer ist. Typischerweise rund ein Zehntel gegenüber der XML-basierten Formate.

Die Spezifikation des FIT-Formates ist hier zu finden.

Weitere Formate

Während die ersten drei Formate von den meisten Anbietern von Lauftools unterstützt werden, beschränken sich HRM wie auch TTBIN in erster Linie auf deren Hersteller. HRM steht für Heart Rate Monitor Data und ist das Dateiformat von Polar. TTBIN hingegen wird von TomTom verwendet und ist ebenfalls binär basiert.

Zum Austausch mit unabhängigen Lauftools eignen sich für Sporteinheiten also am besten TCX und FIT. Die Daten sind (oder sollten) in beiden vollständig sein, nur sind die FIT-Dateien deutlich kleiner. Im Vergleich war meine FIT-Datei für den Greifenseelauf Halbmarathon (21.1 Kilometer, knapp zwei Stunden) lediglich 166 KB gross. Die TCS sowie die GPX Dateien schafften es beide auf rund 2.5 MB. Aber vergesst bei all diesem Formatwirrwarr, welches nun hoffentlich keines mehr ist, die Freude am Laufen nicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Keine Beiträge mehr verpassen?

Einfach Name und E-Mail eingeben, auf Anmelden klicken und schon wirst du über jeden neuen Beitrag informiert.