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

2008-09-28

SportTracks2のデータをPolarPrecisionPerformanceSWに取り込む方法

昨日 Convert to hrm を書いたら読者から「もっと具体的に書け!」という私信を頂戴した。自分でその記事を読み返してみると「できる」ことは分かった。でも、どうやったの?と疑問はあるな。と素直に反省、自分の作業メモとしても有用なので一応まとめを書いてみようと思った。
しかし、適当なデータは既にPPPSWに取り込んでしまったので、作業する適当なデータがない。ないなら作れば良いわけで、昼飯を食ってから走ってきた(ブラ紐の調整もあったし、ついでといえばついでだな)

で、どう噛み砕いて書けば分かりやすいのか(作業しやすいのか)とつらつら考えたのだが、パッとしない。

色々試してみたら、hrmファイルは面倒な編集がなくても大丈夫そうなので、hrmファイルのどの部分にST2からエクスポートしたfitlogファイルの心拍データをペーストするかを中心に書く。

したがって、hrmのファイル構成(記述内容の意味)については極力触れずに書く。
(注意事項としては、「ファイル名」の変更が必要なので、これが出来ない人は残念ながら諦めた方がいいかもしれない。)
昨日の記事に書いたOctaveというツールは使わず、テキストエディター(Windowsの「メモ帳」)とエクセルを使って「手で編集」「コピー&ペースト」を使った方法を書くことにした。

また、当然のことながらSportTracks2とPPPSWがインストールされている必要がある(勿論使える状態であること)。
Polar Precision Performance SW Ver.4 のフリー版がある。以前はPPPSWをインストールする時にIDなんかを聞かれた記憶があるが、このFree版になってどうなっているのかは試していない が、もし、PolarのIDがなくても動作するようなら既にFr301、Fr305、Fr405をお持ちの方はPPPSWにデータを移行し管理するのも悪 くないと思う。
入手先はPolarのダウンロードサイトから探してみて欲しい。
ついでなので、書いておくがSportTracks 2 の入手先は Zonefive のサイトからどうぞ!
昨日、Fr305からはき出されるデータについて、その記録間隔がランダムであるようだと書いた。Fr305のセッティングによっては1秒毎(毎秒)記録することもできることを書き加える。
一方、S610i(Polarの心拍計)の記録間隔は5秒、15秒、60秒の3つのうちから選択、設定するようになっている。僕の場合は「5秒」であった為、全運動時間を5秒で割ったデータ個数が必要だった。
精度を上げるならFr305の記録間隔を毎秒に設定しておき、記録されたデータを5秒間隔で1個だけとりだしPPPSWに取り込む方法が良いように思えるが、Fr305の記録領域(3時間半分の記録しかできない)、hrmを作成する際の手間を考えるとFr305の記録間隔はSmart Recordingにしておいた方が良いような気がする。
ということで、SmartRecordeingによるデータは少々データの欠落はあるものの、エイ!ヤァーでできるので、この設定で取ったデータを使うことにする。

作業用のフォルダーを作る僕は D:\test というフォルダーを作って作業した。

ひな形用のhrmファイルを用意する
まず、そのフォルダーに既にあるhrmファイルをひな形として使用する為にPolarのデータ領域(通常は C:\Program Files\Polar\Polar Precision Performance\登録ユーザー名\2008の中にある)から適当な(なんでも良い)hrmファイルをコピーして、先のtestフォルダーに入れ る。
ST2のエクスポート機能を使ってfitlogファイルを上と同じフォルダーに保存する。

そうするとtestフォルダーには、こんな感じのファイルができているハズ。

fitlogのファイル名を変更する
08092802.fitlogを右クリックして「名前の変更」を選び、08092802.xmlと赤字のように変更する。
エクセルを起動し、08092802.xmlを開く。「XMLを開く」の注意が出てるが、「XMLリストとして開く」を選んで「OK」。
その後、なんじゃらかんじゃらと聞かれるが「OK」、「XMLインポートエラー」がでるが「OK」すると下記のような一覧表が表示される。


エクセルの表に書かれているもの
左は、とりあえず作業に関係のありそうな部分だけを表示した状態。

・H列は運動総時間(秒)
・I列は延べ移動距離(m)
・J列は運動期間中の総カロリー
・M列はオートラップによって刻まれたLapタイム(秒)
・V列の「StartTime10」はスタートボタンを押したGMT(標準時刻)なので、日本時間にするには9時間を加算してほしい。この例の場合だと「2008-09-28T04:51:30」なので、日本時間に直すと「2008-09-28T13:51:30」(2008年9月28日午後1時51分30秒)ということになる。
・W列、AA列はスタートからの経過秒数(W列)とそれに相応する心拍数(AA列)。


次にテキストエディター(左はWindowsのメモ帳)で作業用フォルダーにコピーした hrm ファイルを開く。左の様に一見意味不明なデータが並んでいる。データは、下記の[_]でくくられた項目ごとに並んでいる。
[Params]
[Note]
[IntTimes]
[IntNotes]
[ExtraData]
[Summary-123]
[Summary-TH]
[HRZones]
[SwapTimes]
[HRData]

