18.17. グラフィカル・モデラーから始める

注釈

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

処理ツールを持つ通常のセッションは、単一のアルゴリズムを実行している以上のものを含んでいます。通常、それらのいくつかは、結果を得るために実行され、そしてこれらのアルゴリズムのいくつかの出力は、他のもののいくつかの入力として使用されています。

グラフィカル・モデラーを使用すると、そのワークフローは1つのモデルに入れることができます。必要なすべてのアルゴリズムが一回の実行で実行され、したがって全体のプロセスが簡素化され自動化されます。

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

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

ご覧のように、2つの必須入力があります: 傾斜流域面積 。オプションの入力もありますが、それは使用するつもりはありませんので無視できます。

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

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

注釈

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

../../../_images/slope1.png ../../../_images/area.png

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

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

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

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

今しようとしていることは、DEMからTWIをただ1つのステップで計算するアルゴリズムを作成することです。それを行うには上記3つのものの代わりに単に1つのステップが必要であるだけなので、後に別のDEMからTWIレイヤーを計算する必要がある場合に作業を省けます。必要とするすべてのプロセスはツールボックスに見つかるので、しなければならないことは、それらを包括するワークフローを定義することです。グラフィカルモデラーの出番です。

処理メニューで、メニュー項目を選択することにより、モデラーを開きます。

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

モデルを作成するために2つのことが必要とされます:必要とされる入力を設定すること、それに含まれるアルゴリズムを定義すること。2つともにModelerウィンドウの左側にある2つのタブ、 入力アルゴリズム 、から要素を追加することによって行われます

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

ラスターレイヤー 入力をダブルクリックし、次のダイアログが表示されます。

../../../_images/raster_input.png

ここでは、望む入力を定義する必要があります。このラスターレイヤーはDEMであることを期待しているので、 DEM と呼びます。これはモデルのユーザーがそれを実行しているときに表示される名前です。そのレイヤーが動作することを必要とするので、必須レイヤーとして定義します。

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

../../../_images/raster_input_filled.png

OK をクリックすると、入力はモデラーのキャンバスに表示されます。

../../../_images/canvas_1.png

それでは、 アルゴリズム タブに移動してみましょう。実行する必要がある最初のアルゴリズムは、 傾斜、方向、曲率 アルゴリズムです。アルゴリズムのリストでそれを見つけてダブルクリックすると、以下のようなダイアログが表示されます。

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

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

Output generated by an algorithm are handled a bit differently when the algorithm is used as a part of a model. Instead of selecting the filepath where you want to save each output, you just have to specify if that output is an intermediate layer (and you do not want it to be preserved after the model has been executed), or it is a final one. In this case, all layers produced by this algorithm are intermediate. We will only use one of them (the slope layer), but we do not want to keep it, since we just need it to calculate the TWI layer, which is the final result that we want to obtain.

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

ただ1つだけのにおけるレイヤーまたはモデル(私たちが作成したDEMの入力)この最初のダイアログで選択するものは多くはありません。実際、ダイアログのデフォルト設定はこの場合は正しいものであるので、 OK を押す必要があるだけです。これが今モデラーキャンバスにあるものです。

../../../_images/canvas_2.png

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

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

今、モデルは、次のようになります。

../../../_images/canvas_3.png

最後のステップは、以下の構成で、 地形的湿潤指数 アルゴリズムを追加することです。

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

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

この場合、出力TWIレイヤーが最終レイヤーであるので、そう指示しなければなりません。対応するテキストボックスで、この出力に対して表示したい名前を入力します。

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

../../../_images/canvas_4.png

モデルウィンドウの上部に名前とグループ名を入力し、 保存 ボタンをクリックして保存します。

../../../_images/model_name.png

どこでも希望の場所にそれを保存して後でそれを開くことができますが、モデルのフォルダ(ファイル保存ダイアログが表示されたときに表示されるフォルダ)に保存した場合、モデルはツールボックスでも同様に利用できるようになります。だから、そのフォルダから移動せずに、希望のファイル名でモデルを保存します。

ここでモデラーダイアログを閉じ、ツールボックスにアクセスしてください。 モデル エントリにモデルが見つかるでしょう。

../../../_images/toolbox1.png

ダブルクリックすることで 、ただの通常のアルゴリズムのように実行できます。

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

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

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