Edge 705の走行データ(dat)をTCXファイルに変換
5/5の富士山一周以来Edge 705が不調。
詳細は改めてまとめるとして、Edge 705の走行データ(dat)をTCXファイルに変換するテクニックをマスターしたのでまとめてみる。
**
Edge 705の走行データは本来PCに繋いだタイミングでTCX形式に変換されて閲覧可能な状態になるのだけど、それがうまくいかなかった場合は/Garmin/History/Laps ディレクトリ内に残されたdatファイルを以下の方法を使ってtcxファイルとしてねつ造することができる。
1. まともな.tcxファイルを持って来てテキストエディターで開き、最初の"Track"要素から最後に"Track"要素が閉じられるまでの部分を削除。これをtcxファイルのテンプレートとして保存。
2. 遺された.datファイル(Lap1.dat、Lap2.dat・・・)をテキストエディターで開いて内容をコピーして、上のテンプレートの"Track"要素があったところにペースト。
3. "Activity"要素内の"Id"と"Lap StartTime"のタイムスタンプをペーストした"Track"の最初に出てくる"Time"要素内のタイムスタンプに合わせる
これでWKO+やGCで読み込み可能なTCXファイルとして利用可能になる。
TCXファイルの先頭部分に書かれた概要は、Edge 705側で集計した平均値や走行距離・時間。WKO+やGCでは生の走行データから独自に平均値や走行距離・時間を算出するので、テンプレートの先頭部分の概要データはいじらなくても問題は出ない。というか、これこそがEdge 705側の数値とPCにダウンロード後の数値が噛み合ない問題の元凶。
元ネタはこちら。
**
自分の理解だと、Edge 705のデータ保存は以下のようなノリで行われる。
1. 走行中のログは、内蔵フラッシュでもmicroSDでもないユーザが触れない内部フラッシュに保存される。
2. Lapが切られるか、Resetがかけられたタイミングで内蔵フラッシュのLapsディレクトリ内に生のラップ走行情報(.datファイル(TCXのサブセット形式(Trackタグの中身だけ)))が保存される。走行データの概要は、内部フラッシュに保存される。
3. PCにUSBマススト接続されると、内部フラッシュの概要とLapsディレクトリ内の生ログとを組み合わせた形でTCXファイルが生成され、成功した場合はLapsディレクトリ内のデータは消去される。
突然の電源断があった際にTrackpointタグの中身が不定の位置で壊れてることを考えると、走行中の内部フラッシュへの保存もTCXのサブセット形式で行われている可能性が高そう。
Edge 500でTCXをやめて独自のバイナリフォーマットに戻したことを考えると、やはりこの手の組み込みデバイスでXMLを使うのはいろいろ大変だったんだろうなーと推測。