ランニングの記録は、いつも、GARMINで測定して、GARMINのサイトにアップしています。月間走行距離もGARMINのサイトで計算してくれるので便利です。

一方で、私の手元にはそれ以前にNike+で走った記録があります。今まで走った距離や時間、ペース等々をまとめるにはこの二つの記録をまとめておく必要があります。

GARMINで測定した記録は、サイトに送られると同時に、一時的に手元に XML の形式で残っていますので、これを取り出して集計するツールを、Perlを使って作っていました。Nike+のデータも似たような形式になっているので、これで二つのデータを簡単にまとめることができています。

GARMINではXMLファイルの中にラップごとに経過時間 (秒) と走行距離 (メートル) が下のように記録されています。


<TotalTimeSeconds>2883.4660000</TotalTimeSeconds>
<DistanceMeters>5000.0000000</DistanceMeters>


作ったツールはこれを取り出して集計するものです。一昨年、GARMINの405CXを導入して以来、このツールで問題なく集計できていました。

さて、最近、LSDの途中でコンビニ休憩をはさむようになりました。4時間も走り続ける根性が無くなってきたようです…。それはそれで困ったことなのですが、別の困ったことが起きました。

休憩の間、時計を止めているのですが、そのときに限ってツールで計算したタイムと実際のタイムが違っていることに気がつきました。例えば、先日の4時間のLSDではほぼぴったり4時間で時計を止めたにもかかわらず、私のツールが吐き出した時間は4時間16分56秒…。17分近くオーバーしています。コンビニ休憩の他にもう一度、自販機給水休憩でも時計を止めていたので、その合計がオーバーしたタイムなりそうです。

今まで、途中で休んで時計を止めることがなかったので気がつかなかったのですが、どうやら集計ツールの動作が正しくなく、時計を止めた時間も計算に入れてしまっているようです。休憩を入れたラップのデータを見ると


<TotalTimeSeconds>2528.2510000</TotalTimeSeconds>
<DistanceMeters>5000.0000000</DistanceMeters>


となっています。ラップタイムは2,528秒、42分08秒になります。が、キロ7分30秒のペースで走っていたのでもっと時間は短いはずです。実際、GARMINのサイトのデータを見ると36分34秒。6分ほど長くなっています。時計を止めている間も含んだ時間になっている可能性があります。

ならばどこかに正しい時間が記録されているはず、と調べてみたのですが見つかりません。唯一みつけたのが


<AvgSpeed>2.2790000</AvgSpeed>


名前からして速度を表すデータです。距離がわかって速度がわかれば時間もわかります。試しにこの区間の距離5,000(メートル) をこの数字で割ってみると

5,000 / 2.279 = 2193.94471

これを秒だとすれば、36分34秒。ぴったり区間タイムになります。ということで、走った時間はこのラップタイムの合計にすれば良さそうです。

ところが405CXで記録したデータにはこの項目がありません。そのときは今まで通りに経過時間で集計することにしました。おそらく、405CXでは途中で時計を止めるとそこでラップを刻むことになるのだと思います。やったことはありませんが…。

ということで、610で計ったデータのみ再計算して、完了。明日からは610を使って途中で休憩しても大丈夫。安心して休めます!!