重要

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

17.17. モデルデザイナーから始める

注釈

このレッスンでは、ワークフローを定義してアルゴリズムの連鎖を実行するために使用できる強力なコンポーネントである、モデルデザイナーを使います。

プロセシングツールによる通常のセッションは、単一のアルゴリズムを実行する以上のものを含んでいます。通常、結果を得るためには複数のアルゴリズムが実行され、そしていくつかのアルゴリズムの出力は、他のいくつかのアルゴリズムの入力として使われます。

モデルデザイナーを使うと、ワークフローを1つのモデルに入れることができ、一回の実行で必要なすべてのアルゴリズムが実行されるので、全体のプロセスが簡素化され自動化されます。

このレッスンの始めに、地形湿潤指数というパラメータを計算することにします。それを計算するアルゴリズムは Topographic wetness index (twi) と呼ばれています。

../../../_images/twi.png

ご覧のように、2つの必須入力: 傾斜集水域面積 があります。オプションの入力もありますが、それは使わないので無視できます。

このレッスン用のデータにはDEMしか入っていませんから、必要な入力は何もありません。しかし、傾きと集水域面積を計算するアルゴリズムをすでに見ていますので、そのDEMからそれらの両方を計算する方法はわかっています。だから最初にこれらのレイヤを計算すると、それらをTWIアルゴリズムのために使用できます。

これが2つの中間レイヤを計算するために使用すべきパラメータのダイアログです。

注釈

傾斜はラジアンではなく度で計算しなければなりません。

../../../_images/slope2.png
../../../_images/area.png

そしてこれはTWIアルゴリズムのパラメータダイアログボックスをどのように設定する必要があるかです。

../../../_images/twi_filled.png

このような結果が得られます(レンダリングにはデフォルトの単バンド疑似カラー反転パレットが使われています)。提供された twi.qml スタイルを使用することができます。

../../../_images/twi_layer.png

ここでは、DEMからTWIを1ステップで計算するアルゴリズムを作成することを目指します。これにより、後で別のDEMからTWIレイヤを計算する必要が生じた場合、上記の3つのステップではなく、たった1つのステップで計算できるため、作業を軽減することができます。必要な処理はすべてツールボックスに用意されているので、あとはそれらを包むワークフローを定義するだけです。そこで登場するのがモデルデザイナーです。

  1. プロセシングメニューで、メニュー項目を選択することにより、モデラーを開きます。

    ../../../_images/modeler.png

    モデルを作成するには2つのことが必要です:必要な入力を設定することと、そのモデルに含まれるアルゴリズムを定義することです。この2つは、モデラーウィンドウの左側にある2つのタブ、 入力アルゴリズム から要素を追加することで実現できます。

  2. 入力から始めましょう。このケースでは追加することがあまりありません。DEMを持つラスタレイヤが必要なだけで、それが唯一の入力データとなります。

  3. ラスタレイヤ 入力でダブルクリックすると次のダイアログが表示されます。

    ../../../_images/raster_input.png
  4. ここでは、必要な入力を定義する必要があります:

    1. このラスタレイヤはDEMであることが期待されるので、DEM と呼ぶことにします。これは、モデルを実行する際に、モデルのユーザーが見ることができる名前です。

    2. そのレイヤがないと動かないので、必須レイヤとして定義します。

    これがダイアログを設定する方法です

    ../../../_images/raster_input_filled.png
  5. OK をクリックするとモデラーキャンバスに入力が現れます。

    ../../../_images/canvas_1.png
  6. 次に アルゴリズム タブに移りましょう。

  7. 最初に実行するアルゴリズムは、 Slope, aspect, curvature アルゴリズムです。アルゴリズムリストでこれを探し、ダブルクリックすると、以下のようなダイアログが表示されます。

    ../../../_images/slope_modeler.png

    このダイアログは、ツールボックスからアルゴリズムを実行する際に表示されるダイアログと非常に似ていますが、パラメータ値として使用できる要素は、現在のQGISプロジェクトではなく、モデル自体から取得されます。つまり、この場合、Elevation フィールドで使用できるのは、プロジェクトのすべてのラスタレイヤではなく、モデルで定義されているものだけということになります。DEM という名前のラスタ入力を1つだけ追加したので、 Elevation パラメータに対応するリストに表示されるラスタレイヤはこの1つだけとなります。

    アルゴリズムにより生成された出力は、アルゴリズムがモデルの一部として使用される場合、少し異なって処理されます。各出力を保存するファイルパスを選択する代わりに、その出力が中間層であるか(そしてモデルの実行後に保存しないようにするか)、または最終出力であるかを指定する必要があります。この場合、このアルゴリズムによって生成されるすべてのレイヤは中間です。そのうちの1つ(傾斜レイヤ)のみを使用しますが、取得したい最終結果であるTWIレイヤを計算するために必要なだけなので、それを保存する必要はありません。

    最終的な結果ではないレイヤの場合、対応するフィールドは残しておかなければなりません。そうしないと、後でモデルを実行したときに表示されるパラメータダイアログボックスでレイヤを識別するために使用される名前を入力する必要があります。

  8. この最初のダイアログで選択することはあまりありません。なぜなら、このモデルには1つのレイヤ(作成したDEM入力)しかありません。この場合、ダイアログのデフォルト設定が正しいので、 OK を押すだけでよいのです。これがモデラーキャンバスに表示されるものです。

    ../../../_images/canvas_2.png
  9. モデルに追加する必要がある第2のアルゴリズムは、集水域面積のアルゴリズムです。 Catchment area (Paralell) という名前のアルゴリズムを使用します。再びDEMレイヤを入力として使用し、それが生成する出力はどれも最終的なものでないので、これが対応するダイアログをどう埋める必要があるかです。

    ../../../_images/area_modeler.png

    これでモデルは次のようになります。

    ../../../_images/canvas_3.png
  10. 最後に Topographic wetness index アルゴリズムを追加し、以下の構成とします。

    ../../../_images/twi_modeler.png

    この場合、入力としてDEMを使用しない代わりに、以前に追加アルゴリズムによって計算される傾斜および集水域レイヤを使用します。新しいアルゴリズムを追加すると、それらが作り出す出力が他のアルゴリズムのために利用可能になり、それらを使用してアルゴリズムをリンクし、ワークフローを作成します。

  11. この場合、出力される TWI レイヤは最終レイヤであるため、そのように表示する必要があります。対応するテキストボックスに、この出力に表示させたい名前を入力します。

    今、モデルが完成すると、それは次のようになります。

    ../../../_images/canvas_4.png
  12. モデルウィンドウの上部に名前とグループ名を入力します。

    ../../../_images/model_name.png
  13. モデルを保存 ボタンをクリックして保存します。好きな場所に保存して後で開くこともできますが、モデルフォルダ(ファイル保存ダイアログが表示されたときに表示されるフォルダです)に保存すると、あなたのモデルはツールボックスでも利用可能になります。ですから、そのフォルダにとどまって、お好みのファイル名でモデルを保存してください。

  14. モデラーダイアログを閉じ、ツールボックスに移動します。モデル 要素の中にあなたのモデルが見つかります。

    ../../../_images/toolbox1.png
  15. 通常のアルゴリズムと同じように、ダブルクリックで実行することができます。

    ../../../_images/model_dialog.png

    ご覧のように、パラメータダイアログは、対応するアルゴリズムを追加するときに最終的な出力として設定した出力と共に、モデルに追加の入力を含みます。

  16. 入力としてDEMを使用して、それを実行すると、1つのステップだけでTWIレイヤが得られるでしょう。