重要

翻訳は あなたが参加できる コミュニティの取り組みです。このページは現在 97.00% 翻訳されています。

12.1. レッスン: GRASSのセットアップ

QGISでGRASSを使用するにはインターフェイスを少し異なる方法で考える必要があります。QGISで直接作業しているのではなくQGIS を通じて GRASSで作業していることを覚えておいて下さい。したがって、GrassをサポートするQGIS Desktopがインストールされていることを確認してください。

win Windowsで利用可能なGRASSでQGISセッションを開くには、「QGISデスクトップとGRASS」アイコンをクリックする必要があります。

このレッスンの目標: QGISでGRASSのプロジェクトを始めます。

12.1.1. ★☆☆ (初級レベル) 理解しよう: 新しいGRASSセッションを始める

QGISからGRASSを起動するには、他のプラグインと同様に有効化する必要があります:

  1. まず新しいQGISプロジェクトを開いてください。

  2. プラグインマネージャ でリストにある grassTools GRASS 8 を有効にします:

    ../../../_images/enable_grass.png

    GRASSツールバーとGRASSパネルが現れます:

    ../../../_images/grass_panel.png

    図 12.30 GRASS Toolbar and Panel

GRASSパネルはアクティブではありませんが、それはGRASSを使う前に マップセット を作成する必要があるためです。GRASSは常にデータベース環境で動作するので、使うすべてのデータはGRASSデータベースにインポートする必要があります。

GRASSデータベースは一見とても複雑に見えますが、構造は単純です。知っておくべき最も重要なことは、データベースの上位レベルは Location だということです。各 Location には異なる マップセット が含まれます:すべての マップセット 中には、GRASSがデフォルトで作成する、 PERMANENT マップセットがあります。各 マップセット には特定の構造でデータ(ラスタ、ベクタなど)が含まれますが、心配する必要はありません。GRASSがこれを処理してくれます。

これだけ覚えてください: Location はデータを含んでいる Mapset を含みます。詳細な情報は GRASS website をご覧ください。

../../../_images/grass_database.png

図 12.31 GRASSデータベース構造(GRASSドキュメントより)

12.1.2. ★☆☆ (初級レベル) 理解しよう: 新しいGRASSプロジェクトを始める

  1. プラグイン ► GRASS ► 新規Mapset メニューをクリックします:

    ../../../_images/grass_menu.png

    GRASSデータベースの場所を選択するよう指示されます。

  2. データベースを構成するためにそれをGRASSが使用するディレクトリとして設定します:

    ../../../_images/grass_folder.png
  3. 次へ をクリックします。

GRASSでは ロケーション を作成する必要があります。 ロケーション は作業しようとしている地理的領域(Grass Region ともいわれる)の最大範囲を定義します。

注釈

Region は、GRASSですべてのレイヤが考慮されるエリアを記述するため、GRASSでは非常に重要です。外にあるものはすべて考慮されません。でもご心配なく、ロケーションが作成された後、いつでもGRASS Regionの範囲を変更できます

  1. 新しいロケーションを SouthAfrica と呼びます:

    ../../../_images/new_location.png
  2. 次へ をクリックします。

  3. ここでは WGS 84 を使うので、そのCRSを検索して選択してください:

    ../../../_images/wgs_84_selected.png
  4. 次へ をクリックします。

  5. ドロップダウンリストから South Africa の領域を選択して、 設定 をクリックします:

    ../../../_images/set_south_africa.png
  6. 次へ をクリックします。

  7. マップセットを作成します。それがあなたがこれから作業するマップファイルです。

    ../../../_images/grass_mapset.png

    入力が完了すると、入力した情報の要約を尋ねるダイアログが表示されます。

    ../../../_images/grass_final.png
  8. 完了 をクリックします。

  9. 成功ダイアログで OK をクリックします。

GRASS パネルがアクティブになり、すべての GRASS ツールを使用できるようになるのがわかります。