今回の作業で手で編集するのは、赤字で示した[IntTimes][HRData]だけだ。
[IntTimes]の編集[IntTimes]はおよそ下記の通りになっている。時間の表示から、時間の表示の直前までが1Lapのデータだ。なので、下記の場合2Lap分のデータが保存されている。

[IntTimes]
00:07:12.7 161 114 165 175
0 0 0 0 0 0
0 0 0 0 0
0 1000 0 0 0 0
0 0 0 0 0 0
00:14:55.7 134 129 135 161
0 0 0 0 0 0
0 0 0 0 0
0 1000 0 0 0 0
0 0 0 0 0 0

Lap情報は後でPPPSWで登録できるので、ここでは1Lapのデータを作ることにする。
まず、最初の時間表示から5行を残し、残りは削除する。(下記のような感じ)
[Note]

[IntTimes]
00:07:12.7 161 114 165 175
0 0 0 0 0 0
0 0 0 0 0
0 1000 0 0 0 0
0 0 0 0 0 0

[IntNotes]

[IntTimes]データの意味するもの[IntTimes]はTabで区切られている(スペースではないので注意)が、僕が分かった意味は下記の通り
1行目
Lap時間Lap時の心拍数
Lap中の
最低心拍数
Lap中の
平均心拍数
Lap中の
最高心拍数
2、3行目





4行目

距離(m)



5行目





で、修正しなければならないのは上記の赤字のところ。
修正前
[IntTimes]
00:07:12.7 161 114 165 175
0 0 0 0 0 0
0 0 0 0 0
0 1000 0 0 0 0
0 0 0 0 0 0
修正後
修正したのは赤字のトータル運動時間(hh:mm:ss.?)と距離。

運動時間は先ほどのエクセルのデータのH列をhh:mm:ssにすればよい。
エクセルの時間は1508.99なので、25分8秒99となる。単純にST2の画面から「25分9秒」としてもいいかもしれない。

距離はエクセルのI列5043.919でも良いし、ST2の5.06km(5060m)でも良いかもしれない。
[IntTimes]
00:25:09.0 161 114 165 175
0 0 0 0 0 0
0 0 0 0 0
0 5044 0 0 0 0
0 0 0 0 0 0
心拍数データをコピペする。
エクセルのAA列、8行目から307行目までが心拍数データだ。
まず、メモ帳で修正するhrmファイルの[HRData]以下を全部削除し、エクセルのAA列、8行目から307行目までをコピー、これをhrmファイルの[HRData]のすぐ下の行へコピペすれば良い。
下記のような感じになるはず
[HRData]
120
120
124
.
.
.
延々続く


PPPSWの「ファイル」>>「HRMファイルを開く」で試してみる。
編集したhrmファイルをPPPSWで読み込み、表示してみると下記の心拍数グラフが表示されるはず。

一応、データとしては良さそうなので、これをPPPSWのエクササイズデータとして取り込むことにする。
(一旦、PPPSWを終了させ)
PPPSWのエクササイズデータとして取り込む


カレンダー表示で登録したい日付をダブルクリックすると、左のような感じになる。

中央に表示されたウィンドウの右下の「新しいエクササイズの追加」ボタンを押す。



入力画面の右下の方にある「クリップ」アイコン(時計アイコンの下)をクリック。
左のようになる。
「添付するHRMファイルを選択」から冒頭の作業用フォルダーに格納した編集済みのhrmファイルを選択する。




左の様に「心拍カーブのプレビュー」に心拍数のグラフが描かれているはずだ。

次にこの「心拍カーブのプレビュー」のグラフをダブルクリックして、「心拍カーブ」を編集していく。


心拍カーブの画面で、どこで良いので右クリックすると左のようになる。
ラップタイムを選択し、
下、左から2番目の「新規」を使って種類を「標準ラップタイム」を指定し、Lapタイムを入力していく。
入力はhh:mm:ss形式で
302.67秒の場合は
00:05:02.7
とかの入力になる。

LapタイムはエクセルのM列にあり、先の例でいえば上から
302.67
295.89
302.70
.
.
と続くが、すべて入力すると
こんなかんじ。




で、最終的には左のようなLapデータも付いたPPPSWのファイルができあがる。
以上の通り編集が完了したら「保存」をお忘れなく!

また、心拍カーブのウィンドウを閉じると「エクササイズ」の情報を登録する画面に戻る。
ここで登録したい「開始時刻」、「距離」、「メモ」を入力して欲しい。

ちなみに、作業用にtestフォルダーを作って、その中にhrm、xmlのファイルが残っているが作業完了後は削除してしまってかまわない。
PPPSWで作業して「保存」するとPPPSW所定の場所にhrmファイルとppdファイルが生成されて保存される仕組みになっている。


こうした、手順表を書くのは面倒なものですね。
最後の方はかなり飽きてしまい、そうとう雑になりました。そのうち見直しつつ修正していきたいと思います。

--追記
いろいろなやり方があると思う。
上記に書いたのはこの二日間ほどで試したやり方なので、他に良い方法があるかもしれないし、僕のやり方自体も間違っている可能性もある。
試される方はあくまでも自己責任の範疇でお試しいただきたい。

1 コメント:

吉田 さんのコメント...

たしろさん、すごいですね。PC音痴な私は最初の数行で頭が割れそうになりました(爆)