Startseite > Blog > Reparieren von .tcx-Dateien

Reparieren von .tcx-Dateien

Folgende Anleitung zum Reparieren von .tcx-Dateien hat Philippe Jacob aus der Schweiz zur Verfügung gestellt. Sie lässt sich sehr gut anwenden, wenn man z. B. unter der FW 2.60/2.70/2.80 mit abbrechenden oder unvollständigen Aufzeichnungen zu kämpfen hat. Vielen Dank an Philippe!

Mir hat diese Seite schon sehr geholfen, deshalb versuche ich auch etwas zur Seite beizutragen. Ich hoffe es wird nicht zu kompliziert. Ich weiss nicht, ob hier schon eine Anleitung zum Reparieren von tcx-Dateien zu finden ist. Da ich aber schon mehr als einmal mit dem Problem konfrontiert war, hier eine solche Anleitung.

Beim tcx-Dateiformat handelt es sich um xml-Files. Das heisst, die Daten werden in sogenannten Tags mit vorgegebener Struktur gegliedert. Das wichtigste ist, dass jedes Anfangs-Tag auch ein End-Tag hat, z. B.:

<Track>…</Track>

Die End-Tags enthalten (wie bei </Track>) immer ein vorgestelltes /.

Meistens entstehen beschädigte Files bei einem Absturz des Geräts. Deshalb wird der aktuell gespeicherte Datensatz nicht korrekt abgeschlossen. Was nun?

  1. Das (korrupte) File vom Gerät runterladen, z. B. über den Windows-Explorer
  2. Eine Sicherheitskopie des Files erstellen!!! Niemals am Original arbeiten!
  3. Die Datei mit einem geeigneten Programm öffen und die fehlerhafte Position suchen

Um die fehlerhafte Position im File zu finden, sollte man einen Texteditor oder ähnliche Programme verwenden, z. B. Ultraedit, Ediplus, Dreamweaver oder auch die Windows-Standard-Programme Notepad bzw. Wordpad. Benutzt man einen dedizierten „Vollblut-Editor“ (wie Ultraedit oder editplus) hilft es ungemein, die Dateiendung von .tcx auf .xml zu ändern, damit der Editor die xml-Struktur einfärbt und die einzelnen Tags farblich hervorhebt. Dies vereinfacht das Aufspüren von Fehlern in der Struktur ungemein. Natürlich muss das Suffix nach dem Bearbeiten wieder auf .tcx geändert werden.

Die vom Edge aufgezeichneten .tcx-Daten sind in etwa folgendermassen strukturiert („…“ ersetzt Abschnitte und wurde von mir eingefügt, um die Beispiele leserlicher zu machen):

<TrainingCenterDatabase …>
<Track>
<Trackpoint>

(hier stehen die aufgezeichneten Daten)
</Trackpoint>

<Trackpoint>
</Trackpoint>
</Track>
<Track>

</Track>
<Track>

</Track>
</TrainingCenterDatabase>

Man sieht deutlich die Anfangs- und die End-Tags. Jeder Anfangs-Tag muss durch einen End-Tag „umklammert“, d. h. abgeschlossen werden, in Prinzip so, wie jede öffnende Klammer bei einer Rechenaufgabe auch wieder eine schließende Klammer haben muss.

Wie findet man nun die angesprochenen Fehler in der Datei? Dazu muss man die Datei nach dem Tag <Track> durchsuchen. Ausser beim allerersten <Track>-Tag des Files (und ausser bei einer neuen <Lap>) muss vor jedem <Track> ein </Track> stehen. In der Datei sieht das so aus:


</Track>
<Track>

Man durchsucht die Datei also nach allen Vorkommnissen von <Track> und kontrolliert, ob ein </Track> davor steht. Ist dies nicht der Fall, hat man den Fehler gefunden und kann diesen korrigieren. Am besten löscht man dazu den fehlerhaften Trackpoint und fügt stattdessen ein </Track>-Tag als Abschluss hinzu. Am Beispiel sieht das so aus:

Fehlerhaft:
<Track>
<Trackpoint>
<Time>2009-09-19T09:20:17Z</Time>

<Position>
<LatitudeDegrees>46.712735</LatitudeDegrees>
<LongitudeDegrees>8.182485</LongitudeDegrees>
</Position>

</Trackpoint>
<Trackpoint>
<Time>2009-09-19T09:20:48Z</ Time >
<Position>
<LatitudeDegrees>46.712292</LatitudeDegrees>

<Track>
<Trackpoint>

</Trackpoint>
</Track>

Korrigiert:

<Track>
<Trackpoint>
<Time>2009-09-19T09:20:17Z</Time>

<Position>
<LatitudeDegrees>46.712735</LatitudeDegrees>
<LongitudeDegrees>8.182485</LongitudeDegrees>
</Position>

