チュートリアル: 河川ネットワークをDEMに書き込む

Site: OpenCourseWare for GIS
Course: QGIS上級者向けチュートリアル
Book: チュートリアル: 河川ネットワークをDEMに書き込む
Printed by: Guest user
Date: Thursday, 21 November 2024, 7:33 PM

1. 概要

集水域を定義する際には、流出口を特定するための河川ネットワークが必要になります。しかし、自動的に定義された河川は、地図や衛星画像上の河川とは大きく異なる場合があります。

河川GISレイヤーが利用可能な場合は、河川ネットワークをDEMに書き込むことで、流域の境界線を改善することができます。

このチュートリアルの後には以下のことができるようになります。

  • QuickOSMプラグインを使ってOpenStreetMapから河川をダウンロードする。
  • DEMに書き込む前に河川ベクターデータの前処理を行う
  • 河川をDEMに書き込む
このチュートリアルのデータはRur集水域のDEMです。これはSRTM 1-Arc Secondプロダクトから得られたもので、モザイク処理、再投影、クリップが行われています。

animation burn


2. OpenStreetMapから河川ラインのベクターデータをダウンロードする

Iこのセクションでは、OpenStreetMapから対象地域のすべての河川ラインのベクターデータをダウンロードします。

1. QGIS Desktop with GRASSを起動します。

2. レイヤーパネルに提供されているdem.tifレイヤーを追加します。

3. カラーランプを使ってDEMレイヤーをスタイルし、陰影起伏図上にブレンディングします。

New project DEM

次はQuickOSMプラグインのインストールです。


4. メインメニューで プラグイン | プラグインの管理とインストール...と進みます。

5. QuickOSMを検索して、プラグインをインストールしてダイアログを閉じるをクリックします。

今度はOpenStreetMapから河川データをダウンロードしてみます。

6. メインメニューでベクター | QuickOSM | QuickOSM...と進みます。

7. QuickOSMダイアログで、Keywaterwayを選択し、Valueriverを選択します。Layer Extentでは、DEMを選択します。Advancedを展開し、ラインの地物のみが選択されていることを確認します。下図のようなダイアログになるはずです。

QuickOSM dialogue

8. Run queryをクリックします。「Successful query, 1 layer(s) has loaded.」というメッセージが出たらウィンドウを閉じます。

これで、対象地域内のすべての河川がダウンロードされました。

次のセクションでは、Rur川を選択して新しいレイヤーにエクスポートします。


3. 特定の河川を選択しエクスポートする

前のセクションでは、OpenStreetMapから対象地域のすべての川のラインベクターデータをダウンロードしました。このセクションでは、Rur川を選択して新しいレイヤーとしてエクスポートします。

1. waterway_riverを右クリックして、属性テーブルを開くを選択します。

属性テーブルのデータを確認します。nameフィールドに川の名前が入っていることがわかります。ここではRurとRoerという名前の川を選択します。Rurはドイツ語の名前で、Roerはオランダ語の名前なので、川全体を取得するには両方必要です。

2. 属性テーブル上の式による地物選択アイコン をクリックします。

3. 次の色を入力します: "name"  = 'Rur' or "name" = 'Roer'

これは、RurまたはRoerという名前を持つすべての地物を選択します。

4. 地物を選択をクリックし、ダイアログを閉じます。

これで、地図キャンバス(黄色)と属性テーブル(青色)にこれらの川が選択されているのがわかります。

Selected river

5. レイヤパネルのwaterway_river を右クリックし、エクスポート | 選択の地物の保存... を選択します。

6. ベクタレイヤを名前をつけて保存...ダイアログでRur_river.shpというレイヤ名ESRI Shapefileフォーマットでレイヤを保存します。座標系をプロジェクト(EPSG:32632)に変更し、OKをクリックします。

7. レイヤパネルからwaterway_river を削除します。

今度は川のレイヤを少しきれいにする必要があります。いくつかのセクションは本流の一部ではありません

8. 編集ツールバーで  をクリックして編集モードにします。

9.   を使用しておかしな部分を選択して、<Delete>ボタンを押します。全て削除できたか確認してください。

10.   をもう一度クリックして編集モードをオフにして保存をクリックします。

川はまだ多くのセグメントで構成されています。正しい川のレイヤを得るための最後のステップは、地物をディゾルブすることです。

11. メインメニューで ベクター | 空間演算ツール| 融合(Dissolve)... と進みます。

12. 融合(Dissolve)ダイアログで、入力レイヤとしてRur_riverを選択し、デフォルトのまま、出力レイヤをRur_river_dissolved.shpにして保存します。

13. 実行をクリックし、処理が終わったらダイアログを閉じます。

14. レイヤパネルからRur_riverレイヤーを削除します。

15. Rur_river_dissolvedレイヤーのスタイルを設定します。紺色にします。

Rur river dissolved

これでRur川の処理が完成したので、次のセクションでDEMに書き込むことができます。

4. 河川をDEMに書き込む

これでRur川のベクターデータが得られたので、それをDEMに書き込むことができます。

1. プロセッシングツールボックスを開きます。メインメニューでプロセッシング | ツールボックスと進みます。

2. プロセッシングツールボックスで GRASS | ラスタ (r.*) | r.carveを選びます。

3. r.carveダイアログで、 DEMレイヤを標高Rur_river_dissolvedレイヤーを河川のベクタレイヤとして選択します。河川の幅を60メートル(このケースでは2ピクセルに相当)に変更します。オプションの川の深さを2mに変更して、合計3mにします。河川の幅と深さを調整することで、より良い結果を得ることができます。「河川に平らな場所を認めない」の前のボックスにチェックを入れます。修正した標高 burndem.tif として保存します。不要なので「修正済み河川の出力」のチェックを外します。

4. 実行をクリックします。処理が終わったらダイアログを閉じます。

スタイリングして比較してみましょう。

5. demレイヤからburndemレイヤにスタイルをコピーします。

6. burndemレイヤを複製し、陰影図レンダラーでスタイルを作成します。

7. burndemにはそれとセットのhillshadeを、demにはそれに対応するhillshadeを持つマップテーマを作成します。

8. メインメニューで ビュー | 新しいマップビューを選択します。

9. 新しいマップビューを画面右側にドッキングし、メインの地図キャンバスにはDEMマップテーマを、右のマップビューにはDEM Burnedを選択します(マップ1)。

Compare burn

10. 両方のビューがリンクされていることと、更新されたキャンバスに対して色が伸びていることを確認してください。

今では、河川ネットワークをDEMに書き込んだ効果がはっきりとわかります。

これで、集水域の線引きのステップを進めることができます。今は川を修正しただけですが、他にも窪地があるかもしれませんので、まずはシンク(Sinks)を埋め立てることから始めます。