チュートリアル: QGIS での地下水データの処理

Site: OpenCourseWare for GIS
Course: 水文地質学のためのGISトレーニング
Book: チュートリアル: QGIS での地下水データの処理
Printed by: Guest user
Date: Friday, 26 April 2024, 10:18 AM

Description

1. 概要

さまざまなインターネットリソースからデータを収集できたので、マラウイのShire帯水層を対象とした地下水GISプロジェクトのために、データをさらに処理していくことができるようになりました。

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

  • レイヤーの再投影
  • 式による地物の選択
  • 選択した地物のエクスポート
  • バッファの作成
  • フィーチャーのディゾルブ
  • レイヤーの交差(Intersect)
  • レイヤーのクリップ
  • ポイントサンプリングツールの使用
  • 属性の結合と永続化


2. 理論:ベクターデータのジオプロセッシングツール

ここでは、このチュートリアルで使用するベクターデータのジオプロセシングツールについて、理論を交えた役に立つビデオを紹介します。

3. レイヤの再投影

前回のチュートリアルで終わったところから始めましょう。

1. QGISを起動します。

2. メインメニューでプロジェクト | 開く | GeoPackage...と進みます。

3. GeoPackageからプロジェクトを読み込むダイアログで、ボタンを使用して、Malawi_GIS_data.gpkgファイルのコピーをおいた新しいフォルダを参照し、Malawi_Groundwaterプロジェクトを選択します。OKをクリックして開きます。


Geology と Hydrogeology レイヤはまだ地理座標系(GCS) が緯度経度座標が度単位(EPSG:4326)のままです。まずこれらのレイヤをこのプロジェクトで使用しているUTM Zone 36S / WGS-84座標系(EPSG: 32736)に合わせて再投影します。

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

5. ベクタレイヤを名前をつけて保存...ダイアログで形式としてGeoPackageを選択し、既存のMalawi_GIS_data.gpkgを使用しレイヤ名Geology UTMと入力します。CRSプロジェクトCRS(EPSG:32736)に変えます。

6. OKをクリックします。

これでMalawi_GIS_data Geology UTM レイヤがレイヤパネルに追加されました。 しかしスタイリングがされていません。元のGeologyレイヤからスタイルをコピーできます。

7. レイヤパネルでGeologyレイヤを右クリックし、スタイル | スタイルのコピー | 全スタイルカテゴリを選択します。


8. それからレイヤパネルで Malawi_GIS_data Geology UTM レイヤを右クリックしスタイル | スタイルの貼り付け | 全スタイルカテゴリを選択します。

結果を見るためには、レイヤパネルでレイヤーを再配置する必要があるかもしれません。Y

9. Hydrogeologyレイヤでステップの4から8を繰り返して、Hydrogeology UTMという名前でGeoPackageに新しいレイヤを作ってください。


4. 調査エリアの定義

このセクションでは、調査対象地域であるシャイアバレー沖積帯水層(Shire Valley Alluvial Aquifer)を定義していきます。

この越境帯水層はaquifersレイヤの中にあります。

次のサブセクションでは、aquifersレイヤからシャイアバレー沖積帯水層(Shire Valley Alluvial Aquifer)を選択します。そして、選択した地物をGeoPackageの新しいレイヤーにエクスポートします。

4.1. 式による地物の選択

最初のステップはaquifersレイヤからシャイアバレー沖積帯水層(Shire Valley Alluvial Aquifer)を選択することです。

1. レイヤパネルでaquifersレイヤを右クリックし属性テーブルを開くを選択します。

2. 式による地物選択ボタンをクリックします。

3. QGIS式による選択ダイアログでウィンドウの中間にあるフィールドと値を開いてAQ_NAMEをダブルクリックします。こうすることで"AQ_NAME"がウィンドウの左側にある式に追加されます。それから をクリックし=を式に追加します。ここで右側にあるボタンをクリックしリストの中からShire Valley Alluvial Aquiferを探します。Shire Valley Alluvial Aquiferをダブルクリックして式に追加します。そうすると次のようになります。

"AQ_NAME" = 'Shire Valley Alluvial Aquifer"

Select aquifer expression

これはフィールドのAQ_NAME (フィールド名はダブルクォーテーションで囲われています)からShire Valley Alluvial Aquifer という地物を選択するということを意味しています。地物はシングルクォーテーションで囲われています。

4. をクリックし式に従って地物を選択します。

5. 閉じるをクリックしダイアログを閉じます。

6. 属性テーブルを閉じます。

地図キャンバスでは選択した帯水層が黄色の境界で表示されているのが見えます。QGISでは選択状態は黄色でデフォルトで表示されます。

ではシャイアバレー沖積帯水層(Shire Valley Alluvial Aquifer)をエクスポートしてみましょう。


4.2. 選択した地物のエクスポート

これで調査地域の帯水層が選択できたので、GeoPackage の新しいレイヤーとして地物をエクスポートすることができます。

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

