自転車乗りならプロフィールマップの事はご存知だろう。 鉄道の世界で言うところの線路縦断面図にあたるものだ(かえって分かりづらいか…)。 そのプロフィールマップを Web上で作成出来る地図といったら Yahooの「ルートラボ」が良く知られている。 私も旧「ALPSLAB route」の時代から長いこと愛用して来た。 自転車の走行プランを練り、事前にシミュレーションするには実に良く出来たシステムだが、一つ欠点がある。 それは、複数のコースを比較したプロフィールの作成が出来ない点だ。 今度行く峠はどの程度の坂なのだろうか?と、以前走ったコースとプロフィールを比較してココロの準備をしておきたいのである。 コース毎にグラフをキャプチャして画像ソフト等で重ねる手法も検討したが、ルートラボの場合、標高と距離に応じてグラフが自動でスケーリングされてしまうので一筋縄ではいかない。 GPS系のフリーツールで何かいいものが無いかと探しもしたが、簡単でピンと来るものは見付けられなかった。
で、探すより作ってしまった方が手っ取り早いか、って事で自作でいい加減にでっち上げてみたのが以下だ。 ルートラボの KML出力を複数読み込んでプロフィール表示を行なうだけという、とってもシンプルなもの。 データは緯度経度から距離を簡易計算で算出し、キロ単位で端折って間引きする cgiを作った。 間引きにあたって少しでも標高の高い方の値を残すようにしたのは、サイクリストなら心情をご理解頂けるだろう。 グラフ表示は Ext JS の Chartライブラリを使い、JavaScriptで描画している。 表示モードは 2つあって、標高を実際の絶対値でプロットしたもの、そしてスタート地点をゼロとしてそこからの相対値で高さを表したものだ。 これらはメニュー「Flip Chart」で切り替えられるようにしてある。 これによりコース毎の違いがダイレクトに目で確認出来るわけだ。 凡例の所へカーソルを持って行くと該当のグラフがハイライト表示し、クリックでコース毎の表示をオンオフ出来るのは Ext JS の機能を活かしている。 また「Save Chart」は、表示中のグラフを png形式でローカルに保存出来る(日本語が化けてしまうが)。 グラフの作成は「Make Chart」で行なう。 KMLファイルをアップロードして読み込み、表示用にデータを間引きする機能だ(とりあえずこのページではマスクをしてあるが、ページ最下部にお試し版へのリンクを設けた)。 ルートラボのデータをオンライン上で直接変換する手法も開発済みだが、ユーザー管理が出来てないので今の所未公開で、自分用のみにしている。
グラフには、これまで自転車で走った坂道の中で代表的なものを数点入れてあるのでちょっと見てみよう。 標高2,500mを超えて突出しているのは車道の通じている最高所として世に聞こえた乗鞍である。 この時はスタートが奈川渡ダムで最初の小コブが白樺峠、途中の乗鞍高原で一泊して翌日に本丸の畳平を目指した。 その次が登山道を自転車押し担ぎで越えた夏沢峠、さすがにピークのトンガリ具合が半端ない。 3番手は車道峠として日本一の高さを誇る大弛峠、ここはまだ越えた事が無いが参考までに入れてみた。 それに続くのが麦草峠、無鉄砲にも自転車初心者の頃に登って大分手痛い目にあったが、ここまでが2,000m超の峠たちだ。 比較対象として関東でポピュラーな正丸峠なども入れてあるが、こう見ると結構なお手軽コースなのに走った時の実感はなかなかに手強い。 体調や天候などによっても印象が違うのは当然だが。
モードを変えてスタートゼロ基準の表示にしてみる。 自転車での登りは基本的に相対高度差が問題なわけで、この表示モードはプランニングの良き助けになると思う。 大弛峠の場合、信濃川上側のダートを登ってゴールは塩山方面とするのがツーリストの間では定番だが、そのコース取りのアドバンテージはマップを見れば一目瞭然だろう。 登りに比べ、塩山へ向けての下りが物凄い事になっていてワクワクする。 このモードで目立つのは甘利山で、標準表示では標高こそ2,000mに及ばないものの、スタート地点からピークまでの高度差は大弛峠を凌駕している。 わりとお気楽気分で走りに行ったが、登りがめっぽう苦しかったのも道理である。 ちなみに刈場坂は青梅から走り始めて一度飯能へと下っているので、スタート&ゴール近辺でグラフが微妙にマイナス側へと振れている。
というわけで、今年はちゃんと峠を登りたいと考えているので、コース検討にこのプロフィールマップが活用される事だろう(たぶん)。 本来自分用に開発したシステムだが、ご希望があれば正規版の公開も考えてみたい。 まあ、探せばもっと色々出力出来る素晴らしいシステムも存在すると思うのだが、あくまでもこれはお手軽にプロフィールマップを重ねるだけの単機能版という事で。