見出し画像

【ArcGIS Pro】あなたのための水文解析

本記事では,氾濫シミュレーションで使える基礎的なデータの構築に向け,ArcGIS Proを用いた水文解析のやり方を備忘録的に書いていく。
ArcGIS Proを用いた水文解析について参考になるサイトには,
ArcGIS Pro: ArcGISで水文解析を行う方法 (ESRIジャパン
水文解析のサンプル アプリケーション(ESRI
簡便な土砂災害孤立リスク評価マップ作成手法(北海道立総合研究機構)」などがある。

また,QGISを用いた水文解析について参考になるサイトには,
[初心者] QGISでの流域界(集水域)作成方法(水文解析)
ラスタデータの分析(GIS実習オープン教材)
QGIS:DEMの領域内のすべての流域界と流路のベクタを作成する(SKラボ.net)」などがある。

さらに,SAGA GISを用いた水文解析について参考になるサイトには,
SAGAを使って地形解析(浅野友子 ホームページ」などがある。
本記事はそれらの二番煎じにはなるが,GIS初心者でも解析できるように
丁寧に解説していく。

今回は静岡県東部の伊豆半島あたりを対象に,ArcGIS Proを用いて
流向ラスタ・累積流量ラスタ・河川次数ラスタ・流域ラスタ・集水域ラスタ」の計5つのラスタを作成していく。


1. 水文解析とは?

そもそも水文解析とは何なのか。
水文解析とは,流域の範囲・河川の流路・流量などを把握する手法である。これにより,治水対策(洪水予測,防災対策)・水資源管理・災害リスク評価・都市計画におけるインフラ整備などに役立てることが可能である。一昔前の水文分野の研究では,地形図や空中写真などから河道位置と集水域を手作業で抽出・整理し,降雨量をもとに河川流量や水収支の解析を行っていた。これらの作業には時間やコストがかかり,解析対象の流域が広いほど根気のいる作業であった。
近年では,地理情報システム(GIS:Geographic Information System)の発達や全国的な数値標高モデル(DEM:Digital Elevation Model)の整備により,コンピュータ上で簡単に解析できるようになっている。

2. 標高データの取得方法

GISを用いたほとんどの水文解析で必要なのは標高データである。
標高についての詳しい説明は,
GISで学ぶ野生動物・鳥類の生態の「【QGIS3】国土地理院の基盤地図情報(数値標高モデル)のXMLファイルをQGISへインポートする方法https://www.inokumaaranuu.com/qgiskmlimport/#rtoc-3)」や
ESRIジャパンの「GIS 基礎解説 標高データhttps://www.esrij.com/gis-guide/other-dataformat/elevation-data/)」を参照されたい。
本記事の説明もこれらのサイトを参考にしている。

今回は国土地理院の数値標高モデル(DEM)https://fgd.gsi.go.jp/download/menu.php)と,
山崎ら[1]によって考案された日本域表面流向マップ(J-FlwDir: Japan Flow Direction Map)https://hydro.iis.u-tokyo.ac.jp/~yamadai/JapanDir/)の2つを用いる。

2.1 DEMの取得

国土地理院の基盤地図情報ダウンロードサービスでは,10mDEM・5mDEM・1mDEM(2023年11月より整備開始)の3種類が提供されている。5mDEMは10mDEMに比べ精度が良いが,山岳地域ではデータの欠損があるため本記事では10mDEMを用いる。

※ 基盤地図情報ダウンロードサービスからデータをダウンロードする際には,必ずユーザー登録(https://ssosv.gsi.go.jp/piss/Attention.aspx)を行う必要である。

(出典)基盤地図情報ダウンロードサービス(https://fgd.gsi.go.jp/download/ref_dem.html)

本記事では静岡県東部を対象とするため,下記の部分のデータをダウンロードした。ダウンロードデータは圧縮されているのため解凍し,一つのフォルダの同じ階層にまとめておく。

基盤地図情報ダウンロードサービス上での静岡県東部の選択

解凍すると「○○○○.xml」という形式のファイルがあることがわかる。GISで使う際にはGeoTIFF形式に変換する必要があり,ArcGIS Pro内でもzip形式のファイルからDEMを作成する機能があるが少し時間がかかってしまうため株式会社エコリスの基盤地図情報標高DEM変換ツールhttps://www.ecoris.co.jp/contents/demtool.html)を用いる。
基盤地図情報標高DEM変換ツールをダウンロードし,「変換結合.vbs」というアプリケーション用いてGeoTIFF形式に変換する。このツールでは,一つ一つの「○○○○.xml」ファイルがそれぞれ1枚のGeoTIFF形式に変換される。
アプリ内では,これらを全て結合させた状態(すべての画像を1枚にまとめた状態)まで出力することが可能である。すべてを結合したGeoTIFFが「merge.tif」という名前で保存される。

基盤地図情報 標高DEMデータ変換ツールの「変換結合.vbs」

### 変換方法について ###
(「基盤地図情報 標高DEMデータ変換ツール」より引用)
① http://fgd.gsi.go.jp/download/ ここからJPGIS(GML形式)の標高データをダウンロードしてファイルを解凍する。
② 変換結合.vbsをダブルクリックして,変数の入力,JPGIS(GML形式)のXMLファイルが入っているフォルダを選択する。
③ フォルダ内のXMLが,すべてGeoTIFFに変換される。(投影法は緯度経度)
④ すべてを結合したGeoTIFFがmerge.tifという名前で保存される。(②で選択した投影法)
⑤ 陰影起伏図がmerge_shade.tifという名前で保存される。(②で作成するように設定した場合)

(出典)基盤地図情報 標高DEMデータ変換ツール(https://www.ecoris.co.jp/contents/demtool.html

2.2 日本域表面流向マップ(J-FlwDir)の取得

日本域表面流向マップとは,地理院の「国土数値情報」「基盤地図情報」を用いて, 東京大学と京都大学が開発した高精度水文地形データセットhttps://hydro.iis.u-tokyo.ac.jp/~yamadai/JapanDir/)である。
ここでは,「表面流向データ(表面流向と整合性のとれた水文地形データレイヤ)」「水文補正標高」「上流集水面積」「上流集水ピクセル」「河道幅」「直近の河道からの相対高さ」などのデータを取得することができる。詳細は山崎ら[1](https://www.jstage.jst.go.jp/article/jscejhe/74/5/74_I_163/_article/-char/ja/)を参照されたい。

(出典)山崎ら[1](https://www.jstage.jst.go.jp/article/jscejhe/74/5/74_I_163/_pdf/-char/ja

本記事では,高解像度水文地形データセットの中でも
Flow Direction Map / 表面流向」「Adjusted Elevation / 水文補正標高」「Flow Accumulation Pixels / 上流集水ピクセル数」を3つを用いる

2.3 県境データの取得

DEMおよび日本域表面流向マップは,陸地部分だけでなく海部分まで含まれたデータである。欲しいデータは陸地部分なので,あらかじめ県境のポリ後データをダウンロードしておく。
本記事では,県境データとしてESRIジャパンの「全国市町村界データ(https://www.esrij.com/products/japan-shp/)」を用いる。
サイトからダウンロードし,解凍しておく。

3. DEMを用いた水文解析

この章では2.1章で取得したDEMをもとに,ArcGIS Proの解析ツールを用いて基本的な水文解析を行っていく。流れは以下のとおりである。

DEMを用いた水文解析のフローチャート

3.1 標高データの前処理(窪地埋め)

水文解析の前に標高データの前処理を行う。
基盤地図情報より取得したDEMデータをもとに流向ラスタや累積流量ラスタを作成すると,地形の細かな窪地(凹地形)の影響で意図しない結果が出る時がある。そのため,窪地の除去処理を行う。

サーフェスの平滑化のイメージ図

ArcGIS Proを開き2.1章で取得した「merge.tif」をドラッグ&ドロップで表示させる。取得データの北西部には富士山があるため,配色が引っ張られている。
また,2.3章で取得した県境データ「japan_ver84.shp」もドラッグ&ドロップで表示させる。

ArcGIS Proでのmarge.tifの表示
(背景はOpen Street Map)

窪地を埋めるため,上部の解析タブツールからジオプロセッシングウィンドウを開き,「サーフェスの平滑化」と検索してウィンドウを開く。

「サーフェスの平滑化」ツールの開き方

入力サーフェスラスターを「merge.tif」(選択形式)
出力サーフェスラスターを「Fill_merge」に設定し実行する。
対象とする範囲によるが,本記事だと10秒程度かかる。
ラスタの見た目には変化はないが,窪地が埋められたラスタ「Fill_merge.tif」が作成される。

サーフェスの平滑化(Fill)の入力値

3.2 流向ラスタの作成

流向ラスタとは,水の流れの方向を指し示すラスタである。
ラスタ内の各セルからの流向方向(地形がどっちに傾いているか)を特定。

標高ラスタから流向ラスタを作成する際のイメージ図

上部の解析タブツールからジオプロセッシングウィンドウを開き,「流向ラスタ」と検索してウィンドウを開く。

「流向ラスターの作成(Flow Direction)」ツールの開き方

パラメータータブの
入力サーフェスラスターを3.1章で作成した「Fill_merge」(選択形式)
出力流向ラスターを「FlowDirection
流向タイプを「D8」(選択形式)に設定。
環境タブに移動し,
マスクを「japan_ver84」(選択形式)に設定し実行。

流向ラスターの作成(Flow Direction)の入力値

流向タイプでは,D8・MFD・DIFNからなる
3つのフローモデリング方法がある。

■ D8
フロー方向は,D8 法によって決定される。 この方法では,最も急な傾斜となる近傍ピクセルに流向が割り当てられる。
東(1)・南東(2)・南(4)・南西(8)・西(16)・北西(32)・北(64)・北東(128)
の 8 方向に分けられる。
■ MFD
フロー方向は,MFD法(Multiple Flow Direction)に基づき,適応可能な配分指数に応じて降下傾斜となる近傍全体に分割される。
■ DINF
流向が DINF 法(D-Infinity)に基づき,三角形面で最も傾斜が急な勾配に流向が割り当てられる。

(出典)流向ラスターの作成の詳細(https://pro.arcgis.com/ja/pro-app/latest/tool-reference/spatial-analyst/how-flow-direction-works.htm

実行すると,県境でくり抜かれた流向ラスタが出力される。
以下の画像は出力画像のシンボルを設定し見やすいように色分けしている。
プライマリシンボルを「分類」(選択形式)
方法を「等量」(選択形式)
クラスを「8」(選択形式)
に設定。

流向ラスタの出力結果とシンボルの設定

拡大してみると,8色に分類されているのがわかる。
これにより,斜面の傾斜方向を知ることができる。

流向ラスタの拡大図(伊豆半島先端部)

3.3 累積流量ラスタの作成

累積流量ラスタとは,1ピクセルを流量1として各セルに流れ込む流量の合計値を示すラスタである。当該メッシュの流量と流向が向いている下位のメッシュの流量を,次々に累積していく。

流向ラスタから累積流量ラスタを作成する際のイメージ図

上部の解析タブツールからジオプロセッシングウィンドウを開き,
累積流量」と検索してウィンドウを開く。

「累積流量ラスターの作成(Flow Accumulation)」ツールの開き方

パラメータータブの
入力流向ラスターを3.2章で作成した「FlowDirection」(選択形式)
出力累積流量ラスターを「FlowAccumulation
入力流向タイプを「D8」(選択形式)に設定。
環境タブに移動し,
マスクを「japan_ver84」(選択形式)に設定し実行。
※ 1分程度かかる場合がある

累積流量ラスターの作成(Flow Accumulation)の入力値

実行すると県境でくり抜かれた累積流量ラスタが作成される。
以下の画像は出力画像のシンボルを設定し見やすいように色分けしている。
プライマリシンボルを「分類」(選択形式)
方法を「等量」(選択形式)
クラスを「5」(選択形式)
に設定。

累積流量ラスタの出力結果とシンボルの設定

拡大してみると,谷線や河川に沿って色分けされているのがわかる。
これにより,河川の大まかな位置を知ることができる。

累積流量ラスタの拡大図(伊豆半島先端部)

3.4 河川次数ラスタの作成

河川次数ラスタとは,河川網のリンクに次数を割り当てたラスタである。川の大きさや重要度を数値化することができ,川の本流と支流を区別し,本流により近いほど高い次数を割り当てることで,川の階層構造を表現する。

上部の解析タブツールからジオプロセッシングウィンドウを開き,
河川次数」と検索してウィンドウを開く。

「河川次数ラスターの作成(Stream Order)」ツールの開き方

パラメータータブの
入力河川ラスターを3.3章で作成した「FlowAccumulation」(選択形式)
入力流向ラスターを3.2章で作成した「FlowDirection」(選択形式)
出力ラスターを「StreamOrder
河川の順序付けに使用する方法を「Strahler」(選択形式)に設定。
環境タブに移動し,マスクを「japan_ver84」(選択形式)に設定し実行。

河川次数ラスターの作成(Stream Order)の入力値

「河川の順序付けに使用する方法」には,StrahlerShreveの2つがある。
Strahler
Strahlerの方法では,以下のようにして河川次数を決定する。
① 最も小さな支流には次数1を割り当てる
② 同じ次数の川が合流すると,次数が1つ上がる
③ 異なる次数の川が合流した場合は、高い方の次数を引き継ぐ
例えば,次数1の川が2本合流すると次数2となり,
次数2の川と次数1の川が合流すれば次数2のままとなる。
Shreve
Shreveの方法は上流に存在する河川本数をもとに河川次数を決定する。
① 最も小さな支流には次数1を割り当てる
② 川が合流する際,合流する川の次数を足し合わせた値が新しい次数となる
例えば,次数1の川が2本合流すれば次数2となり,次数2の川と次数3の川が合流すれば次数5となる。この方法では川の大きさを直接的に表現できる半面,次数の値が大きくなりすぎるというデメリットがある。

「河川の順序付けに使用する方法」におけるStrahler(1957)とShreve(1966)の違い

本記事では,Strahlerの方法を採用する。
実行すると県境でくり抜かれた河川次数ラスタが作成される。
以下の画像は出力画像のシンボルを設定し見やすいように色分けしている。
プライマリシンボルを「個別」(選択形式)
フィールドを「Value」(選択形式)
に設定。
また,その下の値部分で,河川実数1・2の表示を「色なし」に変更。

河川次数ラスタの出力結果とシンボルの設定

拡大してみると,河川の合流に色が分かれているのがわかる。
これにより,河川の大きさや重要度を数値で知ることができる。

河川次数ラスタの拡大図(静岡県沼津市沿岸部)
平野部では標高差が無いことが理由で河川実数の低い箇所はきれいに出ないことが多い

3.5 流域ラスタの作成

流域ラスタとは,異なる流域(河川の範囲やその水が集まる範囲)の境界を示すラスタである。分水界,流域界と呼ぶこともある。

上部の解析タブツールからジオプロセッシングウィンドウを開き,
流域ラスタ」と検索してウィンドウを開く。

「流域ラスターの作成(Basin)」ツールの開き方

パラメータータブの
D8入力流向ラスターを3.2章で作成した「FlowDirection」(選択形式)
出力ラスターを「Basin」に設定し実行。

流域ラスターの作成(Basin)の入力値

実行すると県境でくり抜かれた流域ラスタが作成される。
以下の画像は出力画像のシンボルを設定し見やすいように色分けしている。
プライマリシンボルを「ストレッチ」(選択形式)
透過表示を「37%」に設定。

流域ラスタの出力結果とシンボルの設定

これにより,河川の水が集まる範囲を可視化することができる。

3.6 集水域ラスタの作成

ここで言う集水域ラスタとは,ある地点から上流の流域を示すラスタである。本記事では,静岡県の中でも,狩野川中流部のとある地点を設定し,その地点より上流の集水域ラスタを作成していく。

まず,調べたい領域の最下流地点のpointを作成していく。
上部の表示タブカタログウィンドウを開き,
プロジェクトを右クリックしてメニューを開く。
新規フィーチャクラスの順で選択し,フィーチャクラスの作成を開く。

フィーチャクラスの作成

名前を「集水域ラスタの最下流地点
フィーチャクラスタイプを「マルチポイント」(選択形式)
に設定し完了を押す。
この作業では,データの入っていない空のpointベクタを作成している。

フィーチャクラスの作成

次に,この空のpointベクタにデータを追加していく。
① 上部の編集タブ作成を選択
② 作成した空のpointベクタ(集水域ラスタの最下流地点)を選択
③ 河川実数ラスタ(StreamOrder)を表示させ,調べたい流域の最下流地点を左クリックで設定。この時,最下流地点は河川実数ラスタ上で数値の大きい場所を採用すること。
④ 設定した最下流地点の仮決定
⑤ 保存を押して設定した最下流地点を決定

最下流地点の設定
最下流地点の設定

そして,集水域ラスタを作成していく。
上部の解析タブツールからジオプロセッシングウィンドウを開き,
集水域ラスタ」と検索してウィンドウを開く。

「集水域ラスターの作成(Watershed)」ツールの開き方

パラメータータブの
D8入力流向ラスターを3.2章で作成した「FlowDirection」(選択形式)
流出点データとして使用する入力ラスタ、またはフィーチャを
先ほど作成した「集水域ラスタの最下流地点」(選択形式)
出力ラスターを「Watershed」に設定し実行。

集水域ラスターの作成(Watershed)の入力値

実行すると最下流地点より上流部の集水域ラスタが作成される。

集水域ラスタの出力結果

4. 日本域表面流向マップを用いた水文解析

山崎らの日本域表面流向マップをダウンロードすると,
3章で出力した2つデータが名前は違えどデータセットとして揃っている。
標高データ(水文補正標高)
流域ラスタ(上流集水グリッド数)

しかしながら,それぞれラスタが複数枚ありデータ範囲が全国に渡るため
各データのラスタを結合(マージ,ディゾルブ)し,
対象地域の範囲でクリップする。流れは以下のとおりである。

日本域表面流向マップを用いた水文解析のフローチャート

4.1 各データの取得

本記事では,ラスタの結合および対象範囲のクリップに関する説明は
割愛する。元データである日本域表面流向マップのライセンスは,
Creative Commons Attribution 4.0 国際ライセンス(CC-BY 4.0)
であるため,加工後再配布が可能である

静岡県の範囲でクリップした各データを以下に置いておく。

4.2 流向ラスタ・集水域ラスタの作成

水文補正標高ラスタから,3.2章と同様に流向ラスタを作成する。
流向ラスタからと上流集水グリッド数ラスタから,3.4章と同様に河川次数ラスタを作成する。
流向ラスタから,3.6章と同様に集水域ラスタを作成する。

日本域表面流向マップを用いた集水域ラスタの出力結果

4.3 集水域ラスタのベクタ化

4.1章で配布したデータについて,5章でさらに集水域単位でクリップするため,3.6章と同様に作成した集水域ラスタをベクタデータに変換する。

上部の解析タブツールからジオプロセッシングウィンドウを開き,
ラスター→ポリゴン」と検索してウィンドウを開く。

「ラスター→ポリゴン(Raster to Polygon)」ツールの開き方

パラメータータブの
入力ラスターを4.2章で作成した「集水域ラスタを選択」(選択形式)
出力ポリゴン フィーチャを「Watershed_JFDM」に設定し実行。

ラスター→ポリゴン(Raster to Polygon)の入力値

5. ASCII-Grid形式への変換

本記事で作成してきたデータを氾濫シミュレーション等で使用する場合,
ASCII-Grid形式での出力が求められることがある。そのため,
4.1章で配布したデータを,
4.3章で作成した集水域ベクタでクリップしてから,
ASCII-Grid形式で保存する。

5.1 日本域表面流向マップ(JFDM)データのクリップ

上部の解析タブツールからジオプロセッシングウィンドウを開き,
ラスターのクリップ」と検索してウィンドウを開く。

「ラスターのクリップ(Clip Raster)」ツールの開き方

まず,表面流向ラスタをクリップする。
パラメータータブの
入力ラスターをダウンロードした「表面流向.tif」(選択形式)
出力範囲を4.3章で作成した「Watershed_JFDM」(選択形式)
出力ラスター データセットを「DIR
入力フィーチャをクリップ ジオメトリとして使用」にチェック
をつけて実行。

ラスターのクリップ(Clip Raster)の入力値

同様にして,上流集水グリッド数ラスタをクリップする。
パラメータータブの
入力ラスターをダウンロードした「上流集水グリッド数.tif」(選択形式)
出力範囲を4.3章で作成した「Watershed_JFDM」(選択形式)
出力ラスター データセットを「ACC
入力フィーチャをクリップ ジオメトリとして使用」にチェック
をつけて実行。

同様にして,水文補正標高ラスタをクリップする。
パラメータータブの
入力ラスターをダウンロードした「水文補正標高.tif」(選択形式)
出力範囲を4.3章で作成した「Watershed_JFDM」(選択形式)
出力ラスター データセットを「DEM
入力フィーチャをクリップ ジオメトリとして使用」にチェック
をつけて実行。

5.2 ASCII-Grid形式での保存

上部の解析タブツールからジオプロセッシングウィンドウを開き,
ラスター→ASC」と検索してウィンドウを開く。

「ラスター→ASCⅡ(Raster to ASCⅡ)」ツールの開き方

まず,DIR(表面流向ラスタ)を保存する。
パラメータータブの
入力ラスターを「DIR」(選択形式)
出力ASCⅡ ラスター ファイルを「DIR_JFDM.asc
に設定し保存。
注意点として,ASCIIラスタの保存名には
必ず拡張子「.asc」をつけること。

ラスター→ASCⅡ(Raster to ASCⅡ)の入力値

同様にして,ACC(上流集水グリッド数ラスタ)を保存する。
パラメータータブの
入力ラスターを「ACC」(選択形式)
出力ASCⅡ ラスター ファイルを「ACC_JFDM.asc
に設定し保存。
注意点として,ASCIIラスタの保存名には
必ず拡張子「.asc」をつけること。

同様にして,DEM(水文補正標高ラスタ)を保存する。
パラメータータブの
入力ラスターを「DEM」(選択形式)
出力ASCⅡ ラスター ファイルを「DEM_JFDM.asc
に設定し保存。
注意点として,ASCIIラスタの保存名には
必ず拡張子「.asc」をつけること。

6. まとめ

お疲れ様でした。
以上でArcGIS Proを用いた水文解析の解説を終わります。

参考文献

[1] 山崎大,冨樫冴佳,竹島滉,佐山敬洋,2018.日本全域高解像度の表面
      流向データ整備.土木学会論文集B1 (水工学),75巻5号,I_163-I_168.

この記事が気に入ったらサポートをしてみませんか?