2. ベクタレイヤを名前をつけて保存...ダイアログで形式としてGeoPackageを選択します。既存のMalawi_GIS_data.gpkgファイル名として選択します。レイヤ名をShire Valley Alluvial Aquiferにします。CRSがEPSG:32736であるか確認します。

3. OKをクリックします。

Malawi_GIS_data Shire Valley Alluvial Aquifer レイヤがプロジェクトに追加されました。

Shire aquifer added as layer

次のサブセクションでは、帯水層の境界の周りにバッファを作り、境界の影響を考慮して調査範囲を少し広げます。


4.3. 帯水層の周りにバッファを作成する

境界の影響を考慮するためには、調査地域の帯水層の周りにバッファを作るのが良いでしょう。

1. メインメニューで ベクタ | 空間演算ツール | バッファ(Buffer)... と進みます。

2. バッファ(Buffer)ダイアログで Malawi_GIS_data Shire Valley Alluvial Aquifer を 入力レイヤとして選択します。距離を10キロメートルに設定します。その他の設定はデフォルトのままにしMalawi_GIS_data.gpkgShire buffer 10kmというレイヤ名で保存します。

Buffer dialogue

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

これでShire buffer 10km レイヤが地図キャンバスに表示されました。

マラウイをカバーする帯水層のみを扱うため、次のサブセクションではShire buffer 10kmレイヤーを国の境界でクリップしていきます。


4.4. 地物を融合して国の境界線を作る

このサブセクションではShire buffer 10kmレイヤをマラウイの国境線でクリップしていきます。

例えば、Natural Earthデータセットから国の境界線をダウンロードすることができます。しかし、ここでは、マラウイのみをカバーするGeology UTMまたはHydrogeology UTMレイヤーを使用することができます。この方法の利点は、境界線がレイヤーとより一致することです。

Geologyレイヤーのすべての地物を融合することで、国の境界を作成することができます(Hydrogeologyレイヤーでも同様ですが、ここではGeologyレイヤーで説明します)。

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

2. 融合(dissolve)ダイアログでMalawi_GIS_data Geology UTMを入力レイヤとして選択し、融合されたレイヤをMalawi_GIS_data.gpkgMalawi country boundaryという名前で保存します。その他の設定はデフォルトのまましておくことで、レイヤー内のすべてのフィールドを融合します。

Dissolve to Malawi country boundary

3. 実行をクリックします。処理のあとダイアログを閉じます。

これでMalawi country boundaryレイヤが地図キャンバスに表示されました。

Malawi country boundary

次のステップでは、Shire buffer 10km レイヤをMalawi country boundaryでクリップします。

4.5. バッファを作った越境帯水層と国の境界を交差させる

調査エリアを得るためには、Malawi country boundaryに含まれるShire buffer 10kmのエリアを持つ必要があります。

そのためには、交差を利用します。

1. メインメニューでベクタ | 空間演算ツール | 交差(Intersect)と進みます。

2. 交差(intersect)ダイアログでShire buffer 10kmレイヤを入力レイヤとして、Malawi country boundaryレイヤをオーバーレイレイヤとして選択します。その他の設定はデフォルトのままにし交差させた結果をMalawi_GIS_data.gpkgGeoPackageにShire study areaという名前で保存します。

Intersection dialogue

3. 実行をクリックします。処理のあとダイアログを閉じます。

これで調査地域が決定し、他のレイヤーを調査地域の境界に合わせてクリップことができます。これは次のセクションで行います。

Shire study area


5. 調査地域の境界でレイヤーをクリップ

調査地域の境界ができたので、データセットをさらに準備するために、すべてのレイヤーをその境界でクリップします。

まず、Malawi_GIS_data Geology UTMレイヤーをクリップしてみましょう。

1. メインメニューでベクタ | 空間演算ツール | 切り抜く(clip)... と進みます。

2. 切り抜く(clip)ダイアログでMalawi_GIS_data Geology UTM入力レイヤとして、Shire study areaをオーバーレイレイヤとして選択します。クリップされたレイヤをMalawi_GIS_data.gpkgGeoPackageにShire Geologyという名前で保存します。

Clip dialogue

3. 実行をクリックします。処理のあとダイアログを閉じます。

4. Copy the style from the Malawi_GIS_data Geology UTM layer to the Shire Geology layer as you have learned before in セクション 2で学んだようにMalawi_GIS_data Geology UTMレイヤからShire Geologyレイヤにスタイルをコピーします。

5. 結果が見えるようにその他のレイヤのチェックを外します。

これで、調査地域にGeologyが表示されます。

Geology in the study area

6. 1から5のステップを繰り返し、Malawi_GIS_data Hydrogeology UTMレイヤをShire Hydrogeologyという名前でクリップします。

結果は下の図のようになるでしょう。

Hydrogeology of the study area

ポイントのベクタレイヤに対しても行うことができます。

7. 1から5のステップを繰り返し、ramsar_sites_malawiレイヤをShire Ramsar sitesという名前で同様にします。

8. 1から5のステップを繰り返し、groundwater_monitoring_wellsレイヤをShire groundwater monitoring wellsという名前で同様にします。

結果は、レイヤーを多少シャッフルすることで、このようになります。

