SSブログ

コース表示入りの山行マップが完成! [雑感]

2024/04/28(日)

目次の代わりになる山行一覧のマップとして、昨年10月に番号表示のみのマップを作成し、当ブログでもトップページの冒頭に載せていますが、さらに機能を加えて、歩いた経路を全て表示できるマップを作成しました。

ヤマレコに登録しているユーザの方なら、ヤマレコ内で同じような地図が見られることをご存じでしょうけれど、それとほぼ同等の仕組みを自前で構築したことになります。

なお、対象範囲は今のところ南関東圏(東京・神奈川・埼玉・山梨・静岡東部 = 地図中に青枠で示した範囲)に絞っています。折を見て少しずつエリアを広げたいとは思いつつも、当分は現行維持が続くかも‥‥。

そのマップがこちら。

大きなマップで見る(Googleが運営するFirebaseのサイトに遷移します。※上に埋め込んだマップも同サイト上のものです)


このマップは情報量が多いため、PC・タブレット等のある程度大きな画面でないと少々見づらくて、以下の説明画像もこのブログの横幅が狭いゆえに、どうしてもゴチャゴチャした表示になってしまうのをご容赦下さい。

さて、せっかく表示させたルートも、初期表示では丸数字が目立って、思ったほど存在感はないのですが‥‥、
左上のボックスで「番号+リンク」をオフにすると、ほぼルートだけの表示に。これが作りたかったのよ。


実は旧来からのウェブサイトでは、開設時より類似のマップを掲載していました(そのマップの縮小です)。
このマップに、機能的な不満は特になかったのですが(ゆえに2006年頃から同じ体裁のまま20年近くずっと使い続けていたり)、山行記録が増えるたびに行う更新がなかなか面倒なのが悩みの種だったのです。

実はこれ、Excelの図形描画を駆使した労作で、だから更新はExcel上で行うのですが、当然Excelなので山行ルートのGPSデータを取り込む機能なんてありませんから、増えたルートは自由曲線を繋げて書き足していくことになって、マップの縮尺に合わせた線形をきちん書くのが結構な手間でした。

また、マップ内の丸数字をクリックしたら山行記事にジャンプできるよう、マップ画像をHTMLのクリッカブルマップにしていて、そのために丸数字の座標をHTMLのソースに記入するという、細かな作業も必要でした。

そんな訳で、leaflet で地図作成をするようになった昨年夏以来、このマップもleaflet版にバージョンアップすべく、試行錯誤を繰り返していたのです。もし完成すれば、以降は更新作業が楽になるばかりか、静止画像で縮尺を変えられないという、旧来のマップの唯一の欠点も克服できますから。


まずは、ベースにする地図として、国土地理院公開の「地理院タイル」から用途に見合ったものを選びます。
旧版のマップではカシミール3Dの地形図表示で標高別に段彩表現させたものを採用していたので、当初は新版でも同様にするつもりだったのに、「地理院タイル」の「色別標高図」はこんなにも鮮やかな配色で、上に重ねる予定のルートの線をどんな色で書いても埋もれて目立たなそうな感じでした。
そこで選んだのがこの「赤色立体地図」。これならルートの線を赤・橙・紫といった色で書いた時に目立たせそうですし、なにより地形表現がより緻密になることが、山を見る地図だけに大いにプラスだと感じました。
なお「赤色立体地図」自体は、その名前通りにもっと赤みが強い色合いなのですが、「陰影起伏図」をオーバレイとして重ねると彩度が下がり、ルートの線をより識別しやすくできたので、その組み合わせを採用です。
その代わり、地形以外の情報が全くないので、このように海岸線が見えていればまだしも、そうでないとどこがどこなんだか全く分からなくなりそうな地図です。ただそれは旧版でも同様で、それを補うために都道府県境と鉄道データを自前で追記していましたから、新版でもそれに倣って同じことを試みました。

