Run x Climb = Fun!!

登って走ってスピードハイク

登山活動のGPSログ解析

ふと思い立って、過去の登山活動のGPSログの解析をやってみることにしてみました。

f:id:pastel:20150507071044p:plain

(使ったツールはipython notebook。pythonで書いたスクリプトをブラウザ上から実行でき、スナップショットなんかも取れるのでちょっとしたデータ解析に便利です。)

著者は2006年くらいから山登りでのGPSデバイスの活用を思いついて、それ以降の登山活動ではGPSログを取得するようになって今に至ります。デバイス遍歴は、ログ記録専用のGPS-CS1Kにはじまり、 

SONY GPSユニット GPS-CS1K

SONY GPSユニット GPS-CS1K

 

当時の定番だったGARMINのGPSMAP 60C(英語版)を会社の山岳部で導入(Amazonにないようなので、アクセサリにくっついてる商品)し、

自転車用にGarmin Edge 705を導入し、

 それに飽きたらずEdge 500も自転車用(主にレース用)として導入し…

 結局、Edge 705が山でも便利だねということで山とサイクリング用として今でもEdge 705を愛用しているわけですが、過去の山登りの記録が今でもリアルなデータとして取れるのはなかなか便利です。

**

で、さくっと書いてみた解析ツールですが、ログデータのポイント間をセグメント化して水平移動距離、獲得標高、所要時間、斜度を保存し、それをグラフに出したり、斜度によって登り・下り・平地区間にカテゴライズしてカテゴリーごとの平均速度や平均上昇速度を計算したり…とやってみて、なかなか有用なデータが取れるなという感触が掴めました。

www.yamareco.com

たとえば、去年行った西丹沢自然教室から檜洞丸、蛭ガ岳、丹沢山塔ノ岳とつないで大倉に下った計画を解析してみると…

 

 
	Length 2D: 23.393km
	Length 3D: 24.284km
	Moving time: 04:58:31
	Stopped time: 01:20:54
	Total uphill: 2198.74m
	Total downhill: 2435.34m
********************************************************************
	Climb Segment: 7.3km/2087m in 178min
		 Pace:24.5min/km, 11.7m/min
********************************************************************
	Downhill Segment: 8.5km/-2282m in 123min
		 Pace:14.5min/km, -18.5m/min
********************************************************************
	Flat Segment: 7.6km/-42m in 78min
		 Pace:10.2min/km, -0.5m/min

…ということで、総行動時間が6時間少々、累計獲得標高が2,200m…みたいなデータと共に、登り区間(斜度5%以上)が7.3キロ/約3時間あり、下り区間(斜度-5%以下)が8.5km/2時間、さらに平坦基調の区間が7.6km/1時間20分…といったデータが出ます。

さらに面白いのがそれぞれの種別のペースと上昇(下降)速度も出せるところで、たとえば登り区間の平均上昇速度は11.7m/minで、下りの平均下降速度が18.5m/min、平坦基調でのペースがキロ10.2分…ということも分かります。ナイス!

さらに、斜度ごとにデータをグラフ化して…

f:id:pastel:20150507073426p:plain

斜度ごとの水平距離

f:id:pastel:20150507073449p:plain

斜度ごとの上昇・下降速度

f:id:pastel:20150507073505p:plain

斜度ごとの水平移動速度(ペース)…といったデータも可視化できるので、大変興味深いです。斜度がある程度以上あったほうが上昇・下降速度は稼ぎやすいなとか、経験的に知っていたことがこういう形で見えてくるのはよいですね。

いくつかデータを食わせてみて、かなり確度の高い数値が出せているようなので、ルートのデータを食わせて、上昇速度・下降速度・ペースといったパラメーターを入力することで、ルートの所要時間を推定することもできそうな気がしています。…ムムム、これは面白いゾ。

というわけで、Google AppEngineあたりに移植してみて、ログデータ解析・ルートシミュレーションツールとして一般公開してみようと思います。Play+Scalaなんかにも挑戦してみたいところですが、そんなに勉強時間は割けないと思うので、とりあえず。