はじめに
本記事では,氾濫シミュレーションで使える基礎的なデータの構築に向け,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を用いたほとんどの水文解析で必要なのは標高データである。
標高についての詳しい説明は,
「【QGIS3】国土地理院の基盤地図情報(数値標高モデル)のXMLファイルをQGISへインポートする方法(GISで学ぶ野生動物・鳥類の生態)」
「GIS 基礎解説 標高データ(ESRIジャパン)」
を参照されたい。本記事の説明もこれらのサイトを参考にしている。
今回は国土地理院の数値標高モデル(DEM)と,
山崎ら[1]によって考案された日本域表面流向マップ(J-FlwDir: Japan Flow Direction Map)
の2つを用いる。
2.1 DEMの取得
国土地理院の基盤地図情報ダウンロードサービスでは,10mDEM・5mDEM・1mDEM(2023年11月より整備開始)の3種類が提供されている。5mDEMは10mDEMに比べ精度が良いが,山岳地域ではデータの欠損があるため本記事では10mDEMを用いる。
基盤地図情報ダウンロードサービスからデータをダウンロードする際には,
必ずユーザー登録を行う必要である。
(出典)基盤地図情報ダウンロードサービス(https://fgd.gsi.go.jp/download/ref_dem.html)
本記事では静岡県東部を対象とするため,下記の部分のデータをダウンロードした。ダウンロードデータは圧縮されているのため解凍し,一つのフォルダの同じ階層にまとめておく。
解凍すると「○○○○.xml」という形式のファイルがあることがわかる。GISで使う際にはGeoTIFF形式に変換する必要があり,ArcGIS Pro内でもzip形式のファイルからDEMを作成する機能があるが少し時間がかかってしまうため株式会社エコリスの**基盤地図情報標高DEM変換ツール**を用いる。
基盤地図情報標高DEM変換ツールをダウンロードし,「変換結合.vbs」というアプリケーション用いてGeoTIFF形式に変換する。このツールでは,一つひとつの「○○○○.xml」ファイルがそれぞれ1枚のGeoTIFF形式に変換される。アプリ内では,これらを全て結合させた状態(すべての画像を1枚にまとめた状態)まで出力することが可能である。すべてを結合したGeoTIFFが「merge.tif」という名前で保存される。
-
変換方法について
基盤地図情報標高DEM変換ツールの使い方については,以下のサイトを参照されたい。
① 基盤地図情報ダウンロードサービス 数値標高モデル (https://fgd.gsi.go.jp/download/menu.php )からJPGIS(GML形式)の標高データをダウンロードしてファイルを解凍する。
② 変換結合.vbsをダブルクリックして,変数の入力,JPGIS(GML形式)のXMLファイルが入っているフォルダを選択する。
③ フォルダ内のXMLが,すべてGeoTIFFに変換される。(投影法は緯度経度)
④ すべてを結合したGeoTIFFがmerge.tifという名前で保存される。(②で選択した投影法)
⑤ 陰影起伏図がmerge_shade.tifという名前で保存される。(②で作成するように設定した場合)
2.2 日本域表面流向マップ(J-FlwDir)の取得
日本域表面流向マップとは,地理院の「国土数値情報」「基盤地図情報」を用いて,
東京大学と京都大学が開発した高精度水文地形データセットである。
ここでは,
「表面流向データ(表面流向と整合性のとれた水文地形データレイヤ)」
「水文補正標高」
「上流集水面積」
「上流集水ピクセル」
「河道幅」
「直近の河道からの相対高さ」
などのデータを取得することができる。
詳細は山崎らの論文[1]を参照されたい。
(出典)山崎ら[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ジャパンの「全国市町村界データ」を用いる。サイトからダウンロードし,解凍しておく。
3. DEMを用いた水文解析
この章では2.1章で取得したDEMをもとに,ArcGIS Proの解析ツールを用いて基本的な水文解析を行っていく。流れは以下のとおりである。
3.1 標高データの前処理(窪地埋め)
水文解析の前に標高データの前処理を行う。
基盤地図情報より取得したDEMデータをもとに流向ラスタや累積流量ラスタを作成すると,地形の細かな窪地(凹地形)の影響で意図しない結果が出力される場合がある。
そのため,窪地の除去処理を行う。
ArcGIS Proを開き2.1章で取得した「merge.tif」をドラッグ&ドロップで表示させる。
取得データの北西部には富士山があるため,配色が引っ張られている。
また,2.3章で取得した県境データ「japan_ver84.shp」も同様にして表示させる。
ArcGIS Proでのmarge.tifの表示
(背景はOpen Street Map)
窪地を埋めるため,上部の解析タブのツールからジオプロセッシングウィンドウを開き,「サーフェスの平滑化」と検索してウィンドウを開く。
タブ | 項目 | 入力値 | 選択 or 入力 |
---|---|---|---|
パラメーター | 入力サーフェスラスター | merge.tif | 選択 |
パラメーター | 出力サーフェスラスター | Fill_merge | 入力 |
上記に設定し,実行。
対象とする範囲によるが,本記事だと10秒程度かかる。
ラスタの見た目には変化はないが,窪地が埋められた「Fill_merge.tif」が作成される。
3.2 流向ラスタの作成
流向ラスタとは,水の流れの方向を指し示すラスタである。
ラスタ内の各セルからの流向方向(地形がどっちに傾いているか)を特定。
上部の解析タブのツールからジオプロセッシングウィンドウを開き,
「流向ラスタ」と検索してウィンドウを開く。
タブ | 項目 | 入力値 | 選択 or 入力 |
---|---|---|---|
パラメーター | 入力サーフェスラスター | 3.1章で作成したFill_merge | 選択 |
パラメーター | 出力流向ラスター | FlowDirection | 入力 |
パラメーター | 流向タイプ | D8 | 選択 |
環境 | マスク | japan_ver84 | 選択 |
流向タイプでは,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)
上記の設定で実行すると,県境でくり抜かれた流向ラスタが出力される。
シンボルの項目 | 入力値 | 選択 or 入力 |
---|---|---|
プライマリシンボル | 分類 | 選択 |
方法 | 等量 | 選択 |
クラス | 8 | 選択 |
以下の画像は出力画像のシンボルを設定し見やすいように色分けしている。
拡大してみると,8色に分類されているのがわかる。
これにより,斜面の傾斜方向を知ることができる。
3.3 累積流量ラスタの作成
累積流量ラスタとは,1ピクセルを流量1として各セルに流れ込む流量の合計値を示すラスタである。当該メッシュの流量と流向が向いている下位のメッシュの流量を,次々に累積していく。
上部の解析タブのツールからジオプロセッシングウィンドウを開き,
「累積流量」と検索してウィンドウを開く。
タブ | 項目 | 入力値 | 選択 or 入力 |
---|---|---|---|
パラメーター | 入力流向ラスター | 3.2章で作成したFlowDirection | 選択 |
パラメーター | 出力累積流量ラスター | FlowAccumulation | 入力 |
パラメーター | 入力流向タイプ | D8 | 選択 |
環境 | マスク | japan_ver84 | 選択 |
上記に設定し実行。
※ 1分程度かかる場合がある
実行すると県境でくり抜かれた累積流量ラスタが作成される。
以下の画像は出力画像のシンボルを設定し見やすいように色分けしている。
シンボルの項目 | 入力値 | 選択 or 入力 |
---|---|---|
プライマリシンボル | 分類 | 選択 |
方法 | 等量 | 選択 |
クラス | 5 | 選択 |
拡大してみると,谷線や河川に沿って色分けされているのがわかる。
これにより,河川の大まかな位置を知ることができる。
3.4 河川次数ラスタの作成
河川次数ラスタとは,河川網のリンクに次数を割り当てたラスタである。
河川の大きさや重要度を数値化することができる。川の本流と支流を区別し,
本流により近いほど高い次数を割り当てることで,川の階層構造を表現する。
上部の解析タブのツールからジオプロセッシングウィンドウを開き,
「河川次数」と検索してウィンドウを開く。
タブ | 項目 | 入力値 | 選択 or 入力 |
---|---|---|---|
パラメーター | 入力河川ラスター | 3.3章で作成したFlowAccumulationn | 選択 |
パラメーター | 入力流向ラスター | 3.2章で作成したFlowDirection | 選択 |
パラメーター | 出力ラスター | StreamOrder | 入力 |
パラメーター | 河川の順序付けに使用する方法 | Strahler | 選択 |
環境 | マスク | japan_ver84 | 選択 |
「河川の順序付けに使用する方法」には,StrahlerとShreveの2つがある。
- Strahler(1957)
Strahlerの方法では,以下のようにして河川次数を決定する。
① 最も小さな支流には次数1を割り当てる
② 同じ次数の川が合流すると,次数が1つ上がる
③ 異なる次数の川が合流した場合は、高い方の次数を引き継ぐ例えば,次数1の川が2本合流すると次数2となり,次数2の川と次数1の川が合流すれば次数2のままとなる。
- Shreve(1966)
Shreveの方法は上流に存在する河川本数をもとに河川次数を決定する。
① 最も小さな支流には次数1を割り当てる
② 川が合流する際,合流する川の次数を足し合わせた値が新しい次数となる例えば,次数1の川が2本合流すれば次数2となり,次数2の川と次数3の川が合流すれば次数5となる。この方法では川の大きさを直接的に表現できる半面,次数の値が大きくなりすぎるというデメリットがある。
本記事では,Strahler(1957) の方法を採用する。実行すると県境でくり抜かれた河川次数ラスタが作成される。以下の画像は出力画像のシンボルを設定し見やすいように色分けしている。
シンボルの項目 | 入力値 | 選択 or 入力 |
---|---|---|
プライマリシンボル | 個別 | 選択 |
フィールド | Value | 選択 |
値 | 河川実数1・2の表示を「色なし」 | 選択 |
拡大してみると,河川の合流に色が分かれているのがわかる。
平野部では標高差が無いことが理由で,河川実数の低い箇所はきれいに出ないことが多い。
これにより,河川の大きさや重要度を数値で知ることができる。
3.5 流域ラスタの作成
流域ラスタとは,異なる流域(河川の範囲やその水が集まる範囲)の境界を示すラスタである。分水界,流域界と呼ぶこともある。
上部の解析タブのツールからジオプロセッシングウィンドウを開き,
「流域ラスタ」と検索してウィンドウを開く。
タブ | 項目 | 入力値 | 選択 or 入力 |
---|---|---|---|
パラメーター | D8入力流向ラスター | 3.2章で作成したFlowDirection | 選択 |
パラメーター | 出力ラスター | Basin | 入力 |
実行すると県境でくり抜かれた流域ラスタが作成される。
以下の画像は出力画像のシンボルを設定し見やすいように色分けしている。
シンボルの項目 | 入力値 | 選択 or 入力 |
---|---|---|
プライマリシンボル | ストレッチ | 選択 |
透過表示 | 37% | 選択 |
これにより,河川の水が集まる範囲を可視化 することができる。
3.6 集水域ラスタの作成
ここで言う集水域ラスタとは,ある地点から上流の流域を示すラスタである。
本記事では,静岡県の中でも狩野川中流部のとある地点を設定し,
その地点より上流の集水域ラスタを作成していく。
まず,調べたい領域の最下流地点のpointを作成していく。
上部の表示タブのカタログウィンドウを開き,
プロジェクトを右クリックしてメニューを開く。
新規➡フィーチャクラスの順で選択し,フィーチャクラスの作成を開く。
項目 | 入力値 | 選択 or 入力 |
---|---|---|
名前 | 集水域ラスタの最下流地点 | 入力 |
フィーチャクラスタイプ | マルチポイント | 選択 |
この作業では,データの入っていない空のpointベクタを作成している。
次に,この空のpointベクタにデータを追加していく。
① 上部の編集タブの作成を選択
② 作成した空のpointベクタ(集水域ラスタの最下流地点) を選択
③ 河川実数ラスタ(StreamOrder)を表示させ,調べたい流域の最下流地点を左クリックで設定。この時,最下流地点は河川実数ラスタ上で数値の大きい場所を採用すること。
④ 設定した最下流地点の仮決定
⑤ 保存を押して設定した最下流地点を決定
そして,集水域ラスタを作成していく。
上部の解析タブのツールからジオプロセッシングウィンドウを開き,
「集水域ラスタ」と検索してウィンドウを開く。
タブ | 項目 | 入力値 | 選択 or 入力 |
---|---|---|---|
パラメーター | D8入力流向ラスター | 3.2章で作成したFlowDirection | 選択 |
パラメーター | 流出点データとして使用する入力ラスタ、またはフィーチャ | 先ほど作成した集水域ラスタの最下流地点 | 選択 |
パラメーター | 出力ラスター | Watershed | 選択 |
実行すると最下流地点より上流部の集水域ラスタが作成される。
4. 日本域表面流向マップを用いた水文解析
山崎らの日本域表面流向マップをダウンロードすると,
3章で出力した2つデータが名前は違えどデータセットとして揃っている。
標高データ(水文補正標高)
流域ラスタ(上流集水グリッド数)
しかしながら,それぞれラスタが複数枚ありデータ範囲が全国に渡るため
各データのラスタを結合(マージ,ディゾルブ)し,対象地域の範囲でクリップする。
流れは以下のとおりである。
4.1 各データの取得
本記事では,ラスタの結合および対象範囲のクリップに関する説明は割愛する。元データである日本域表面流向マップのライセンスは,Creative Commons Attribution 4.0 国際ライセンス(CC-BY 4.0) であるため,加工後再配布が可能である。
静岡県の範囲でクリップした各データを以下に置いておく。
ファイル名 | サイズ |
---|---|
水文補正標高.tif | 29.3 MB |
上流集水グリッド数.tif | 9.14 MB |
表面流向.tif | 4.73 MB |
4.2 流向ラスタ・集水域ラスタの作成
水文補正標高ラスタから,3.2章と同様に流向ラスタを作成する。
流向ラスタからと上流集水グリッド数ラスタから,
3.4章と同様に河川次数ラスタを作成する。
流向ラスタから,3.6章と同様に集水域ラスタを作成する。
4.3 集水域ラスタのベクタ化
4.1章で配布したデータについて,5章でさらに集水域単位でクリップするため,3.6章と同様に作成した集水域ラスタをベクタデータに変換する。
上部の解析タブのツールからジオプロセッシングウィンドウを開き,
「ラスター→ポリゴン」と検索してウィンドウを開く。
タブ | 項目 | 入力値 | 選択 or 入力 |
---|---|---|---|
パラメーター | 入力ラスター | 4.2章で作成した集水域ラスタ | 選択 |
パラメーター | 出力ポリゴン フィーチャ | Watershed_JFDM | 入力 |
5. ASCII-Grid形式への変換
本記事で作成してきたデータを氾濫シミュレーション等で使用する場合,
ASCII-Grid形式での出力が求められることがある。そのため,4.1章で配布したデータを
4.3章で作成した集水域ベクタでクリップしてからASCII-Grid形式で保存する。
5.1 日本域表面流向マップ(JFDM)データのクリップ
上部の解析タブのツールからジオプロセッシングウィンドウを開き,
「ラスターのクリップ」と検索してウィンドウを開く。
まず,表面流向ラスタをクリップする。
タブ | 項目 | 入力値 | 選択 or 入力 |
---|---|---|---|
入力ラスター | 入力ラスター | ダウンロードした表面流向.tif | 選択 |
パラメーター | 出力範囲 | Watershed_JFDM | 選択 |
パラメーター | 出力ラスター データセット | DIR | 入力 |
パラメーター | 入力フィーチャをクリップ ジオメトリとして使用 | ☑(チェック) | 選択 |
同様にして,上流集水グリッド数ラスタをクリップする。
タブ | 項目 | 入力値 | 選択 or 入力 |
---|---|---|---|
入力ラスター | 入力ラスター | ダウンロードした上流集水グリッド数.tif | 選択 |
パラメーター | 出力範囲 | Watershed_JFDM | 選択 |
パラメーター | 出力ラスター データセット | ACC | 入力 |
パラメーター | 入力フィーチャをクリップ ジオメトリとして使用 | ☑(チェック) | 選択 |
同様にして,水文補正標高ラスタをクリップする。
タブ | 項目 | 入力値 | 選択 or 入力 |
---|---|---|---|
入力ラスター | 入力ラスター | ダウンロードした水文補正標高.tif | 選択 |
パラメーター | 出力範囲 | Watershed_JFDM | 選択 |
パラメーター | 出力ラスター データセット | DEM | 入力 |
パラメーター | 入力フィーチャをクリップ ジオメトリとして使用 | ☑(チェック) | 選択 |
5.2 ASCII-Grid形式での保存
上部の解析タブのツールからジオプロセッシングウィンドウを開き,
「ラスター→ASC」と検索してウィンドウを開く。
まず,DIR(表面流向ラスタ)を保存する。
タブ | 項目 | 入力値 | 選択 or 入力 |
---|---|---|---|
入力ラスター | 入力ラスター | DIR | 選択 |
パラメーター | 出力ASCⅡ ラスター ファイ | DIR_JFDM.asc | 入力 |
注意
ASCIIラスタの保存名には必ず拡張子「.asc」をつけること。
同様にして,ACC(上流集水グリッド数ラスタ)を保存する。
タブ | 項目 | 入力値 | 選択 or 入力 |
---|---|---|---|
入力ラスター | 入力ラスター | ACC | 選択 |
パラメーター | 出力ASCⅡ ラスター ファイ | ACC_JFDM.asc | 入力 |
注意
ASCIIラスタの保存名には必ず拡張子「.asc」をつけること。
同様にして,DEM(水文補正標高ラスタ)を保存する。
タブ | 項目 | 入力値 | 選択 or 入力 |
---|---|---|---|
入力ラスター | 入力ラスター | DEM | 選択 |
パラメーター | 出力ASCⅡ ラスター ファイ | DEM_JFDM.asc | 入力 |
注意
ASCIIラスタの保存名には必ず拡張子「.asc」をつけること。
まとめ
お疲れ様でした。
以上でArcGIS Proを用いた水文解析の解説を終わります。
参考文献
[1] 山崎大,冨樫冴佳,竹島滉,佐山敬洋,2018.日本全域高解像度の表面
流向データ整備.土木学会論文集B1 (水工学),75巻5号,I_163-I_168.