</Trackpoint>
</Track>
<Track>
<Trackpoint>

</Trackpoint>
</Track>

Übrigens kann man auch versuchen, den Trackpoint selbst zu reparieren, aber das braucht etwas mehr Erfahrung mit XML.

So gehen zwar die Daten eines Trackpoints verloren, mehr passiert aber nicht. Die so entstehende kleine „Lücke“ in der Aufzeichnung lässt sich auf jeden Fall eher verschmerzen als eine komplett unbrauchbare Aufzeichnung. Tatsächlich lassen sich die meisten tcx-Dateien so recht einfach und erfolgreich reparieren. Es gibt aber leider auch Fälle, in denen es schwieriger wird oder gar nicht möglich ist, z. B. wenn das Gerät nach dem Absturz mit einer neuen Lap begonnen hat oder wenn der gesamte Abschluss des Files fehlt.

Anschließend kann man die reparierte Datei ins Trainings-Center importieren und fertig.🙂 Die fehlerhafte Datei sollte man auf dem Gerät löschen oder durch die korrigierte ersetzen, so lässt sich die Aufzeichnung so „ab Gerät“ weiterverwenden, als ob sie von vorneherein fehlerfrei gewesen wäre.

  1. 20. Oktober 2011 um 09:13

    Je nach Größe der tcx Datei sind einige Editoren überfordert , oder stellen die XML Struktur nicht richtig dar, oder man findet in der Zahlen/Buchstaben Vielfalt nicht schnell genug die gewünschte Stelle , helfen kann hier der XML Validierer: http://www.xmlvalidation.com/
    1. Fehlerhafte *tcx. Datei umbennen in *.xml
    2. Hochladen
    3. Es wird eine Sprungmarke generiert mit welcher man direkt zum Fehlerhaften Tag kommt
    4. Im Editor dann suchen nach einem einschlägigen Begriff (Höhe, Distance …)
    5. Abändern, fertig.

  2. Manfred
    11. Oktober 2009 um 20:33

    Ich habe auch schon einmal versucht, so einen tcx-file zu reparieren; leider fehlten dann aber alle Punkte nach dem schadhaften…
    Folgende Lösung hat bei mir funktioniert: Im edge „Training“, „Strecken“, „“. Dort fand ich dann die „Historie“ und konnte aus dieser eine neue Strecke machen, die ich wiederum mit Hilfe des „TCX-Converter“ in einen „History-File“ konvertiert habe und dann einlesen konnte. Da sind dann alle Daten da….
    Viel Erfolg!
    Manfred

    • Manfred
      11. Oktober 2009 um 20:35

      Jetzt habe ich gesehn, dass das, was in eckigen Klammern stand, samt der eckigen Klammern verloren geht..
      Muss also richtig heißen: Im edge „Training“, „Strecken“, „(Neu anlegen)“.
      Manfred

  3. Jörg
    29. September 2009 um 21:12

    Schöner Artikel. Ich habe auch schon Stunden damit verbracht kaputte Aufzeichnungen zu rekonstruieren. Meist waren jedoch nicht nur die XML Dateien korrupt, d.h. es hat ein „closing tag“ gefehlt, sondern die Aufzeichnung war dann auch unvollständig. Im Speicher ist Aufzeichnung aber meist OK. Wenn man über das Menu Training > Strecken > Neu anlegen die Aufzeichnung nochmal als Kurs speichert hat man die Daten nochmal vollständig in XML.
    Dann muss man die Daten noch zusammenfügen, leider unterscheiden sich die Formate von Kurs und History strukturell aber.

    • 5. Oktober 2009 um 22:59

      Das war ein sehr guter Hinweis, hat mir aber nicht geholfen.
      Ich hatte meinen Edge705 der Freundin mitgegeben. Die war vier Tage unterwegs und hatte die Befürchtung, dass mit langem Drücken der LAP-Taste alles gelöscht wird. Am Ende waren die vier Tage in einer einzigen TCX-Datei. Im SportTracks hat man dann den Umriss der Tour gesehen und die Fläche innerhalb des Tracks war wie mit Tracks „schraffiert“.
      Ich habe dann in der TCX-Datei jeweils drei Tage rausgelöscht. Danach hatte ich vier Dateien bei denen zwischen den Tags

      und dem letzten

      jeweils nur noch ein (Wochen-)Tag stand (hier ist kein XML-Tag gemeint).
      Dann konnte es SportTracks korrekt lesen. GTC habe ich nicht und ich weiss deshalb auch nicht, ob es damit auch mit mehreren Tagen im TCX funktioniert.

  1. 9. November 2015 um 08:37
  2. 7. April 2014 um 07:02
  3. 1. Oktober 2011 um 19:13

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s