手始めに都道府県境を記入してみます。でもこれだけだと、まだちょっと弱い感じですね‥‥。
続いて鉄道のデータを追加。主要駅名も表示したことで、どの地域を見ているのかが随分分かりやすくなったように思います。でも鉄道線を一般的な地図と同じような白黒模様で描くためのやり方を、旧版のExcelではできていたのにleafletではまだ見つけられず、黒一色の線なのがなんとも芸がない感じで、そこは今後の課題です。

ところで、都道府県境や鉄道のデータに加えて、このあとで出てくるバス路線や湖沼のデータなども、利用可能なGeoJSONデータを国土交通省が公開しています。ただ、公的なデータだけに精度が高い一方でデータ量も膨大なのが難点。
現に、ネット環境で見るだけならまだしも、マップの製作途上で試作品の表示を繰り返す際にローカル環境でも見られるように、GeoJSONデータを少し加工しようとしたら、サイズが巨大だけにソフトの編集動作が重たくて捗りません。使うのが南関東エリアのデータだけで他地域のデータは不要ですが、そんな抜粋も難儀しそうなので、使用するデータは全て自前で用意することに。
決して精細ではないレベル16の地形図を表示したカシミール3D上で、さらに手作業でプロットした、相当に精度が低いデータになりましたが、それでも今回の用途には十分。小さなデータで済んだことで、出来上がるマップの動作も軽くできたことでしょう。


しかし、これでもまだ何か足りない気がします。全体的にもっさりした印象で、見た目のメリハリが今ひとつなのです。見慣れた普通の地図と比べて何が欠けているのかと考えた時、あっそれは湖だと思いました。
ということで湖を追加してみたら、どうでしょう、より地図っぽい体裁に近付いた感じがしませんか?
───湖は凝り始めたらキリがなさそうなので、ダム湖などはこれまでの山行で関わりがあったものにとどめています。


続いてバス路線データに取り組みます。こちらも旧版ですでに載せていたものですが、縮尺固定の粗い地図にアバウトな線を引けば良かった旧版とは勝手が異なり、新版はかなり精細な縮尺までズームできる地図ですから、載せるならそれなりに精度を持った線でなければ意味がありません。
ただ、以前より「電車・バス派」を前面に打ち出してやってきた手前、バス路線データを載せないという選択は考えられませんでした。鉄道が全く来ていない地点から登山の線を引き始めるに当たっては、そこにどうやってたどり着けたのかという情報にも、一定の価値があると思われたからです。

とはいえ、地形図で見えている線をただなぞればデータが作れた都道府県境や鉄道データとは違って、バス路線となるとデータソースが限られます。ルート図まで公開しているバス会社はわずかで、多くの路線では時刻表などから経由するバス停名が分かるまでにとどまりますが、そこからが腕の見せ所。
入手できた各種情報を最大限に駆使して大半の路線でルートが判明した一方、すでに廃線になっていたり、会社自体がもう存続していなかったりで得られる情報が限られ、苦労した路線もちらほら。でも、なんとかこれまでに利用した全部の路線について、経由する全バス停名が分かるところまでは漕ぎつけました。
ここで心強い味方となったバス関連書籍。すべて2000年代の発行で、情報が少ない当時の状況を遡る上での貴重な手掛かりにも。

バス停名さえ分かれば、あとはもうこっちのもの。たいていの地域でGoogleのストリートビューが2012年頃まで遡れますから、時間はかかったもののあちこち見ているうちに当時バス停があった位置を探し出せることが多く、ほぼ全ての路線でルートが判明。地図はこうなりました。
※ここで「ほぼ全ての路線で」と書いた通り、どうしてもルート未確定の路線が2路線ほど残りました。それについては末尾で。


