DEM(Digital Elevation Model)データから河川や流域を求めてみます。
QGISを使います。
GRASSの機能を使うのでQGIS Desktop 3.4.12 with GRASS 7.6.1を起動します。
サンプルデータasoから標高ラスターデータ(aso_2kei.tif)は読み込まれているとします。
メニュで、プロセッシング -> ツールボックス を開きます。
検索フィールドでr.waterを検索して、r.watershedをダブルクリック
流域セル数は10000に設定
・
・
以下のパラメータはそれぞれ次のようなファイル名で、パスに日本語名を含まない場所に保存し、実行をクリック。
累積流量
Number of cells that drain through each cell -> flow_accmulation.tif
流れの方向
Drainage direction -> flow_direction.tif
流域
Unique label for each watershed basin -> watershed.tif
河川
Stream segments -> river.tif
河川ラスターをベクトルに変換
ラインに出力できるように河川のラスタを単純化します。
メニュで、プロセッシング -> ツールボックス を開きます。
検索フィールドでr.thinを検索して、ダブルクリック
河川ラスター(Stream segments)を選択して実行
河川ラスタをベクトル(ライン)に変換
メニュで、プロセッシング -> ツールボックス を開きます。
検索フィールドでr.to.vectを検索して、ダブルクリック
Thinnedのラスタを指定し、Feture typeでlineを選択。
出力のファイル名を一時ファイルへの保存として実行。
レイヤーのVectorizedでプロパティ -> シンボロジーを選択し、データのスタイルを調節(色を適当に選択、幅を2くらいに設定)
こんな感じ
国土交通省の河川データと比較
微妙なズレはありますが、あるスケールで見れば、おおむね正解じゃないでしょうか?
出力したデータを保存します。
河川(Vectorized)のプロパティ -> エクスポート -> 地物の保存を選択し、形式をESRI Shapefile、出力場所とファイル名、CRSを指定し、OKをクリック
流域ラスターをベクトルに変換
流域のポリゴンを出力
メニュで、プロセッシング -> ツールボックス を開きます。
検索フィールドでr.to.vectを検索して、ダブルクリック
流域ラスタを指定し、Feature type をareaを選択。
出力のファイル名を一時ファイルへの保存として実行。
こんな感じ。
レイヤで、流域のVectorizedのプロパティ -> シンボロジー -> 分類されたからカラムをcatとし、分類をクリック
こんな感じ。
流域(Vectorized)のプロパティ -> エクスポート -> 地物の保存を実行
Leave a Reply