2017/01/04 さて、今回はフィットネスデータの加工ネタとなります!!なぜなのか?なぜ今!?WirelessLANのお話しをほおっておいて申し訳ありません。><大会まで時間がないのです><【事件発生】そうなんです。Garmin VIRBも買ってしまったからですね。><元々GPSスポーツウォッチではTOMTOM愛好してますが、VIRB買ったらVIRB Editしたいでしょ!ということで、Tomtom Runner GardioのフィットネスデータをVIRB動画にシンクロしたくなったという流れです。で、これ、やってみました。が、ちょっと残念なことがありまして、Editに引き渡す前にデータ加工をしてしまえ!ということになったわけです。【フィットネスデータ】Tomtomと言えば、Nike と違って、オンラインで管理されるフィットネス状況を、各種フィットネスデータとして、いつでもダウンロードすることができます。標準フィットネスデータ規格のTCX、FIT(Garminで標準的に利用するthisisant)、GPX(山岳GPS用)などなどのほか、RawデータとしてCSVも書き出してくれます。で、VIRB Editで互換性があるのが、FITとGPXなのですが、よくよく見てみますと、色々と足りないものがあります。(FITはバイナリでパーシングエンジンを作らないと加工できませんので、ここでは放置します。) そう、CSV生データには、カロリーとケイデンス(ストライド)が記録されてますね。でもGPXには、心拍数はありますが、ストライドは記録されていません。もちろんFIT形式にもサイクルモードでない場合は、ケイデンスは出力されません。【規格の確認】ところで、GPXはもともと山岳GPS用なので、ケイデンスは不要だし、サイクルじゃないからFITでケイデンスが出ないのは当たり前では?と思います。「でも生データとしては、ストライドをケイデンスとして記録している。」ということで、thisisant.comに行ってFIT SDKをゲットして規格を確認しますと、面白い。ケイデンス(cycles)は、スポーツの形態によってはストライドとして活用されることもあると書いてあります。そして、GPXの規格も確認します。おお、ありますね。GPXの拡張機能に「cadence」エレメントが!! 【VBAで作っちまえ!】てことは?そうですね。TomtomからのダウンロードをCSV形式にして、VBAでGPXに変換しちゃおう!ということです。GPXは、幸いにしてXMLですから、出力は簡単です。そして、ソースはCSVですから、Excelの得意分野ですね。で、軽めの実装で、こんな感じで久しぶりのExcel-VBAでCSV2GPXを作ります。【結果】Editにインポートしてみますと、おお!ケイデンスが認識されました!Editでケイデンスメータをストライドメータに加工すれば、ピッチが分かりますね!!ピッチを上げる練習もしたかったので、助かりました。。。本当は、カロリーも入れたいんですけど、GPXにはカロリー枠がありませんので、そこまでやるとしますと、FIT加工ですかね。これは、暇があったらやります。もったりXCスキーもテキパキになるように頑張ろう。【ダウンロード】ダウンロードは、こちらです。良かったらどうぞ。無償無保証です。(x) https://flora.frontea.com/m/CSV2GPX.xlsm 追記:おっと時刻計算間違ってるようなので、そこは自己修正でお願いします。微調整済みバージョンを、mr2サイトに掲載しました。