ここまででベースの地図が出来上がり、ようやくメインとなる山行データの処理に取り掛かります。
山行データは個別にGPXおよびKML形式での蓄積があったので、当初はそれをそのままleafletに処理させていたところ、数が少ないうち問題なく動いていたものが、200件近くなった頃には早くも初期表示がもたつき始めてしまい、500件も登録するなんてとても無理そうだと分かります。
そこで、少し余計な手間はかかったけれど、ここまでの都道府県境・鉄道・湖・バス路線と同じGeoJSON形式にデータを変換した上で、山行ごとに分かれていたファイルを色別(5色にしたので計5ファイル)にまとめてI/Oを減らしたところ、データを増やしても軽快に動くようになりました。
その結果がこちらで(2番目の画像の再掲)、見て楽しむだけの地図ならここでやめられるのですが‥‥、

この地図には目次としての機能も持たせたいから、記事へのリンクを含むポップアップを出して山行記事に飛べるようにする丸数字の表示は欠かせず、しかもそれは最初から見えているのが望ましいと判断しました。
このほか、あまりに情報過多で五月蠅い地図になるから初期表示ではオフにしましたが、
  ● 山行の開始点と終了点を示す [S] マークと [G] マーク (同じ地点に戻る場合は [SG] マークに)
  ● 登った山の情報を表示する▲マーク
なども盛り込んで、ようやく公開の運びとなったのでした。
結果的には、冒頭でも触れた通り、むしろ丸数字のほうが目立ってしまい、山行ルートがびっしり並んだ見た目のインパクトが初期表示からは失われることになりましたが、やはりここは実用性のほうが大事かな、と。


今さらながら、データ処理のスピードってこんなにも進歩していたんですね‥‥。
自分がSEとしてプログラムを書いていた1990年頃の感覚(古すぎ!)だと、画像の上にこれほど膨大な数の座標を使って図形を重ねたら、動きがカクカクしてとても見られたものじゃなくなりそうなのに、ストレスなくサクッと表示する上に縮尺まで自在に変えられるんだもんなぁ。まさに隔世の感です。

まずは南関東圏にエリアを限定して、それでもデータが多すぎて厳しいかもと不安視していたのに、この調子なら対象を全国に広げても大丈夫そうに思えてきました。もっとも、ここ2ヶ月ほどは空いている時間を全部注ぎ込んでやっと完成させられたので、その間に録画したっきり見ないで溜まるばかりだったTV番組の消化とか、ほかにも後回しにしていた諸々を少しずつでも片付けるのが優先で、当分はこのままになってしまいそう。





■どうしても運行ルートが分からなかった2つのバス路線

上記文中で触れていた通り、これまでに利用したことのある大半のバス路線で運行ルートを突き止められる中、色々と手を尽くしてもルートが不明のままという路線が2つだけ残りました。
これらは、マップ中に他の路線と同じように白線を引くわけにはいかず、推定されるルートを点線で示すにとどまっているので、もし何らかの情報をお持ちの方がいらっしゃいましたら、ぜひお寄せ下さい。

[1] 山交タウンコーチ「清流と甲斐駒ヶ岳周遊バス」
   ・韮崎駅と小淵沢駅を結んで走り、1日の本数は少ないながら、尾白川渓谷駐車場を通る運行経路が、
    日向山(山梨県北杜市,1660m)への登山にうってつけだった
   ・運行は2009年~2013年の5年間だけか? (しかも全区間フルで運行したのは2012年まで)
   ・しかしその5年間、「山と高原地図」にはこの路線の情報が1度も載らず
     (それで登山者内での知名度が低かったことが、利用客が伸びなかった一因とも考えられる)
   ・この路線の廃止から5年後の2018年、山交タウンコーチは山梨交通に吸収合併され、現存していない
   ・筆者は2011年の2日間で計3回利用(それらを合わせると全区間利用している)
   ・経由するバス停は次の通りと判明している