Clipped point vector layers

9. 不要になったレイヤーをレイヤパネルから削除します。調査地域のために、以下のレイヤーだけを残しておきましょう。

10. Malawi_GIS_data.gpkg GeoPackageに新しい名前でプロジェクトを保存します。 Shire_groundwaterという名前にします。メインメニューのプロジェクト | 保存 | GeoPackage...から行います。

次のセクションでは、モニタリング井戸に地質と水文地質の属性を追加します。


6. 他のレイヤの属性をポイントレイヤに追加

シャイアの地下水調査では、Shire groundwater monitoring wellsレイヤに地質と水文地質の属性を追加すると良いです。

そのためには、Point sampling toolプラグインをインストールする必要があります。プラグインをインストールするには、インターネット接続が必要です。

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

2. プラグインダイアログでPoint sampling tool を検索しインストールをクリックします。

Install Point sampling tool

3. ツールバーの  ボタンをクリックし、Point Sampling Toolダイアログを開きます。

4.Point Sampling ToolダイアログでGeneralタブでShire groundwater monitoring wells をLayer containing sampling pointsとして選択します。Shire groundwater monitoring wellsから全てのフィールドを、Shire Geology もしくは Shire Shire Hydrogeology (違うスタイリングで同じ属性テーブルを持っています)からMaIHGComb と MaGLGを選択します。なお、このリストに表示するには、レイヤーパネルでこれらのレイヤーをチェックする必要があります。このツールは既存の GeoPackage に追加することができないため、Output point vector layer を ESRI Shapefile に保存します。名前は wells_hydro_geology.shp とします。

5. 次にFieldsタブをクリックします。ここでは、必要に応じて出力フィールドの名前を変更することができます。ここでは、元のフィールド名と同じにしています。

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

7. wells_hydro_geologyレイヤの属性テーブルをチェックします。

Wells with sampled data

次のセクションでは、新しい属性をShire groundwater monitoring wellsレイヤと結合することで、このレイヤをGeoPackageに追加しなくても良いようにします。


7. 属性の結合

前のセクションでは、 Shire groundwater monitoring wellsをコピーして wells_hydro_geology Shapefileレイヤを作成しましたが、これには地質と水文地質の属性が追加されています。このレイヤをGeoPackageに追加するには、ブラウザパネルのwells_hydro_geology ShapefileをGeoPackageにドラッグします。しかし、そうすると2つのよく似たレイヤーができてしまいます。

このセクションでは、wells_hydro_geologyレイヤーから新しい属性をShire groundwater monitoring wellsレイヤに結合します。

1. レイヤパネルでShire groundwater monitoring wellsレイヤを右クリックしプロパティを選択します。

2.レイヤプロパティダイアログで タブをクリックします。

3. Click the 新しい結合を追加ボタンをクリックします。

4. ベクタ結合を追加ダイアログでwells_hydro_geology.shp結合するレイヤとして選択します。No結合基準の属性ターゲット属性として選択します。結合フィールドのボックスにチェックを入れ、オプションを広げます。MaIHGComb と MaIGLGのボックスにチェックを入れます。フィールドに接頭辞は不要なので、カスタムフィールド名の接頭辞にチェックを入れテキストを削除します。

5. OKをクリックします。

レイヤプロパティウィンドウには、設定内容の概要が表示されます。

6. OKをクリックしダイアログを閉じます。

7. Shire groundwater monitoring wellsレイヤの属性テーブルを開いて結果を確認します。

Joined attribute table

属性が結合されました。しかし、wells_hydro_geology.shpレイヤを削除すると、結合は解除され、属性は消えてしまいます。これを防ぐために、フィールド計算機を使って属性をコピーします。

8. Shire groundwater monitoring wells レイヤの属性テーブルでボタンをクリックし、編集モードに切り替えます。

9. をクリックしフィールド計算機を開きます。

10. フィールド計算機新しいフィールドを作るの前のボックスにチェックを入れたままにします。出力する属性の名前Geologyと入力します。フィールド型テキスト(string)にします。フィールド長を変える必要はありません。ダイアログの中央にあるフィールドと値を広げて、MaIGLGをダブルクリックして式に追加します。

11. OKをクリックします。

MaIGLGのエントリーがコピーされ新しいGeologyフィールドが追加されているのがわかります。

12. ステップ9から11を繰り返してMaIHGCombをコピーしHydrogeologyという名前で新しいフィールドを作ります。

13.   をクリックし編集モードから切り替えて保存をクリックします。

結果はこのようになるでしょう。

Shire wells attribute table with Geology and Hydrogeology fields

14. 属性テーブルを閉じます。

15. レイヤパネルから wells_hydro_geology.shp レイヤを削除します。 

16. Shire groundwater monitoring wellsレイヤの属性テーブルを再度確認してみます。

結合されたフィールドが今は削除され、GeologyHydrogeologyのコピーされたフィールドが残っているのが確認できます。

Attribute table after removing join

17.  をクリックしてプロジェクトを保存します。

これでプロジェクトのGeoPackageの準備が整いました。