-絶え間なく鍛えた者だけに栄誉が訪れる-

2008-09-27

Convert to hrm-Fr305のデータをPPPSWで使う為に-

Fr305のお金も払ったし、完全に僕のものになった(笑)。

Fr305のLogはSportTracks2(以下ST2と表示)で管理するのが良さそうだというのが今のところの判断だ。

僕がPolarのPPPSWを好んで使っているのはトレーニングに於ける強度(負荷)割合の期間比較が一見性に優れている点にある。
今年の釧路湿原マラソンの反省(文中「本当に練習が足りなかったか」を参照されたし)にも添付した画像の通り、1週間のトレーニング時間における強度割合が一見して分かるグラフが作成できる。しかも、一画面あたり3ヶ月間の推移が分かるようなグラフになっており、よくある目標レースに向けた3ヶ月間の練習の内容が分かりやすく表示されている。
脚筋には3種類あって、マラソントレーニングとはこれら3種類の脚筋をバランス良くトレーニングすることが必要とされている(詳細は「フルマラソン3時間の壁に挑むエリートランナーを目指す」を参照)。
これを実践、チェックする為には、PPPSWで作成するグラフが非常に効果的だと思っている。

ST2でhrmにエクスポートできればなんら問題ないのだが、残念ながらこれが出来ない(できるかもしれないが僕の調べた限りできない)。
ST2でエクスポート可能なファイル形式は「gpx」と「fitlog」だが、PPPSWで管理したいのは心拍数データだ。詳しい方はご存じだろうがgpxは位置情報なので心拍数データはエクスポートされない。必然的にfitlog形式をhrm形式にコンバートするツールが必要になる。
ここ二日間、fitlog形式をhrm形式にコンバートするツールを探してみたが、どうやら存在しないようだ。

つらつら考えてFr305のlogをGarmin謹製のTCに取り込み、tcx形式でエクスポートして、さらにtcxからhrmにコンバートしてはどうかな?と思い当たった。
コンソールを使いコマンドを打つというやや面倒な方法ではあるが、Octaveを使って(他にtoolというモジュールというかも必要だけど)tcx2hrmなるコマンドでコンバートができるという情報を見つけた。


早速試してみた。確かにhrmは生成されているPPPSWでhrmを読み込んだのが左の通り。
直感的になんかおかしい。赤いラインが心拍数の推移だろうと思われる。図下に凡例があるので確認すると、赤:心拍数、赤茶:高度、青:ペースという表示のつもりらしい。
グラフで赤に見えたのは実は赤茶で「高度」の推移だということが分かった。それにしても乱高下しつつ推移しているように見える。青ラインも凡例的にはペースのようだが...違っているように思える。また、継続時間は正しいが、日付、時刻、距離は間違っている。明らかにコンバート失敗だ。というか欲しいのは「心拍数」の推移なので、高度もペースもどうでも良い(笑)。

そこで吐き出されたhrmファイルとPolarのhrmを比較しつつ、つらつらながめてみた。コンバート後のhrmをどうにか加工するよりtcxやfitlogから自分でhrmを生成した方が確実そうだということが分かった。

そして、重要なことはPolarのデータは5秒ごとに記録されているが、Fr305からのデータはtcxを見てもfitlogを見てもランダムな間隔(スムーシングの関係なんかだとおもうけど)で記録されている。
またPolarのデータ[HRData]は全運動時間を5秒で割った数だけ登録されている。

(データ数(n)=全運動時間(sec)/5sec)
100秒の運動時間なら20個の心拍数が登録されている。この数は[Sammary-*]に記述されている数と一致しないと駄目みたいだ。
なんとなく分かったので、既にあるPolarのhrmデータを修正・編集することによってPPPSWに読み込んで見ようと試行する(ただし、今回はあくまでテストなので完全手作業(大笑)によるコンバート作業を行った)。

やりかたはST2からエクスポートした fitlog がXMLで記述されているので、このファイルの拡張子をXMLに変更、エクセルでこれを読み込み、目視確認しながら(時にはコピペを使って)手作業でhrmファイルを作るというものだ。
心拍数データの数については、全運動時間に見合う数に調整(間引きしたり、仮の値を入力するなど)、Lapデータは手作業では記述が面倒なので全運動距離を1Lapとして作ってみた。

全運動時間は1時間1分4秒なので3664秒、5で割ると「732」個の心拍データが必要ですがfitlogに記録されている心拍数データの数は「678」個、54個の心拍データを追加(ねつ造)してやらないといけません。([Sammary-*]に記述されている数と一致していればいいので、[Sammary-*]の記述を変更すれば良いのだけれど、54×5sec=4分30秒分運動時間を短縮しないと整合性がとれない。)
全運動期間中の運動強度の割合を心拍数で求めたいのだから、ここは全運動時間中に見合うデータ数を作ることにした。