12.1.3. ★☆☆ (初級レベル) 理解しよう: GRASSにベクタデータを読み込む

今はマップは空白であり、すべてのGRASSツールの使用を開始するには、データをGRASSデータベース、特に マップセット に読み込む必要があります。 GRASS マップセット に読み込まれていないレイヤではGRASSツールを使用できません。

GRASSのデータベースにデータを読み込むには、様々な方法があります。まずは最初の1つから始めましょう。

★☆☆ (初級レベル) 理解しよう: QGISブラウザを使ってデータを読み込む

セクション ★☆☆ (初級レベル) ブラウザパネル では、QGISにデータを読み込む最も簡単で早い方法はブラウザパネルであることがわかりました。

QGISブラウザはGRASSデータを、 実際の GRASSデータとして認識します。それは、GRASS マップセットの横にGRASSアイコンが表示されることで確認できます。また、開いたマップセットの横には grassMapsetOpen のアイコンが表示されます。

../../../_images/grass_browser.png

注釈

GRASSロケーションの複製が通常のフォルダとして表示されます: GRASS マップセット データは、 grassLogo フォルダ内にあるものです。

フォルダ内のレイヤは ドラッグ&ドロップ で簡単にGRASSマップセットに取り込むことができます。

それでは、 roads レイヤを SouthAfrica ロケーションの grass_mapset マップセットにインポートしてみましょう。

ブラウザを開き、 training_data.gpkg GeoPackage ファイルから roads レイヤを grass_mapset Mapset に単純にドラッグしてください。

../../../_images/grass_browser_import.png

それでおしまい!マップセットを展開すると、インポートされた roads レイヤが表示されます。これで、インポートされたレイヤを他のすべてのレイヤと同様にQGISに読み込むことができます。

Tip

レイヤ凡例パネルからブラウザパネルのマップセットにレイヤを読み込むこともできます。これにより、ワークフローが驚くほど高速になります!

★☆☆ (初級レベル) 理解しよう: GRASSパネルを使ってデータを読み込む

ここでは、 long メソッドを使用して、 rivers.shp レイヤーを同じマップセットにロードします。

  1. 通常どおりデータをQGISに読み込みます。 rivers.shp データセット( exercise_data/shapefile/ フォルダにあります)を使用します

  2. 読み込まれたらすぐに、GRASS Panelフィルタ ボックスをクリックし、v.in.ogr.qgis という語を入力してベクタインポートツールを見つけます(ファイル管理 ► GRASSへのインポート ► GRASSへのベクタのインポート で利用可能)。

    警告

    似たようなツールが2つあります: v.in.ogr.qgisv.in.ogr.qgis.loc 。探しているのは 1つめ です。

    ../../../_images/grass_panel_import.png

    vベクタin はGRASSデータベースにデータをインポートする関数を意味します。 ogr はベクタデータの読み込みに使用されるソフトウェア・ライブラリです。そして qgis は、そのツールがQGISに既に読み込まれたベクタの中からベクタを探すことを意味します。

  3. このツールを見つけたら、それをクリックしてツール自体を表示します。混乱を防ぐために、 ロードされたレイヤ ボックスで rivers レイヤを選択し、 g_rivers と入力して名前を付けます。

    ../../../_images/grass_tool_selected.png

    注釈

    ★★★ (上級レベル) アドバンスドオプション には別のインポートオプションが提供されています。これにはデータのインポートに使用するSQLクエリのWHERE句を追加する機能が含まれます。

  4. 実行 をクリックしてインポートを開始します。

  5. それが終わったら 出力を見る をクリックして新しくインポートされたGRASSレイヤを地図に表示します。

  6. まずインポートツールを閉じて (出力を見る のすぐ右にある 閉じる ボタンをクリックします)、そして GRASSツール ウィンドウを閉じます。

  7. 元の rivers レイヤを削除します。

今、QGISの地図に表示されているのはインポートされたGRASSレイヤだけです。

12.1.4. ★☆☆ (初級レベル) 理解しよう: GRASSにラスタデータを読み込む