韮崎駅-韮崎大村美術館-わに塚-武川村直売所「なごみ」-まちの駅武川-実相寺神代桜-眞原桜並木-フレンドパークむかわ-藪の湯みはらし・篠沢大滝キャンプ場-南ア観光開発・ナカヤマ住設-名水公園べるが-尾白川渓谷-台ヶ原宿七賢・金精軒-道の駅はくしゅう-薮内正幸美術館-サントリー白州入口-ビューファーム鳥原平-小淵沢駅
   ・上記のうち、韮崎駅~実相寺神代桜の間は、PCに保存していた2013年当時のパンフレットPDFから
    経路を断定できているが、2013年には運行区間が韮崎駅~実相寺神代桜の間だけに縮小されていた
    ため、実相寺神代桜~小淵沢駅の区間(運行は2012年まで)については、経路が全く分かっていない
    ばかりか、ストリートビューでも遡れない年代のためバス停の位置すら判明しないものもある

[2] 富士急平和観光バス「市立甲府病院 ~ 上九一色出張所 ~ 古関町線」
   ・筆者は2010年に1度だけ、市立甲府病院~右左口交差点間を往復利用
   ・2008年9月まで甲府市営バスとして運行されていた路線を富士急平和観光が引き継いだ模様
   ・富士急平和観光は2014年末に富士急山梨バスに合併され、この路線も富士急山梨バスに引き継がれた
   ・現在(2024/04時点)も富士急行バスがこの路線を運行中で、南甲府駅発着に延伸されている
   ・こちらは、現在の富士急行バスによる運行経路のバス停が次のように分かっているのみで、それが
    筆者が利用した2010年当時と同じかどうかは不明
(筆者が利用した市立甲府病院~右左口交差点間の、2024/04時点のバス停)
市立甲府病院-甲府城南病院-甲府市リサイクルプラザ-中道北児童館-宮下-中道交流センター-高速バス停-下曽根-北野医院-旧中道支所-金沢-中道南小学校-七覚入口-右左口交差点

比較的バス路線の改廃が少ない上、情報も多く残りやすい首都圏ですら調べ切れない路線が2つも出てしまい、もし今後エリアを広げたら、こんな路線がもっと出てくるんじゃないかというのが専らの懸念材料です。
年々バス路線の変動が激化している上、2024年問題がそれにさらに拍車をかけるかもしれず、路線バスに関する情報だけは、今のうちに先駆けて調べ始めておくほうが良いのかもしれないけれど、当面は時間が‥‥。





■2024/05/02追記

結局その後も、気分が乗っているうちにと作業を続けて、山行コースの登録だけは日本全国に拡大し、日本アルプス方面や東北・関西への遠征などを含むすべての山行について、コースだけは表示されるようにしました。

青枠で囲った南関東圏以外のエリアについては、丸数字によるポップアップ表示が出ないため山行記録には飛べず、まだ目次としては機能しませんが、こんな風に自分が歩いた軌跡を全国規模で一挙に見渡せるように!
  (画像を縮小したら、山行コースの線がほぼ点みたいにしか見えなくなりましたけれど‥‥)
なお上の画像は、この記事用にコースの線がより目立つよう、プログラムに一時的に手を入れて、
      ・南関東圏を示す青枠の表示をオフに
      ・鉄道路線と駅名の表示もオフに
      ・山行コースの線幅を倍の太さに
した上で、ベースの地図を「白地図」にして表示させたので、公開版のマップではこれと同じ見た目にはできません。あしからず。


ところでちょっと気になって、この日までのすべての山行(480回分)のGPSデータの座標数を集計してみたら、総数が26万9268件になっていたことが分かりました(1回分の平均が約560件ってことなのか)。

本文でも触れた通り、こんな夥しい数の座標を結んで線を書かせているのに、それが瞬時に表示されることが、私の年季が入った脳ミソではまだ理解が追い付きません。GPX形式で処理させていた時点では、そこまでの性能は出ていなかったから、GeoJSONの処理が余程賢いのでしょうけれど、それにしてもパフォーマンス良すぎ!

タグ:雑感
nice!(0)  コメント(0) 
共通テーマ:スポーツ