予告していたパワー解析機能をやっと実装しました。何でこういうことをやるかと言うと、最近はGoogleマイマップ、ルートラボ、ヤマレコ、stravaなど競合サービスの充実で需要が限りなく低迷しており、新たな付加価値を付けることしか生き残りの方法がないからです(爆)。
それで一ヶ月近くかけてようやくリリースに漕ぎ着けましたが、まだ積み残しの案件が多くあり、あくまでも暫定公開です。ダウンロードは下のサイトからどうぞ。
またGPSログからパワーを算出する原理は前に解説した通りです。興味のある方はこちらもどうぞ。
パワー解析の使い方
パワー解析を行う前に「オプション→パワー解析の設定」を開いて体重・身長・車重などのデータを入力しておかなければなりません。
これがちゃんと設定されてないと正確なパワーは求められません。といってもそんなに大幅に変わるわけじゃないので、わからないところはデフォルトのままでOKです。
ちょっと迷うのは自転車+装備の重量だと思いますが、もちろん自転車だけでなく、ライトやバッグ類、ボトルの水まですべて含みます。そして不思議に思うかもしれませんが、ウェアやシューズも自転車の側に含めるのが正しいです。なぜかというと体重と身長は空気抵抗の見積もりにだけ使用し、それ以外は全重量で計算するからです。体重と身長から空気抵抗を計算するのはちょうどBMIのようなもので、ウェアの重さは関係ありません。とりあえず普段と同じ装備で自転車を持って体重計に乗り、後から体重を差し引いて下さい。
Garminやスマホでログを取得したらGPXあるいはTCXに書き出して轍にインポートします。そして「トラック」タブを開いて読み込んだログをクリックして選択、そこで右クリックするとポップアップメニューが表示されます。
ここに追加された「トラック解析・ラップ解析・ヒストグラム解析」がパワー解析に関するものです。さらにサブメニューがありますので、矢印の先を開いて下さい。
新機能の紹介
トラック解析
トラック全体の解析を行うものです。「パワー表示」を選択すると下のようなダイアログが開いて情報が表示されます。
ここで「平均パワー」とはトラック全体のパワーを時間で平均したもので、「どのくらい頑張ったか」を表します。下り坂などでペダルを止めている間も出力0Wとしてカウントされますので、休んでいる時間が長いほど平均パワーは下がります。ただし停止している時間は除外されます。
「最大パワー」とはその名の通り記録された最大のパワーという意味ですが、単にピーク値を取っても1000W超とかあり得ない値が出てくるので意味がありません。それはGPSの誤差によるノイズです。そこでできるだけ正確に最大パワーを求めるため、統計的な手法により95%の確度で最大パワーを推定しています。
「出力エネルギー」というのは、ライド中に行った全仕事量を表します。単位はkJ(キロジュール)です。これはおおよそ消費カロリーに比例すると考えて差し支えありません。主にコースの距離と起伏によって決まり、「コースのしんどさ」を表すものと考えられます。走るペースにはあまり影響されません。ただし平地では空気抵抗が大きいため、走行スピードが高いほど大きくなります。
「CSV出力」を選択すると、Excelで読み込み可能なCSV形式でリアルタイムのデータを出力します。これはトラックの全ポイントについて瞬間的なパワーを計算したもので、時系列で分析したい場合に利用できます。
「ブログパーツ出力」を選択すると、次のようなテーブルをブログに埋め込むためのHTMLタグをクリップボードにコピーします。ブログにペーストするだけで簡単に使えます。
走行距離 | 62.12km | 移動時間 | 03:39:22 |
移動平均速度 | 16.8km/h | 最高速度 | 47.1km/h |
獲得標高 | ↑757m ↓758m | 出力エネルギー | 1004.4kJ |
平均パワー | 73.1W | 最大パワー | 221.0W |
ラップ解析
ラップ解析とは、一定の距離ごとにログを区切り、区間内で平均パワーなどを算出してラップごとの変化を分析するものです。
「CSV出力」を選択すると、Excelで読み込み可能なCSV形式でラップデータを出力します。ラップの距離は任意に設定することができます。Excelのグラフ作成機能を使って、下のようなグラフを作成することができます。
平均パワーの変化を見ると、どこでサボっていたか、また脚が売り切れてヘタれてきたかを知ることができます。
「ブログパーツ出力」を選択すると、次のようなラップデータ一覧表をブログに埋め込むためのHTMLタグをクリップボードにコピーします。
ラップ | 移動時間 | 平均速度 | 獲得標高 | 平均勾配 | 平均パワー | 出力エネルギー |
---|---|---|---|---|---|---|
2.0km | 00:05:57 | 20.2km/h | ↑16m ↓9m | 0.35% | 93.2W | 32.34kJ |
4.0km | 00:06:53 | 17.4km/h | ↑33m ↓6m | 1.35% | 100.3W | 42.23kJ |
6.0km | 00:07:04 | 17.1km/h | ↑14m ↓13m | 0.05% | 62.4W | 26.07kJ |
8.0km | 00:07:18 | 16.3km/h | ↑27m ↓0m | 1.36% | 85.9W | 37.30kJ |
10.0km | 00:06:25 | 19.2km/h | ↑29m ↓40m | -0.53% | 85.9W | 33.25kJ |
12.0km | 00:03:28 | 33.1km/h | ↑0m ↓38m | -1.99% | 83.6W | 17.65kJ |
14.0km | 00:04:52 | 24.5km/h | ↑3m ↓39m | -1.78% | 65.1W | 19.07kJ |
16.0km | 00:04:43 | 25.7km/h | ↑12m ↓31m | -0.94% | 89.7W | 25.30kJ |
18.0km | 00:06:53 | 16.9km/h | ↑8m ↓72m | -3.23% | 50.2W | 20.63kJ |
20.0km | 00:05:40 | 21.1km/h | ↑18m ↓6m | 0.60% | 96.9W | 32.75kJ |
22.0km | 00:05:53 | 20.2km/h | ↑12m ↓3m | 0.45% | 81.1W | 28.79kJ |
24.0km | 00:05:51 | 20.5km/h | ↑15m ↓4m | 0.55% | 85.2W | 30.08kJ |
26.0km | 00:07:58 | 15.1km/h | ↑26m ↓3m | 1.15% | 71.3W | 33.95kJ |
28.0km | 00:05:55 | 20.4km/h | ↑17m ↓8m | 0.45% | 82.5W | 29.28kJ |
30.0km | 00:08:47 | 12.7km/h | ↑24m ↓8m | 0.81% | 56.1W | 29.62kJ |
32.0km | 00:08:22 | 14.3km/h | ↑29m ↓1m | 1.39% | 73.3W | 36.82kJ |
34.0km | 00:08:53 | 13.1km/h | ↑49m ↓3m | 2.33% | 92.7W | 49.51kJ |
36.0km | 00:09:40 | 12.1km/h | ↑44m ↓12m | 1.60% | 77.7W | 45.09kJ |
38.0km | 00:06:03 | 19.8km/h | ↑24m ↓10m | 0.70% | 91.6W | 33.15kJ |
40.0km | 00:07:17 | 16.6km/h | ↑31m ↓3m | 1.39% | 96.5W | 42.27kJ |
42.0km | 00:08:05 | 14.6km/h | ↑33m ↓2m | 1.56% | 73.9W | 36.35kJ |
44.0km | 00:09:08 | 13.1km/h | ↑44m ↓0m | 2.20% | 86.7W | 47.00kJ |
46.0km | 00:14:36 | 7.7km/h | ↑34m ↓6m | 1.40% | 46.2W | 40.00kJ |
48.0km | 00:13:31 | 8.9km/h | ↑102m ↓0m | 5.12% | 105.3W | 86.59kJ |
50.0km | 00:10:48 | 10.3km/h | ↑69m ↓44m | 1.26% | 92.0W | 59.96kJ |
52.0km | 00:04:54 | 24.7km/h | ↑0m ↓158m | -7.86% | 11.8W | 3.44kJ |
54.0km | 00:03:29 | 35.3km/h | ↑0m ↓90m | -4.40% | 33.7W | 6.88kJ |
56.0km | 00:04:28 | 26.0km/h | ↑3m ↓39m | -1.85% | 50.2W | 13.44kJ |
58.0km | 00:04:30 | 26.6km/h | ↑8m ↓62m | -2.72% | 86.7W | 24.02kJ |
60.0km | 00:04:27 | 27.1km/h | ↑2m ↓24m | -1.10% | 71.4W | 18.62kJ |
62.0km | 00:06:58 | 17.3km/h | ↑11m ↓6m | 0.25% | 52.8W | 22.11kJ |
62.1km | 00:00:36 | 9.5km/h | ↑0m ↓1m | -1.03% | 3.0W | 0.13kJ |
このデータは『轍 Wadachi』で作成しました。
ヒストグラム解析
ヒストグラム解析とは、パワーを強度別に区切り、どのように分布しているかを分析するものです。現在はCSV出力のみ対応しています。Excelに読み込むことによって下のようなヒストグラムを作成することができます。
ここで横軸はパワー、縦軸はパワーが出力された時間の合計を秒数で表しています。このグラフがピークになるところは自分にとって「最も出しやすいパワー」であることがわかります。そしてパワーが大きくなるほど出せる時間は短くなっていきますが、あるところで急激に落ちるのが特徴です。つまりそのパワーが自分が持続的に出せるパワーの上限であり、いわゆるFTPに近いと考えられます。
精度について
一番肝心なのはパワーの精度ですが、あいにく自分はパワーメーターを持ってませんので実測で比較することはできません。もし持っている方がいれば比較して報告していただければ幸いです。
stravaの推定パワーよりは少し低い値が出るようですが、こちらの方が正しいのではないかと思っています。というのもstravaは獲得標高がめちゃくちゃ大きく出るため、パワーも高めに計算してしまっているからです。轍で一番苦労したのはこの部分です。獲得標高をできるだけ正確に出すため、非常にめんどくさいことをやっています。
ただパワーの絶対値というのはあまり信頼できないと思います。特に空気抵抗は近似でしかなく、風向きによっても大きく異なるからです。GPSログからは風向きまで知ることはできません。またGPSの精度にも依存するため、他人と比較することもあまり意味がありません。しかし、いつも同じ条件で測定するのであれば相対的な比較は可能であり、自分が「1年前よりどのくらい強くなったか」を評価するような目的には十分使えるだろうと思います。
できるだけ正確に測定するためには
この機能による分析はGPSの精度に大きく依存します。特に高度の精度が最も大きな影響を及ぼします。できるだけ気圧高度計を内蔵した専用のGPS端末を使用して下さい。スマホなど気圧高度計を持たない端末では高度が暴れるため、獲得標高が実際より大幅に大きく出ます。その場合は「オプション→詳細設定→高度平均化間隔」の設定を大きめにし、実際の感覚に近づくように調整して下さい。
またログを取得する時間間隔はできるだけ細かい方がいいです。可能であれば1秒間隔で取ることが望ましいですが、Garminの自動設定であれば最も細かい設定(Most Detail)にしておけば十分です。
GPSの測位不良により最高速度が異常な値を示しているときはパワーもめちゃくちゃな値が出ます。パワー解析を行う前に「ノイズフィルタ」を適用して異常なデータを除去することを推奨します。