ベクタレイヤをインポートしたのと同じ方法でラスタレイヤをインポートできます。

GRASSマップセットにレイヤ srtm_41_19_4326.tif をインポートします。

注釈

ラスタレイヤは既に正しいCRS、「WGS 84」にあります。レイヤが異なるCRSにある場合は、GRASSマップセットの同じCRSに再投影する必要があります

  1. QGISで srtm_41_19_4326.tif レイヤを読み込みます

  2. GRASSツール ダイアログを再度開きます。

  3. モジュール タブをクリックします。

  4. Search for r.in.gdal.qgis (available under File management ► Import into GRASS ► Import raster into GRASS ► Import raster into GRASS from QGIS view) and double click the tool to open the tool's dialog.

  5. 入力レイヤが srtm_41_19_4326.tif 、出力が g_dem となるように設定します。

    ../../../_images/g_dem_settings.png
  6. 実行 をクリックします。

  7. 処理が完了したら 出力を見る をクリックします。

  8. 現在のタブを閉じ、そしてダイアログボックスを閉じます。

    ../../../_images/g_dem_result.png
  9. これで元の srtm_41_19_4326.tif レイヤは削除しても問題ありません。

12.1.5. ★☆☆ (初級レベル) 自分でやってみよう: マップセットにレイヤを追加する

GRASS マップセットに、 exercise_data/shapefile/ フォルダからベクタレイヤ water.shpplaces.shp をインポートしてみてください。 rivers の場合と同様に、混乱を避けるために、インポートしたレイヤの名前を g_water および g_places に変更します。

12.1.6. ★☆☆ (初級レベル) 既存のGRASSマップセットを開く

既にGRASS マップセットがある場合、別のQGISセッションでそれを簡単に開くことができます。

GRASS マップセットを開く方法には複数の方法があります。そのいくつかを試してみましょう。

GRASSツール ウィンドウの Mapsetを閉じる ボタンをクリックして、マップセットを閉じましょう。

★☆☆ (初級レベル) 理解しよう: GRASSプラグインを使う

  1. Click on the Plugins ► GRASS ► Open Mapset menu.

  2. GRASSデータベースフォルダを参照します。注意してください! GRASSマップセットのフォルダではなく、親フォルダを選択する必要があります。実際、GRASSはデータベースのすべての「ロケーション」と各「ロケーション」のすべての「マップセット」を読み取ります:

    ../../../_images/grass_open_mapset1.png
  3. ロケーション SouthAfrica と、先ほど作成した Mapset grass_mapset を選択してください。

これで完了です。GRASS パネルがアクティブになり、マップセットが正しく開かれたことを意味します。

★☆☆ (初級レベル) 理解しよう: QGISブラウザを使う

QGISブラウザを使って マップセット を開くと、さらに速く、簡単になります:

  1. GRASS Tools ウィンドウの Mapsetを閉じる ボタンをクリックして、マップセットを閉じます(開いている場合)。

  2. QGISブラウザでGRASSデータベースのフォルダをブラウズします。

  3. マップセットを右クリックします(マップセットは grassLogo GRASSアイコンが隣にあることを思い出してください)。いくつかのオプションがあるのがわかります。

  4. Mapsetを開く をクリックします:

    ../../../_images/grass_open_mapset_browser.png

これでマップセットが開き、使う準備ができました!

Tip

GRASS マップセット上で右クリックすると、様々な設定ができます。いろいろな設定を試して、便利なオプションを見てみましょう。

12.1.7. 結論

GRASSはデータを空間データベース構造に読み込むため、GRASSのデータ収集ワークフローはQGISの方法とは多少異なります。しかし、フロントエンドとしてQGISを使用することによってGRASSのデータソースとしてQGIS内の既存レイヤを使用でき、GRASSマップセットのセットアップを簡単にすることができます。

12.1.8. 次は?

データはGRASSにインポートされました。GRASSの高度な分析操作を見ることができます。