スイムトレーニングの各心拍ゾーンとトレーニング時間をトレーニングピークスで確認しようと思ったんですけど、五島のロングトライアスロンレースでの実績データしか取り込まれていないことに気がついた時のことです。
Garmin connectでは心拍データを取り込んでいるのに、なぜトレーニングピークスにデータが反映されないのか疑問に思いました。
調べた結果、その理由および対策がわかったのでまとめておきます。
わたしはGarmin735xtjを使用しておりますが、他の機種であってもHRセンサーTriを使用していればおそらく同様の対応でよいと思います。
理由
Garmin735xtjとHRセンサーTriを使ってスイムのワークアウトを行うと、心拍データはHRセンサーTri内に一旦格納され、ワークアウト終了時にHR-Triから心拍データをダウンロードすることでGarmin735xtjに保存されます。
この時点で心拍データはGarmin735xtjに保存されることになります。
次にこのデータをGarmin connectに転送もしくは同期する際、ここでも問題なく全てのデータが同期されます。
Trainigpeaksを利用している方はGarmin connectとの自動同期にしていると思いますが、この際、OWS(屋外スイム)の場合はTCXデータとして、プールスイム(屋内スイム)の場合はFITデータとしてTrainingpeaksに同期されます。
そして、TCXデータは心拍データを有しており、FITデータは心拍データを有しておりません。
これがプールスイムのデータにて、Trainigpeaksで心拍データを確認できない理由になります。
対策
まず、PCのGarmin connectからあるスイムのワークアウトをTCXデータとしてエクスポートします。
そのエクスポートされたファイルをTrainingpeaksでインポートすれば、心拍データが取り込まれ、心拍ゾーンのDurationの確認およびその集計が可能になります。
注意点
ただし、いくつかの問題点がありますので、それを理解しておく必要があります。
こちらがオリジナルのデータです。
こちらがGarminにてTCXでエクスポートしたデータをTrainingpeaksでインポートした結果です。
TCXデータのDuration(トレーニング時間)は、トレーニング開始からトレーニング終了までのトータルの時間としてみなします。
つまりレスト時間も含みます。
移動距離は、ワークアウトで泳いだ総距離になります。
強度(IF)算出に用いられる平均ペースは、総距離/Durationで計算されるので、実際よりも遅いペースになります。
したがって、低いIFになります。
sTSSは100 x Duration(hrs) x IF^3で計算されますので、IFの項の変化の効き方がDurationが長くなる影響よりも大きく、その結果sTSSが小さく見積もられてしまいます。
心拍データはトレーニング時間における連続したデータとして保存されることになります。
ただし、レスト時の心拍データと泳いでいるときの心拍データの区別はつきません。(これがもどかしい部分でもあります。)
OWSがTCXデータでもIFやsTSSに問題がないのは、ほとんどの場合レストを入れないからです。
特にレースデータはそうなりますね。
海の真ん中でレストを取った場合は、タイムが長くなることで平均ペースが下がることになるので、この場合も正しく計算しているといえましょう。
一方、FITデータではプールスイムにおけるインターバル間の時間、つまりレスト時間は除外されます。
泳いだ距離は、25mもしくは50mプールでの往復回数にてカウントされます。
この距離と正味泳いでいる時間から平均ペースおよびIFが求められます。
これらを用いると正しいsTSSが求められます。
トレーニングピークスでのデータの融合
トレーニングピークスではTCXデータとFITデータを融合できるのですが、現時点では心拍データのみTCXデータを引き抜くような都合のよい融合ができないようです。
説明します。
このようにひとつのワークアウトに、複数のデータファイルを取り込むことは可能です。
また、二つのデータを共存させると、ワークアウトデータも重複してしまうので好ましくありません。
特にTSSのデータが重複カウントされてしまうのが問題です。
まとめ
今思えば、スイムトレーニングはスピードゾーンだけでトレーニング負荷管理をすればよいと思っています。
わたしは、せっかく測定しているデータが分析に使えないのもなんだか違和感があり、調べてみたわけです。
実用的には用途に応じて、どちから片方だけを使うようにするばよいかと思います。
将来的には、FITデータで心拍データが同期されるようになるとよいですね。