Menuekopf

Mittwoch, 21. Dezember 2016

Tagesbilanz = Null (Part 2: Reparaturmaßnahmen)

Wie bereits im ersten Teil angekündigt, möchte ich noch einige Reparaturmöglichkeiten vorstellen.
Je nach Ausgangslage und Art der Daten (textbasiert oder binär), sind die Reparaturmöglichkeiten allerdings begrenzt. Auch hängt der zu erwartende Erfolg der Reparaturmaßnahme von der Ursache, die jene korrupten Daten bedingt hat, ab (komplett versaubeutelte Daten wird man eher nicht mehr restaurieren können).

Diese Kurzanleitung kann natürlich nicht das ganze Spektrum an Reparaturmaßnahmen und Datenformaten abdecken und soll in erster Linie als eine Art Anregung verstanden werden. Letztlich müsst ihr auch selbst einschätzen, ob eine Reparatur der Daten überhaupt lohnt oder nicht.

Vorab auch noch folgender Hinweis: die meisten Entwickler - mich inbegriffen - versuchen ihre Programme stetig zu verbessern und auch bzgl. korrupter Daten fehlertoleranter zu machen. Manchmal kann es daher lohnen, die aktuellste Programmversion zu installieren oder - falls das nichts bewirkt - auch mal den Entwickler des Auswertungsprogrammes direkt anzumailen.
Z.B. konnte ich anhand einiger Muster-Fitfile-Dateien, die mir ein User freundlicherweise zur Verfügung gestellt hat, den Fitfile Import diverser Bryton Geräte, die - um es vorsichtig zu formulieren, etwas gewöhnungsbedürftige Fitfiles erzeugen -, in der TrainingLab Pro merklich robuster gestalten.

Wenden wir uns zuerst den textbasierten Datenformaten zu.


Textbasierte Daten:

Bei textbasierten Daten (*.gpx, *.tcx, etc.) bedingen häufig kleinere Formatierungs- und Syntaxfehler, die man - sofern etwas Grundkenntnisse vorhanden sind! - relativ einfach mittels eines Texteditors reparieren kann, Einleseprobleme.

Viele textbasierte GPS-Datenformate basieren auf dem XML Format. Dieses Containerformat zeichnet sich dadurch aus, dass die Parameter in sogenannten Tags eingebettet sind. Wenn z.B. ein Abschluss-Tag fehlt, dann kann dieser simple Syntaxfehler dazu führen, dass ein XML-Parser die Datei als ungültig interpretiert.

Ohne jetzt zu sehr in die Tiefe zu gehen, bei XML-basierten Daten verwende ich gerne den XML-Editor, wenn denn mal ein manuelles Eingreifen vonnöten sein sollte.
Dieser Editor führt unter dem Menüpunkt Tools eine MSXML-Validate Funktion auf, die dabei helfen kann, Syntaxfehler zu finden. Bei sehr großen XML-Dateien sucht man sich sonst einen Wolf, wohingegen diese Funktion die fehlerhafte Stelle normalerweise direkt anspringt.
Auf diese Weise könnt ihr also relativ einfach die fehlerhafte Stelle ausfindig machen und im XML-Editor direkt korrigieren.

Hier fehlt lediglich ein fehlendes </trkpt> Tag, das, nachdem es von mir händisch eingefügt wurde, wieder eine valide GPX-Datei zufolge hatte.





In Part 1 habe ich den Problemfall schwache Batterien gleich an erster Stelle aufgeführt (natürlich nicht grundlos). Zur Erinnerung, in dem von mir als schlechtesten Fall bezeichneten Szenario hatte ich beschrieben, dass die Geräte unkontrolliert beendet werden und daher korrupte, da nicht korrekt abgeschlossene Dateien, die Folge sein können.

Unter Umständen genügt es also, die fehlenden Abschluß-Tags anzufügen, um wieder eine valide GPX oder TCX Datei zu haben. Man wird also wahrscheinlich...

  1. den Trackpunkt (<trkpt>) sauber abschließen müssen (inkl. der dort eingebetteten Parameter)
  2. und die Abschluss-Tags der XML-Datei (z.B. </trkseg>,</trk>,</gpx>) 
... ergänzen müssen und hat hinterher im besten Fall wieder eine valide XML-Datei, die von Auswertungsprogrammen problemlos importiert werden kann.

