Go for it!

モーターサイクルと自転車とキャンプの日々。

Golden Cheetahのデータフォーマット

Golden Cheetahの日本語化パッチが無事にメイントランクへマージされて喜んでいたのも束の間、「ローカライズしちゃいけない部分」まで日本語化していて、変なデータが作成されるようになってしまいました。

でもなあ、これ、データ設計に問題があるよ…。

[ad#text_only_square]

Golden Cheetahは.gcファイルという独自ファイルでの記録をサポートしています。このファイルには、Garmin TCXやPowerTap CSVには含まれない、インターバル毎の出力(peak 5se, peak 20secなど)、トレーニング時のコメント(自分で書くやつね)などが記録されるようになっています。

しかし、このデータフォーマットが悪い。以下はある日のトレーニングのログです。

[code lang=“xml”] <!DOCTYPE GoldenCheetah> (略) <intervals> <interval stop="5053" name="1" start="0" /> <interval stop="1384" name="Peak 5s (639 ワット)" start="1379" /> <interval stop="1385" name="Peak 10s (482 ワット)" start="1375" /> (略) </intervals> [/code]

name属性の値に出力値が含まれてしまっている。出力値は別の属性にするか、要素内に入れて欲しいなあ。※「ワット」と日本語化されているのは私の仕業です。ごめんなさい。

私の提案は以下のように分離すること。

[code lang=“xml”] <!DOCTYPE GoldenCheetah "GCXML1.1"> (略) <intervals> <interval stop="5053" name="1" start="0" /> <interval stop="1384" name="peak_watts" seconds="5" watts="639" start="1379" /> <interval stop="1385" name="peak_watts" seconds="10" watts="482" start="1375" /> (略) </intervals> [/code]

要点は、

  • DOCTYPE宣言にバージョン番号を入れて互換性維持
  • 項目名(peak n sec)と出力を分離
  • インターバル秒数も分離
  • 表示処理部で国際化

です。

shampooさんに伝えたいけど、うまく伝えられる自信がない。ので、Google Translateで翻訳したURLを投げてみます。

[ad#text_wide]