標高ラスタと傾斜ラスタを使ってコストパス解析をやってみます。
任意の地点間の経路を求める場合等に用いられる手法です。
サンプルデータとして、asoデータを使います。データは日本語名のパスがないような場所、例えばCドライブ直下に置いておきます(GRASSはパスにダブルバイトがあるとこけるようです)。
標高ラスタはasoデータに入っていますが、傾斜ラスタはまだないので作っておきます。
傾斜区分図(傾斜ラスタ)の作成
QGISでasoデータの中の標高ラスターデータ(aso_2kei.tif)は読み込み済みとしておきます。
メニュでラスター -> 解析 -> 傾斜… を開きます。
slope.tifという名前で保存します。
実行して、閉じます。
コストパス解析
ここでは、プロセッシング・ツールボックスのr.walk.pointsという機能を利用するのでQGIS Desktop 3.4.12 with GRASS 7.6.1を使います。
1)移動コストを算出
aso_2kei.tif、slope.tif(傾斜区分図)、start.shp、end.shpの4つのファイルを使います。
最初の2つは上記の作業で読み込んでいるので、後の2つをデータソースマネージャーを使ってasoデータから読み込みます(新規に立ち上げた場合は4つとも読み込みます)。
メニュ -> プロセッシング -> ツールボックス を開きます。
検索フィールドでr.walk.pointsを検索し、r.walk.points選択してダブルクリックで開きます。
cumulative_cost.tifで保存して、「実行」
2)移動コストをもとに任意の2地点間の最短経路を検索する
「Least-Cost path」というプラグインを使います。
「プラグインの管理とインストール」でインストールしてください。
プログレッシング -> ツールボックス でLeast-Cost pathを選んでダブルクリック
なお、r.walk.pointsの検索状態のままになっている場合は、検索フィールドの右端のアイコンをクリックして検索状態を解除してください。
line.shpという名前で保存して、「実行」
元本とちょっと違う?
標高ラスターのデータが違っているのか….な?
でも、3D地図で見てみると……確かにコストが最小になるような所を通っているような気がしますね。
Leave a Reply