Auf diese Weise konnte ich schon etliche GPX/TCX Dateien restaurieren. Die fehlenden Datenpunkte könnt ihr natürlich nicht mehr retten, aber wenn ihr Glück habt, fehlen nur die letzten paar Kilometer einer langen Tour, was man wohl einigermaßen verschmerzen kann.

Weitere Hilfestellungen bzgl. korrupter GPX Dateien gibt's auch in einem Beitrag im Naviboard und auch Madame Google wird den ein oder anderen Hinweis besteuern können.

Es gibt natürlich noch (viele) andere textbasierte (Aufzeichnungs)-Formate (z.B. *.csv, *.hrm). Meiner Erfahrung nach gibt es mit diesen Formaten eher selten Probleme, was auch darin begründet liegt, dass es sich dabei um keine echten Protokolldaten handelt, sondern diese Formate synthetisch von zwischengeschalteten Tools und Programmen (oder den Geräten selbst, allerdings erst nach Abschluss der Aufzeichnung!) generiert werden. Kein mir bekanntes Gerät (reine Datenlogger mal ausgenommen) zeichnet die Daten - mit Ausnahme von *.gpx und *.tcx Dateien - intern in einem textbasierten Format auf.

Binäre Daten:

Bei binären Daten (*.fit und diverse proprietäre Formate) sind die Reparaturmöglichkeiten doch relativ begrenzt. Zum einen hat man keinen direkten Zugriff auf die einzelnen Parameter, zum anderen ist schon etwas Informatikwissen unabdingbar, wenn man an binären Daten herumpatchen will.

Daher will ich an dieser Stelle nur auf zwei Reparaturwerkzeuge für das FitFile-Format verweisen, die quasi automatisiert versuchen zu retten, was noch (und für den Normaluser nicht mehr) zu retten ist.

  • FitFile Repair Tool
    (Wirklich mächtiges offline FitFile Repair Tool, das neben der eigentlichen Reparatur korrupter Fitfiles viele weitere Funktionen bietet. Defacto handelt es sich hier um eine sehr mächtige Toolbox. Mittlerweile handelt es sich dabei auch nicht mehr nur um eine Toolbox, sondern man kann das Tool schon als eigenständiges Auswertungsprogramm erachten.
    In eigener Sache: Mathias, der Autor des FitFile Repair Tools, hat mir bei der Implementierung des Strava Uploaders - Strava ist bzgl. des FitFile Formats nämlich sehr wählerisch -, mit Rat und Tat zur Seite gestanden. Daher will ich an dieser Stelle die Gelegenheit ergreifen, mich bei ihm noch mal explizit zu bedanken.)
  • Online Fit Repair Tool

Auch hier gilt, bevor ihr euch bzgl. vermeintlich korrupter *.Fit Dateien verrückt macht, erstmal schauen, ob es vielleicht eine neue Version des Auswertungsprogrammes eurer Wahl gibt, das mit den betreffenden Dateien unter Umständen fehlertoleranter umgehen kann. 

Garmin (resp. Dynastream) hat unlängst das FIT 2.0 Format eingeführt, welches gegenüber dem FIT 1.x Format grundlegend erweitert wurde. Das hatte zur Folge, dass Auswertungsprogramme, die das FIT 1.x Protokoll unterstützten, FIT 2.0 basierte Fitfiles nicht (mehr) importieren konnten, sondern der FitFile-Import zuerst entsprechend angepasst werden musste (siehe auch meinen Beitrag im Tour Forum und die enstprechenden Ausführungen bzgl. der TrainingLab Pro Vers. 7.12, die dahingehend angepasst wurde).

Das sind übrigens keine Programmfehler, sondern das Format hat sich wie gesagt grundlegend geändert und wurde Seitens Dynastream auch als groundbreaking deklariert.

Dies mal als kurze Einführung zum Thema Datenrettung diverser Sportprotokolldaten.

Again, mir ist klar, dass ich hier nur ein paar Anregungen geben konnte.

Fazit: mittels etwas Forscherdrang kann man den ein oder anderen Komplementärschaden egalisieren. Zum Teil wird man um diverses Fachwissen, welches man sich aber mit Madame Googles Hilfe aneignen kann, nicht umhin kommen. Auch kann man auf die Dienste diverser Reparaturtools zurückgreifen, die zum Teil wirklich Erstaunliches leisten.

To be continued...


Keine Kommentare: