ruby-robotの夢

cygwin-ruby,qgisの達人を目指す奮闘記

QGISで流域解析に挑戦

流域解析の実施

QGISの機能に流域解析というのがある。

標高ラスターデータから、流域分割を行うものである。

面白そうなので、使ってみた。

まず、DEMから、標高入りのTIFF geotiffを作成しないといけない。

QGIS入門(https://gis-oer.github.io/gitbook/book/materials/15/15.html#%E6%B5%81%E5%9F%9F%E8%A7%A3%E6%9E%90 )を見ると、株式会社エコリスのコンバーターを使うと良い。とある。このファイルは、グレースケール16bitのTIFFに、座標を持たせているようである。

ソフトダウンロードして、変換してみた。10mDEMは、1ファイルが、1125*750位の要素を含む結構重たいファイル(xmlで各13Mbyte程度)であるが、それを、20葉分(19M画素、1900km2相当)変換指定した。ほんの1分くらいで変換された。

結合されたmerge.tifを、QGIS(with GRASS)に入れて、GRASSツールのr.watershedで、解析すると、やはり、1分ぐらいで流域色分けやら、流路やらのTIFFが出てくる。

QGIS入門に従って、流域色分け図や流路をベクトル化も、難無くできた。

今後の課題

さて、ここからが問題である。流路のポリラインと流域ポリゴンの、接続関係を整理してやりたい。具体的には、流路ノード別に上流域のポリゴンを容易に検索できるようにしたい。

f:id:george_thai:20191018185042p:plain

微小な流域分割の例

QGISで、そのような整理ができるだろうか? まだQGISの知識が不足しすぎている。今後の課題とする。

また、流域分割は27169、流路は25583もある。これは多すぎる。r.waterhed実施時のパラメータで、最小画素数は、入門に記載されていた1000としていた。1流域の大きさは、0.1km2が目安となり、2万個くらいで良いはずであるが、少し多い。

今回、1000km2程度の流域を対象に整理するので、よけいな範囲もかなりあるし、精度的にも0.1km2の精度は不要である。

よくみると、細切れの流域が集積している箇所がたくさんある。これは、窪地等で発生しているようである。最小画素数以外にも、パラメータを工夫する余地があるかもしれない。

これを大きくすると、もう少し使いやすくなりそうな予感もある。

とりあえず、最小画素数を、10000としてみると、流域分割は、7251、流路数は、6429であった。やはり、かなりの数の微小流域がみられる。

また、条件データには、以下のようなものも加えられるようだ。

Locations of real depressions 実際の段落ちの位置?

Amount of overland fllow per cell セル毎の表流水量の合計

Percent of disturbed land,for USLE(Universal Soil Loss Equation)

 土壌損失係数のための非透水性比率?

Terrain blocking overland surface flow,for USLE

 土壌損失係数のための 表流水を阻害する地形(阻害線)?

微小な流域分割を除外するためには、これらの設定も必要かもしれない。

システム条件も含め、次のようなオプションもある。

Enable Single Flow Direction(D8) flow (default is Multiple Flow Direction)

Enable disk swap memory option(-m) Operation is slow

Allow only horizontal and vertical flow of water

Use positive flow accumulation even for likely underestimates

Beautify flat area

上の課題と併せて今後、調査しよう。

当面は、国土数値情報のW12の活用方法を考えたほうがよいかもしれない。 

また、QGIS2.18には、水文解析(https://docs.qgis.org/2.18/ja/docs/training_manual/processing/hydro.html)という機能もある。こちらについても調査してみたい。