おおむね5秒ごとに心拍数が記録されているかのように作るのは面倒だった(笑)。



で、一応、出来た。
左枠の画像が自作hrmからPPPSWで描画した心拍数グラフ、この枠内のものはST2で生成した心拍数推移グラフである。横軸の長さが違うが、波形の傾向は一致する。(というか、同じデータだし)


自作hrmで心拍カーブが描画されることが分かったが、PPPSWにエクササイズファイルとして登録され、集計的な分析が可能な状況にならなければ意味がない。

「新しいエクササイズの追加」で「エクササイズ1」を作成、”心拍カーブのプレビュー”の右側の「添付」のボタンを押下すると自作hrmファイルを指定することができる。そうすると左のようになる。


やりたいことのだいたいのところはできることが分かった。

あとは、これを自動化すればいいのだが....
Fr305のLogが5秒毎に記録されていれば全くもんだいないのだが....記録されているレコード数をもって[Sammary-*]へ記載し、レコード数の整合性を保てば(PPPSWでの延べ運動時間が変わる可能性はある)、エクセルのマクロ機能なり、Perlなりで処理の自動化が可能だろう。

手作業でのやり方が分かったので、じっくりとPerlスクリプトでも書いて自動できるようにするか(ま、いつになるんだ:苦笑)

8 コメント:

匿名 さんのコメント...

こんばんわ

うーん、たしろさん すご杉w

私みたいなPC音痴には考えつくことすらできません。

ここでひとつ大馬鹿な質問していいですか?

PPPSWに取り込んだ「その日のグラフ」って

どうやってブログにうpできるんですか?

心拍数やペースなどが出ているグラフです。

ソフト左上に「メールに添付」とかありますよね。

メールにデータを添付するまではいいのですが、

いざそのファイルを開こうとしても、

「ファイルが開けません」って出ちゃうんです。

超アホな質問かも知れませんが助けて下さい。

たしろ さんのコメント...

To:吉田さん
ブログにうpする方法ですが、要はイメージ画像(jpg、pngなど)にすれば良いのです。
方法ですが、色々あるのですがプリントスクリーンが最も簡単だろうと思います。
キーボードに「PSc」という刻印のあるキーがあると思うのですが、これを押すとディスプレイの状態が画像して「クリップボード」に積まれています。
そこで、いわゆるイメージ処理ソフトを起動して「貼り付け(ペースト)」をしてやると画面の画像がそのまま表示されるハズです。それを任意の場所に保存して(jpgなど)、Blog等に画像としてうpすれば良いと思います。
イメージ処理ソフトはWindowsには「ペイント」が標準装備されていますが、これでも出来ますし、デジカメの添付ソフトについているものでもできると思います。
PPPSWの「メールに添付」はエクササイズデータ(*.hrmと*.ppd)をzipに固めてメールに添付して誰かに送るための機能だと思います。なので、「開けません」って出るだと思います。

たしろ さんのコメント...

To:吉田さん
プリンターと同じ使い方で印刷するとjpegやtiffなどのイメージ画像が作成できるPRTGRAPHが便利です。下記をご覧になって使ってみてください。
http://www.ksky.ne.jp/~yamama/prtgraph/index.htm

匿名 さんのコメント...

こんにちは

お返事ありがとうございます。

早速壁にぶつかりました。
私のはマックでウィンドウズを動かしているので、キーボードがマック用なんです。なので「PSc」というキーがないんです。そんでもってPRTGRAPHをインストールし試しました。ファイルができたのですが、レイアウトがずれていたりして、そのものを表現できておりません。うーん、困った・・・

たしろ さんのコメント...

To:吉田さん
申し訳ない!僕はMacを使ったことがないので全然分かりません。お役に立てません。

たしろ さんのコメント...

To:吉田さん
ちょっと調べてみました。
PScキーと同じ効果が下記のURLで紹介されています。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?queId=8021424
僕はMacユーザーではないので詳細を確かめる術がありませんが、一応情報提供です。

匿名 さんのコメント...

ありがとうございます。

あとでやってみますね〜

匿名 さんのコメント...

やってみました。

結果はダメでした。何がダメかというと、マックでマックを動かしているならその技が使えるのですが、マックでウインドウズを動かしているのでダメだったみたいです。

お忙しいところ、本当にありがとうございました。

うーん、まだまだ先は長い・・w