突然ですが、利根川フォトコンテスト2023というのを見つけました。
https://www.instagram.com/tonerevernetworks/?utm_source=qr
応募写真の条件は「利根川が映るもの」だそうです。
知ってる人は知ってますが、利根川は約322kmで日本で二番目に長い川です。
(ちなみに一番は信濃川で約367km、ついでに三番は石狩川で268kmだそうです)
何が言いたいかというと、そんな長い撮影範囲は逆にどこ行ったらいいか困る…
ということで、広すぎる目的地から最寄り駅を探す方法を調べました。
駅と河川のデータをDLして座標変換
駅と河川のデータを座標変換
国土数値情報(https://nlftp.mlit.go.jp/ksj/)から鉄道と河川のデータをダウンロードします。
鉄道は複数年ありますが、最新のものにします。
このままの座標系では距離を出せないので、平面直角座標に変換します。
今回は関東なので第9系です。
1.新規プロジェクトに鉄道データを追加
2.ベクタ→データ管理ツール→ベクタレイヤを再投影

利根川は複数の県にまたがっているので、該当する県全てをダウンロードしてマージします。
(いつか使うかもしれないので関東丸ごとのデータを作成しました)
あとは鉄道と同じ方法で座標系を変換します。
マージの方法
ベクタ→データ管理ツール→ベクタレイヤをマージ
プロジェクトの座標系を第9系に変更
右下の地球儀みたいなマークをクリックすると下の画像のような画面が出ます。
第9系(6677)を選んでOKします。

目的地の河川を選択、バッファ作成
フィルタをかけて利根川を抽出
河川が網の目のようになっているので利根川だけ表示させます。
1.河川レイヤを右クリック→フィルタ
2.フィルタ式に「”W05_004″=’利根川’」と追加。

利根川から1kmのバッファを作成する
川の写真を撮るのだから、なるべく川に近い駅がいいですよね。
ということで川から1kmの駅に絞り込むためにバッファを作ります。
人によりますが、1kmは徒歩15分程度なんだそうです。
1.ベクタ→空間演算ツール→バッファ
2.距離を1キロメートル、結果を融合するにチェックを入れます。


最寄り駅と目的地付近の駅を抽出
駅データをポイントにする
ダウンロードした鉄道データはラインなのでポイントに変更します。
・ベクタ→ジオメトリツール→重心 でポイントにします。
バッファ内の駅を抽出
作成したバッファデータと駅のポイントデータを使って、利根川から1km内の駅を抽出します。
・ベクタ→空間演算ツール→交差
緑色の点が抽出された利根川の最寄り駅です。

自分の最寄り駅を追加する
自宅や会社の最寄り駅、乗り換えに便利なターミナル駅など、お好みの駅データを1箇所プロジェクトに追加しておきます。
今回は関東の真ん中あたりにあった方が面白い結果が出るかと思い、埼玉の大宮駅にしてみました。
1.駅レイヤを右クリック→属性テーブルを開く
2.フォームによる地物選択 で欲しい駅を入力
(複数ある場合があるので路線も入力した方が良いです)

(複数の路線が到着する駅だとポイントが重なっていてパッと見た感じ分からないです…選択できていると信じてshpを作ります)
3.駅レイヤを右クリック→エクスポート→新規ファイルに選択地物を保存


最寄り駅から近い駅を調べる
ここまで来るともう見た目で近い駅はわかりますが、一応数字として近い駅を出します。
1.ベクタ→解析ツール→距離行列
2.入力点のレイヤに利根川の最寄り駅、ターゲット点のレイヤに自分の最寄り駅を選びます。
3.ID属性は駅名が入っている「N02_005」を選びます。
4.出力形式は「標準距離行列(Nx T)」にします。
※距離行列は作成するshp名と保存場所です。


マルチパートとか言われてエラーが出たら…
マルチパートだからできない、とかいう感じのエラーが出たらシングルパートに変換します
・ベクタ→ジオメトリツール→マルチパートをシングルパートに変換
距離と駅名をラベルで表示
せっかく複数の候補と距離を出したので、ラベルで表示します。
1.距離を出したレイヤを右クリック→プロパティ→ラベル
2.右上のEみたいな記号をクリック
3.下のようながめんが出てくるので「”ID” || round( “大宮” / 1000)」を入力してOK
(ID(駅名)と距離を1000で割って四捨五入します)

大宮駅から距離がkmで表示された図の完成です〜。
実際はゴルフ場とかがあって河川の近くに寄れないとか、乗り換えが面倒とかがあるので、あくまでも候補の絞り込み方として活用ください!

個人的には埼玉県に利根川から近い駅がなかったのが意外でした。
駅じゃなくバス停で調べたら何か出てくるのかも。
以上、広大な目的地の最寄り駅を探す方法でした〜
コメント