重要
翻訳は あなたが参加できる コミュニティの取り組みです。このページは現在 97.18% 翻訳されています。
23.5. モデルデザイナー
モデルデザイナー は単純で使いやすいインターフェイスを使って複雑なモデルを作ることができます。GISで作業をするときほとんどの解析作業はひとつではなく一連の操作の一部です。モデルデザイナーを使うと一連の操作をひとつの処理にまとめることができ、後で異なるデータセットを入力として実行するときに便利です。多くのステップや異なるアルゴリズムを含んでいてもモデルは単一のアルゴリズムとして実行されるので時間と労力を節約できます.
モデルデザイナーはプロセシングメニュー()から開けます。
23.5.1. モデルデザイナーのインタフェース
図 23.18 モデルデザイナー
モデラーはその主要部分にモデルの構造やワークフローを構築するための作業用キャンバスが用意されています。
ダイアログの上部には、さまざまなメニューと ナビゲーション ツールバーがあり、さまざまなツールにアクセスすることができます。
23.5.1.4. パネル
ウィンドウの左側は、モデルに新しい要素を追加するために使用できる5つのパネルがあるセクションです:
入力: モデルを形作るすべての 入力パラメータ
Toolbox: here you can find available Processing algorithms. It also includes input parameters. Use Search... box to find algorithms or inputs.
モデルのプロパティ: モデルの名前(必須)と、 プロセシングツールボックス に表示するグループを指定します
変数: モデルには、そのモデルだけが利用できる固有の 変数 を含めることができます。これらの変数は、モデル内で使用されるあらゆる式でアクセスすることができます。この変数は、モデル内でアルゴリズムを制御したり、1つの変数を変更することでモデルの複数の側面を制御するのに便利です。変数は 変数 パネルで確認・変更することができます。
編集履歴: このパネルは、モデラーで起こったすべてのことを登録し、間違ったことを簡単に取り消すことができるようにするものです。
23.5.1.5. 利用可能なアルゴリズムについて
Some algorithms that can be executed from the do not appear in the list of available algorithms when you are designing a model. To be included in a model, an algorithm must have the correct semantic. If an algorithm does not have such a well-defined semantic (for instance, if the number of output layers cannot be known in advance), then it is not possible to use it within a model, and it will not appear in the list of algorithms that you can find in the modeler dialog. On the other hand some algorithms are specific to the modeler. Those algorithms are located within the group 'Modeler Tools'.
23.5.2. モデルを作成する
モデルの作成には、基本的に2つのステップがあります:
必要な入力の定義。これらの入力はパラメータウィンドウに追加され、ユーザーはモデルを実行する際にその値を設定することができます。モデル自体はアルゴリズムなので、プロセシングフレームワークで利用可能なすべてのアルゴリズムと同様に、パラメータウィンドウは自動的に生成されます。
ワークフロー の定義。ワークフローは、モデルの入力データを用い、アルゴリズムを追加し、定義された入力やモデル内の他のアルゴリズムによって生成された出力をどのように使用するかを選択することによって、定義されます。
23.5.2.1. 入力の定義
最初のステップはモデルの入力を定義することです。それらはモデラーウィンドウの左側にある 入力 パネルにあります。入力の上にマウスカーソルを置くと、ツールチップに追加情報が表示されます。モデラーで利用可能なパラメータの完全なリストとスクリプトの対応については プロセシングアルゴリズムのための入力と出力の型 を参照してください。
要素をダブルクリックすると、その特性を定義するためのダイアログが表示されます。パラメータによって、ダイアログには少なくとも1つの要素(説明文、ユーザーがモデルを実行するときに表示されるもの)が含まれます。例えば、数値を追加する場合、次図のように、パラメータの説明に加えて、デフォルト値や有効な値の範囲を設定する必要があります。
図 23.19 モデルパラメータ定義
必須 オプションをチェックすることで、モデルに必須の入力として定義でき、
詳細設定 チェックボックスをチェックすることで、入力を 詳細設定 セクション内に設定することができます。これは、モデルに多くのパラメータがあり、そのうちのいくつかは些細なものではないが、それでも選択したい場合に特に有効です。
入力が追加されるごとに、モデラーキャンバスに新しい要素が追加されます。
図 23.20 モデルパラメータ
また、リストから入力タイプをドラッグして、モデラーキャンバスの必要な位置にドロップすることで、入力を追加することができます。既存の入力のパラメータを変更したい場合は、その入力をダブルクリックすれば、同じダイアログが表示されます。
他のモデルの中でモデルを使用する場合、必要な入力と出力がキャンバスに表示されます。
23.5.2.2. ワークフローの定義
次の例では、2つの入力と2つのアルゴリズムを追加します。このモデルの目的は、ドレープ アルゴリズムを用いてDEMラスタレイヤからラインレイヤに標高値をコピーし、線に沿った上昇下降量 アルゴリズムを用いてラインレイヤの合計上昇量を計算することです。
入力 タブで、2つの入力として、ラインには ベクタレイヤ、DEMには ラスタレイヤ を選択します。これで、ワークフローにアルゴリズムを追加する準備ができました。
Algorithms can be found in the Toolbox panel, grouped much in the same way as they are in the Processing toolbox.
図 23.21 モデル入力
アルゴリズムをモデルに追加するには、入力と同様に、その名前をダブルクリックするか、ドラッグ&ドロップします。入力の場合と同様に、アルゴリズムの説明を変更したり、コメントを追加したりすることができます。アルゴリズムを追加すると、ツールボックスからアルゴリズムを実行するときに表示される実行パネルと同じような内容の実行ダイアログが表示されます。次の図は、ドレープ(ラスタ値をZ値に代入) と 線に沿った上昇下降量 の両方のアルゴリズムダイアログを示しています。
図 23.22 モデルアルゴリズムパラメータ
しかしご覧のように、いくつかの違いがあります。各パラメータの横にはドロップダウンメニューがあり、ワークフロー中にどのように処理されるかを制御することができます:
値: パラメータに静的な値を割り当てることができます。パラメータタイプに応じて、ウィジェットは数値(5.0)、文字列(mytext)を入力したり、QGISプロジェクトまたはフォルダからレイヤーを選択したり、リストから項目を選択したりすることができます。
事前計算済値: 式ビルダ ダイアログを開き、パラメータを埋める式を定義します。モデル入力と他のレイヤの統計情報は 変数 として利用でき、式ビルダーの検索ダイアログの上部にリストされます。式は子アルゴリズムが実行される前に一度評価され、そのアルゴリズムの実行中に使用されます。
モデル入力: はモデルに追加された入力をパラメータとして使用することができます。このオプションをクリックすると、パラメータに適した入力がすべてリストアップされます。
アルゴリズム出力: は、別のアルゴリズムの出力を、現在のアルゴリズムの入力として使用することができます。モデル入力と同様に、このオプションはパラメータに適した入力をすべてリストアップします。出力パラメータ にも、ドロップダウンメニューに上記のオプションがあります:
子アルゴリズムに静的出力を追加する。例えば、子アルゴリズムの出力を定義済みのgeopackageやpostgresレイヤに常に保存する
子アルゴリズムに式を基にした出力値を使う。例えば、今日の日付に基づいて自動ファイル名を生成し、そのファイルに出力を保存する
モデル入力を使う。例えば、ファイル/フォルダ モデル入力を使って、出力ファイルまたはフォルダを指定する
別のアルゴリズム出力を使う。例えば、(モデラーツール の) ディレクトリを作成 アルゴリズムの出力
追加の
モデル出力 オプションは、アルゴリズムの出力をモデルで利用できるようにします。アルゴリズムによって生成されたレイヤが他のアルゴリズムの入力としてのみ使用される場合は、このテキストボックスを編集しないでください。
次の図では、
モデル入力として定義された2つの入力パラメータと、一時的な出力レイヤを見ることができます:
図 23.23 アルゴリズム入力と出力パラメータ
また、ツールボックスからアルゴリズムを呼び出すときには利用できない Dependencies という追加のパラメータがあります。このパラメータにより、あるアルゴリズムを現在のアルゴリズムの 親 として明示的に定義することで、アルゴリズムの実行順序を定義することができます。これにより、現在のアルゴリズムの前に 親 アルゴリズムが実行されます。
When you use the output of a previous algorithm as the input of your algorithm, that implicitly sets the previous algorithm as parent of the current one (and places the corresponding arrow in the modeler canvas). However, in some cases an algorithm might depend on another one even if it does not use any output object from it (for instance, an algorithm that executes a SQL sentence on a PostgreSQL database and another one that imports a layer into that same database). In that case, just select the previous algorithm in the Dependencies parameter and they will be executed in the correct order.
全てのパラメータに有効な値が代入されたら、 OK をクリックしてアルゴリズムをキャンバスに追加します。これは、アルゴリズムの入力として使用されるオブジェクトを提供するキャンバスの要素(アルゴリズムまたは入力)にリンクされます。
Elements can be dragged to a different position on the canvas using the
Select/Move/Link Item tool.
This is useful to make the structure of the model clearer and more intuitive.
You can also resize the elements, grasping their border.
This is particularly useful if the description of the input or algorithm is long.
With option checked, items resizing
or displacement can be bound to a virtual grid, for a more visually structured
algorithm design.
要素間のリンクは自動的に更新され、各アルゴリズムの上部と下部に + ボタンが表示されます。ボタンをクリックすると、そのアルゴリズムのすべての入力と出力が一覧表示されるので、概要を素早く把握することができます。
You can create or remove connections between model components using an interactive drag-and-drop interface. Each parameter and algorithm item on the model canvas includes small circular sockets, output sockets on the right and input sockets on the left. To connect components, click and drag from an output socket (either from a model input or an algorithm) to an input socket on another algorithm. A visual edge follows the cursor and completes the connection when released. To remove a connection, drag the edge away from the input socket. The algorithm dialogs update automatically to reflect changes made using the drag-and-drop interface.
図 23.24 完成したモデル
With the tool, you can add a draggable box to the canvas. This feature is very useful in big models to group related elements in the modeler canvas and to keep the workflow clean. For example we might group together all the algorithms of the example:
図 23.25 モデルグループボックス
ボックスの名前と色は変更できます。グループボックスは ツールと一緒に使うと非常に便利で、モデルの特定の部分にズームインすることができます。また、マウスホイールを使って拡大、縮小することもできます。
入力の順番を変更したり、メインのモデルダイアログにどのように入力が表示されるかを変更したい場合があるかもしれません。入力 パネルの一番下に モデル入力の並べ替え... というボタンがあり、これをクリックすると新しいダイアログがポップアップ表示され、入力の順番を変更することができます:
図 23.26 モデル入力の並べ替え
また、結果をプロジェクトに読み込む際に、モデルからの出力が使用しなければならない特定の順序を設定することもできます。これはモデル作成者に、モデルを実行する際にキャンバス上でレイヤが論理的に順序付けられることを保証する手段を与えます。例えば、ラスタレイヤ出力の上にベクタレイヤ出力を配置したり、ポリゴンレイヤの上にポイントレイヤを配置したりすることができます。モデル作成者は出力にオプションの「グループ名」を設定することもでき、新しいグループ名を使用して出力をレイヤツリー内で自動的にグループ化するか、既存のグループに追加することができます。モデル メニューの中に 出力レイヤを並べ替え... という項目があり、これをクリックすると新しいダイアログがポップアップし、出力レイヤの順序を変更することができます:
図 23.27 出力レイヤを並べ替え
モデラー内の入力やアルゴリズムにコメントを追加することもできます。これはアイテムの コメント タブを開くか、右クリックすることで行えます。同じタブで、個々のモデルコメントに対して手動で色を設定することができます。コメントはモデラーキャンバスのみに表示され、最終アルゴリズムダイアログには表示されません。 を無効にすることで非表示にすることができます。
モデルは複数の方法で実行することができます:
モデル全体を実行するには、ツールバーの
モデルを実行... をクリックするか、ブラウザパネル 内のモデルを右クリックするか、
を選択します。エディタを使用してモデルを実行する場合、デフォルト以外の値は入力に保存されます。これは、後でエディタからモデルを実行する際、以降の実行ではダイアログにそれらの値が事前に入力された状態で表示されることを意味します。モデルの要素を選択し、そのモデルのサブセットのみを実行できます: メニューまたは選択したアルゴリズムのコンテキストメニューから、
選択したステップを実行... オプションを押してください。初期状態はエディタ経由でのそのモデルの前回の実行から引き継がれるため、そのモデル内の前回のステップの結果を選択したステップで利用できます。これによって、大きなモデルの一部を修正するときにテストのために常にモデル全体を実行する必要がなくなります。モデルの初期ステップに時間がかかる場合に特に有用です。モデルのサブセットを実行できます。特定のアルゴリズムから開始するには:そのアルゴリズムを右クリックし、
ここから実行... を選択します。同様に、値は前回の実行から取得されます。プロセシングツールボックスのアルゴリズムを使用するには、保存してモデラーダイアログを閉じ、ツールボックスに内容を更新させる必要があります。
23.5.2.3. モデルを文書化する
モデルを文書化する必要がありますが、これはモデラー自身から行うことができます。
モデルのヘルプを編集 ボタンをクリックすると、次に示すようなダイアログが表示されます。
図 23.28 ヘルプを編集する
右側には、モデルの一般的な説明や作者のような追加項目とともに、アルゴリズムの入力パラメータと出力の説明を使って作られた単純なHTMLページが表示されます。また、モデルの使い方を説明するために、独自のカスタム例を入力できる例セクションもあります。ヘルプエディタを初めて開いたときは、これらの説明はすべて空ですが、ダイアログの左側の要素を使って編集することができます。上部の要素を選択し、下のテキストボックスにその説明を書き込みます。
モデルヘルプはモデル自体の一部として保存されます。
23.5.3. モデルの保存と読み込み
23.5.3.1. モデルを保存する
現在のモデルを保存するには
モデルを保存 ボタンを、以前に保存したモデルを開くには
モデルを開く ボタンを使用します。モデルは .model3 という拡張子で保存されます。モデルがすでにモデラーウィンドウから保存されている場合、ファイル名を入力するプロンプトは表示されません。モデルにはすでにファイルが関連付けられているため、以降の保存にはそのファイルが使用されます。
モデルを保存する前に、ウィンドウ上部のテキストボックスに名前とグループを入力する必要があります。
models フォルダ(モデルを保存するためのファイル名を入力するプロンプトが表示されたときのデフォルトのフォルダ)に保存されたモデルは、対応するブランチのツールボックスに表示されます。ツールボックスが起動されると、 models フォルダから .model3 という拡張子のファイルを探し、その中に含まれるモデルをロードします。モデルはそれ自体がアルゴリズムなので、他のアルゴリズムと同じようにツールボックスに追加することができます。
また、
モデルをプロジェクトに保存 ボタンを使ってプロジェクトファイル内にモデルを保存することもできます。この方法で保存されたモデルはディスク上に .model3 ファイルとして書き出されるのではなく、プロジェクトファイルに埋め込まれます。
プロジェクトモデルはツールボックスの
プロジェクトモデル メニューと メニュー項目で利用できます。
モデルフォルダは、プロセシング設定ダイアログの モデル グループ下から設定できます。
models フォルダからロードされたモデルはツールボックスだけでなく、モデラーウィンドウの アルゴリズム タブにあるアルゴリズムツリーにも表示されます。つまり、他のアルゴリズムと同じように、より大きなモデルの一部としてモデルを組み込むことができるのです。
モデルは ブラウザ パネルに表示され、そこから実行することができます。
23.5.3.2. Pythonスクリプトとしてモデルを出力する
後の章で説明するように、プロセシングアルゴリズムはQGIS Pythonコンソールから呼び出すことができ、Pythonを使って新しいプロセシングアルゴリズムを作成することができます。このようなPythonスクリプトを作成する簡単な方法は、モデルを作成し、それをPythonファイルとしてエクスポートすることです。
これを行うには、モデラーキャンバスで
スクリプトアルゴリズムとして出力... をクリックするか、プロセシングツールボックスでモデルの名前を右クリックして
Pythonアルゴリズムとしてモデルを出力... を選択します。
23.5.3.3. モデルを画像、PDF又はSVGとしてエクスポートする
画像として出力、
PDFとして出力、
SVGとして出力 をクリックすると、モデルを画像、SVG、PDF(図解用)としてエクスポートすることもできます。
23.5.4. モデルを編集する
現在作成中のモデルを編集し、ワークフローや、モデルを定義するアルゴリズムと入力の関係を再定義することができます。
既存のモデルは、ブラウザパネル から:guilabel:モデルを編集... オプションを選択して編集することもできます。
キャンバス内のアルゴリズムを右クリックすると、次に示すようなコンテキストメニューが表示されます:
図 23.29 モデラーの右クリック
モデルの特定部分を実行する オプションは、以前に述べました。
削除 オプションを選択すると選択されているアルゴリズムを削除できます。アルゴリズムはそれに依存している他のアルゴリズムがないときだけ削除できます。つまり、そのアルゴリズムからの出力が別のアルゴリズムの入力として使われていないときです。
編集... オプションを選択すると、パラメータダイアログが表示され、入力やパラメータの値を変更できます。モデルで利用可能なすべての入力要素が利用可能な入力として表示されるわけではありません。モデルで定義されたワークフローのより高度なステップで生成されたレイヤや値は、循環依存関係を引き起こす場合には利用できません。
新しい値を選択し、通常通り OK ボタンをクリックします。モデル要素間の接続は、それに応じてモデラーキャンバスで変更されます。
コメントを追加... を使うと、アルゴリズムにコメントを追加して動作をより分かりやすく説明することができます。
注釈
入力パラメータを右クリックすると、次の操作も可能です:削除、編集…、コメントを追加…
モデルを部分的に実行するには、いくつかのアルゴリズムを非アクティブにします。これを行うには、アルゴリズム要素を右クリックしたときに表示されるコンテキストメニューの 無効化 オプションを選択します。選択されたアルゴリズムと、それに依存するモデル内のすべてのアルゴリズムが灰色で表示され、モデルの一部として実行されなくなります。
図 23.30 無効化されたアルゴリズムを持ったモデル
アクティブでないアルゴリズムを右クリックすると、 有効化 メニューオプションが表示され、再びアクティブにできます。
デザイナーでモデルを編集する際(およびそのモデルを実行した後)、モデル内の任意の子ステップを右クリックすると、
出力レイヤを見る を選択できます。これにより、そのステップの出力レイヤが現在のQGISプロジェクトに新しいレイヤとして追加されます。この操作は、たとえモデルがその子アルゴリズムの出力をモデルの出力として使うよう設定していなくても、モデル内の全ての子アルゴリズムで利用できます。これは便利なデバッグ操作として設計されています。モデルが失敗した場合(または予期しない結果を返した場合)、モデルを通してトレースし、問題が疑われるステップの出力を見ることができます。これにより、テストのためにモデルに臨時の出力を追加して再実行するのを避けられます。
さらにこの操作は、たとえモデル自体が(例:モデル内の後続ステップの設定ミスによって)失敗した場合であっても、モデルの実行後には常に利用できます。
ログを見る アクションは、アルゴリズムダイアログを閉じた後、それぞれの子アルゴリズムのログを確認するのに役立ちます。













