Ride with GPSで作成したルートプランの獲得標高について、あるいは獲得標高との付き合い方

BRM1023鬼怒川600を走って以来、Ride with GPS(以下、RWGPS)を好んで使うようになったんだけど計画したルートの獲得標高がずれるなあということに気がついた。もう少しちゃんと書くと、鬼怒川600のルートを引いたときにAJたまがわさんが用意してくれているルート情報(RWGPS)と獲得標高が面白いくらい乖離していたので、何故かはよくわからないけどずれやすいことは認識していた。ちなみに数値にして2000mくらい高く出ていて驚いた記憶がある1

前々からTwitterなどでも、RWGPSは獲得標高を"盛る"という評判で、簡単に調べてみてもStravaやルートラボに比べると獲得標高が大きく出やすいという評判だった。じゃあ、なんでこんなにRWGPSで作成したルートと実走行のデータで獲得標高に乖離がうまれるのだろう、というのが改めて気になったので調べてみることにしました。

そうしたら、RWGPSの公式ヘルプに答えが書いてあったので簡単にまとめてみることにします。

ridewithgps.com

目次

Ride with GPSがルートプランナー上でどのように標高を算出しているか

ヘルプによるとおおよそ以下のようなことが書いてあります(詳しくは原文を読んでください)。

  • 2000年にShuttle Radar Topography Mission(SRTM)が行われたよ
    • スペースシャトルに搭載したレーダーで地球の詳細な数値標高モデルを作成することを目的としたミッションのことだよ
    • これによって90mごとのメッシュで標高データセットが作られたよ(SRTMデータセット)
  • RWGPSは上記のSRTMデータセットを使っているよ
    • 計画しているルートの各ポイントはSRTMのデータセットに基づいて標高を算出するよ
    • 精度を少し上げるためにちょっとした計算をRWGPSではしているよ
  • 特定の地域ではより高精度なデータセットがあるので、そっちが使えるならSRTMより優先して使うよ

これを読むと「なるほどね!」って思うところがあります。以下のスクリーンショットは鬼怒川600のときにひいたルートで、南牧村手前に位置する湯の沢トンネルの区間です。

f:id:ayato0211:20211121161314p:plain

このルートに対応する標高データが以下のスクリーンショットになります。これを見るとトンネルの間でかなり盛り上がっているのが分かります。前述の通り、RWGPSではSRTMのデータセットを使っているため、宇宙から見たときの地上の標高を使われるのでしょう。つまり、トンネルの中の標高ではなく、トンネルの上にある山の標高がデータとして利用されてしまうのです。

f:id:ayato0211:20211121161400p:plain

少しすっきりしました。ただ、トンネルを含んだ場合に若干獲得標高が増えることは理解できましたが、依然として実走行データと獲得標高がズレる理由がよくわかりません。もう少しヘルプを読んでいきます。

そもそもサイコンはどうやって標高を算出しているか

ヘルプに書いてあったんでちょっと抜き出してみると、次のように書かれています。

  • みんなが使っているデバイス(サイコンとか)には標高を取る方法がふたつあるよ
    • ひとつはGPSデータを基にしたデータで正確性に欠くよ
    • もうひとつは気圧計で正確性が高いけど、キャリブレーションの問題でズレることもあるよ

とのことです。ある程度のグレード以上のサイコンであれば気圧高度計を搭載しているため2、ある程度正確な標高を記録することができるようです。GPSデータは横方向へは正確ですが、縦方向には誤差がでやすいらしいので、高度気圧計を備えていない場合微妙な結果になるそう。

ルート作成アプリの算出する獲得標高との付き合い方

ヘルプを最後まで読むとRWGPSが様々な努力をしていることが分かります。最終的にRWGPSが言うには、RWGPSのもつ技術によってGarminの高度気圧計と標高差は10%以内の誤差に収まるようになっていて、実走行データはルートプランナーの10%以内の標高差に収まるようになっているようです。ただ、"正確さ"については何をもって"正確"なのだろうという話が書いてあってこれが非常にためになりました。

"正確さ"というのは特定のブランドのセンサーやソフトウェアのアルゴリズムに関連していて、ある人はGarminのデータソースこそ信頼できると考えていたり、RWGPSよりもStravaの方が信頼できると考えていたりします。だけど、実際にはそれぞれの企業がトレードオフを考えて算出している推定値にしかすぎないのだと。最も重要なのは"一貫性"であって、例えばRWGPSでひいたルートが2000m upだとして、Stravaだと1500m upになるとしてもそれは何も問題ないのだという。

これは確かになという感じがします。毎回RWGPSでルートをひいて、RWGPSが同じように獲得標高を算出し続ける限り、私はRWGPSが言ってる獲得標高2000mはこのくらいの難易度なんだと見積もることができます。なので獲得標高は重要ではないのです。

まとめ、というか思ったこと

結局、RWGPSのルートプランナーと実走行データで獲得標高がズレるのは仕方ないんだ、というのが結論です。推測ですが、ひいたルート自体は線になっているけど実際のデータとしては点の集まりなので、この点の集まりが地図上のどこを通っているかや、どのくらいの間隔で点が存在しているかなども計算に影響を与えるのでしょう。そのあたりの解釈がアプリケーションによって異なるし、使っている標高データセットなどが違ったり、計算のアルゴリズムが違うことが最終的なアウトプット(獲得標高)の違いとして出てくるのでしょう。

個人的には、RWGPSのルートプランナーが出してくる獲得標高が高く出やすいという話を聞いていたり、実際に高く出てしまうと感じていたけど理由が分かってすっきりしました。ルートラボなんかはトンネルのデータも持っていて、ちゃんと獲得標高を計算できていたらしいので、そのあたりもRWGPSには頑張ってほしいなと思ったりするけど、現実的には難しいだろうなと思いました。

あとこの獲得標高と呼ばれる数値はパワーメーターの出してくるパワーと同じようなもので、何かが絶対的に正しいというわけではないのだということが分かっただけでも、RWGPSのヘルプを読んだかいがありました。

RWGPSのルート作成機能はとても使いやすいので、これからも私はRWGPSを使い続けようと思います。おしまい。


  1. AJたまがわ版だと6500m程度で、自分でひいたら8400m程度になった。

  2. 私の使っているGarmin Edge530なんかも搭載しているみたいです。