GIS実習オープン教材の学習(その23)

今回は、第11回ラスタデータの分析の課題4 流域解析を行います。
参考URLは、以下になります。
https://gis-oer.github.io/gitbook/book/materials/tasks/t_15.html

課題の内容

今回の課題を以下に示します。

この課題ではDEMデータを用いた、流域解析を行います。以下の手順を参考に、完成例のような図を作成してください。
1.ラスタデータの分析教材を参考に、流域解析を選択し、流域の最小セルサイズを設定する(ここでは、3000とする)。
2.流域と河川のラスタをベクトルに変換する。
3.名前を付けて保存でベクトルレイヤとして保存する
4.地図をレイアウトする

第11回・ ラスタデータの分析 課題4·流域解析 GIS実習オープン教材

今回の課題は、富士山周辺の画像(標高データ)を使って河川と流域を抽出してベクトル化するというものです。抽出には、”GRASS統合QGIS”を使います。

課題の実施

それでは、課題の前準備に取り組みましょう。手順は以下となります。
1.GRASS統合QGISの起動
2.データのダウンロードとQGISへの読み込み
3.流域解析の実施
4.河川のベクトル化
5.流域のベクトル化
それでは早速進めましょう。

1.GRASS統合QGISの起動
GRASS統合QGISは、GRASS(QGISとは別のオープンソースGIS)のライブラリを呼び出すことができるQGISで、QGISをインストールすると導入されます。
GRASS統合QGISの起動は、スタートメニューから”QGIS Desktop 3.10.1 with GRASS 7.8.1”を起動します。(3.10.2-A Coruñaの場合)

スタートメニューからGRASS統合QGISを起動

GRASSの最初のリリースは1986年と長い歴史があり、画像解析用の機能が豊富です。公式サイトは以下になります。
https://grass.osgeo.org/

GRASS統合QGISのメニューや操作性は通常のQGISと同じですが、”プロセシング”にてGRASSのライブラリを呼び出すことができます。

”プロセシング”のGRASS機能

通常版のQGISでも上記メニューは表示されますが、実行すると失敗を示すダイアログが表示されます。

通常のQGISからGRASS機能呼び出し時のエラー表示

2.データのダウンロードとQGISへの読み込み
下記データをダウンロードして解凍しGRASS統合QGIS(以降、単にQGISと呼びます)へ読み込んでください。
https://github.com/gis-oer/datasets/blob/master/fuji.zip

3.流域解析の実施
流域解析とは、標高図から傾斜を判断して水の流れる範囲や水の量を推定するものです。
流域解析の操作は、以下のように行います。
・QGISのメニューから[プロセシング]、[ツールボックス]を選択
・表示される”プロセシングツールボックス”から、[GRASS]、[ラスタ(r.*)]、[r.watershed]を選択
・表示される”r.watershed”ダイアログに以下を入力し”実行”ボタンを押下
 標高:fuji_2000_8(読み込んだDEM画像)
 外部流域の最小サイズ:3000(課題の指定数値、単位はセル)

r.watershedダイアログ

外部流域の最小サイズの3,000とは、解析の最小サイズを示す数値で単位はセルサイズ(=ピクセル)です。
以前の記事に書きましたが、画像データのピクセル数と実距離は以下のようになっていますので、
 ・画像のピクセル数:X=1,833、Y=1,814
 ・実距離(メートル):X=50,571、Y=50,048
 ・1ピクセルの実距離:XYとも約27.56メートル
指定した3,000を実距離に変換すると、以下のようになります。
 √3,000×27.56=1,509.52メートル
つまり、解析の最小サイズを約15ヘクタールと指定しています。

流域解析は、2分程度で終了し下記9種類の解析結果がレイヤとして表示されます。
・排水先セル数の出力
・反流域の出力
・流域ラベルの出力(4.河川のベクトル化で使用)
・Topographic Indexの出力
・排水方向の出力
・傾斜勾配係数(S係数)の出力
・河川セグメントの出力(5.流域のベクトル化で使用)
・傾斜長勾配係数(LS係数)の出力
・Stream Power Indexの出力

流域解析実行後のQGIS画面

4.河川のベクトル化
河川のベクトル化は、流域解析で生成された”河川セグメントの出力”レイヤを使用します。このレイヤは、流域解析にて一定量の水の流量がある場合にその中心を抽出したラスタ(画像)レイヤです。
河川のベクトル化の操作は、以下のように行います。
・”プロセシングツールボックス”から[GRASS]、[ラスタ(r.*)]、[r.to.vect]を指定
・表示される”r.to.vect”ダイアログに、以下の入力を行い”実行”ボタンを押下
 入力ラスタ: 河川セグメントの出力
 地物のタイプ:line

河川のベクトル化を指定

ベクタ化は、2分程度で終了し下図のように”ベクタ化”レイヤ(線)が新規作成されます。

ベクタ化された河川

5.流域のベクトル化
流域のベクトル化は、流域解析で生成された”流域ラベルの出力”レイヤを使用します。このレイヤは、流域解析にて流域(雨などの水が河川に流れ込む範囲)を抽出したラスタ(画像)レイヤです。
流域のベクトル化の操作は、以下のように行います。
・”プロセシングツールボックス”から[GRASS]、[ラスタ(r.*)]、[r.to.vect]を指定
・表示される”r.to.vect”ダイアログに、以下の入力を行い”実行”ボタンを押下
 入力ラスタ: 流域ラベルの出力
 地物のタイプ:area

流域のベクトル化を指定

ベクタ化は、2分程度で終了し下図のように”ベクタ化”レイヤ(面)が新規作成されます。

ベクタ化された流域

まとめ

ここまで、以下を学習しました。
・流域解析の実施
・河川と流域のベクトル化

今回はラスタのベクトル化を中心に作業しました。
解析は専門的な色合いが強く完全な理解はできませんでしたが、”QGISでそういったこともできる”という理解ができれば今回は十分かと思っています。

ここ数年行っていませんが、私の唯一の趣味であるスキーに、GISを利用しているブログ記事を見つけました。(少し古い記事です)

私の考える良いスキー場のコースの条件は以下のようなものです。
・標高の低いところに緩斜面があり高いところに急斜面(ファミリー用と上級者用ゲレンデ)
・コース幅が広い
・滑り降りる方向に対して左右に傾きのある斜面(片斜面)を多く作らない
・ある程度の起伏があり上からコース全体を見渡せる
ニセコヒラフや野沢温泉をイメージしています。ニセコはアンヌプリ山の全体がスキー場として開発されていて環境面では疑問がありますが、コースとしてはとても面白いスキー場です。

GISを使ってスキー場の候補地を探し、実際に開発できれば面白いだろうなと感じました。

次の記事

OpenJUMP1.15