最短距離検索 – GIS教材


QGISを使います。

一般的には「最短経路探索(Shortest Path Finder)」や「最短経路問題(Shortest Path Problem)」と呼ばれているものです。

ここでは2パターンでやってみます。


まず、2地点を指定して、その間の最短経路を探索してみます。

サンプルデータのnetwork(path.shp)は読み込まれているものとします。

道路ネットワークを自作して使う場合はここを参照

独自のポイントデータの作成などはこのページを参照

 

 

メニュで、プロセッシング -> ツールボックス を開いて、

ネットワーク解析 -> 最短経路(ポイントからポイント)をダブルクリック

出発地点・終点を設定します。

交互に地図上でクリック

実行をクリックして閉じます。

最短経路の表示

線が細く色が道路と同系色の場合、見えづらいことがあります。

プロパティで色を変えて線の幅も2くらいに再設定するといいです。

背景に地図画像を表示してみます、OpenStreetMapです。

この道路は福井県鯖江市のデータらしいということが分かります。

GoogleMapsで見ると、この辺です。

 


指定した1地点から複数のポイントへの最短経路を探索してみます。

複数のポイントは別データで提供されるというパターンです。

サンプルのデータnetwork(path.shp、hospital.shp)は読み込まれているとします。

メニュで、プロセッシング -> ツールボックス を開いて、

ネットワーク解析 -> 最短経路(ポイントからレイヤー)をダブルクリック

出発地点を指定して実行します。

ただ経路は複数あり、線が細く道路の色と同系色だと混乱します。

経路が見えづらい場合はプロパティを再設定して表示します。

以下のようにします。

プロパティのシンボロジーで「分類された」を選んで、カラムはコスト(cost)に設定して「分類」をクリックして「適用」します。

こんな感じ。

よく見ると、赤い経路が途中まで見えません。どうも茶色の経路にオーバーライトされているようです。

茶色い経路を非表示にしてみます。

こんな経路でした。

 

 


道路ネットワーク

国土地理院などでも道路の中心線データが見当たらないです、以下のような手段で取得してみます。

国内の道路中心線は試験的に地理院地図Vector(仮称)提供実験のソースで公開されています(地域限定)。

Webサービスを使って道路ネットワークを取得してみる

OSMnxを使って道路ネットワークを取得してみる

ルートマップを作成してみる

経路探索は出来ないけど、単純に地図にルートを表示

 


 

参考

 

最短経路探索のアルゴリズム

粘菌アルゴリズム

Pythonで粘菌ネットワーク

道 (グラフ理論)

 


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*