17.26. バッチ処理インターフェイス

注釈

このレッスンではバッチ処理インターフェイスを紹介します。1つのアルゴリズムをさまざまな入力値のセットで実行できます。

特定のアルゴリズムが異なる入力で繰り返し実行する必要があることがあります。これは、例えば、入力ファイルのセットをあるフォーマットから他のフォーマットに変換するときとか、所与の投影におけるいくつかのレイヤーを他の投影に変換する必要があるときです。

その場合には、ツールボックスに繰り返しアルゴリズムを呼び出すのは最良の選択肢ではありません。代わりに、バッチ処理インターフェイスを使用するべきです。そうすれば与えられたアルゴリズムの複数の実行が大幅に簡略化されます。バッチプロセスとしてアルゴリズムを実行するには、ツールボックスでそれを見つけて、ダブルクリックではなく右クリックして、 バッチ処理として実行 を選択します。

../../../_images/batch_menu.png

この例では、 再投影アルゴリズム を使用するので、前述したようにそれを見つけて実行します。次のダイアログが表示されるでしょう。

../../../_images/batch_dialog.png

このレッスンのためのデータを見てみると、3つのシェープファイルのセットは含むが、QGISプロジェクトファイルが含まれていないことがわかります。アルゴリズムは、バッチプロセスとして実行されると、レイヤーの入力は、現在のQGISプロジェクトまたはファイルのいずれかから選択できるからです。それによって、例えば指定したフォルダ内のすべてのレイヤーなど、大量のレイヤーを簡単に処理できるようになります。

バッチ処理ダイアログのテーブルの各行は、アルゴリズムの単一の実行を表します。行のセルはアルゴリズムによって必要とされるパラメーターに対応します。これは、通常の単一実行ダイアログの中でのように互いに上下にではなく、その行に水平に配置されます。

実行するバッチ・プロセスを定義すると、対応する値を持つテーブルを充填することによって一つであり、ダイアログ自体は、この作業を容易にするためにいくつかのツールが含まれています。

フィールドの一つ一つを入力始めましょう。入力する最初の列は、入力レイヤー 列です。処理したいレイヤーのそれぞれの名前を入力する代わりに、それらのすべてを選択してダイアログが各行にひとつを入れるようにさせることができます。左上のセル内のボタンをクリックし、ポップアップするファイル選択ダイアログで、再投影する3つのファイルを選択します。行ごとにそれらの1つだけが必要とされるので、残りは下の行を埋めるために使用されます。

../../../_images/first_column_filled.png

デフォルトの行数は3で、これはちょうど変換する必要があるレイヤーの数ですが、より多くのレイヤーを選択した場合、新しい行が自動的に追加されます。手動でエントリを記入したい場合は、 行を追加 ボタンを使用して複数の行を追加できます。

これらのレイヤーをすべてEPSG:23029 CRSに変換しようとしているので、2番目のフィールドでそのCRSを選択する必要があります。すべての行で同じにしたいが、各行ひとつひとつに対してそれを行う必要はありません。その代わりに、1行目(最上の1つ)にそのCRSを、対応するセル内のボタンを使用して設定し、列見出しをダブルクリックします。それにより、列のすべてのセルが最上セルの値を使用して埋められます。

../../../_images/second_column_filled.png

最後に、対応する再投影レイヤーが含まれています、各実行のための出力ファイルを選択する必要があります。もう一度、ちょうど最初の行のためにそれをやらせます。上部セル内のボタンをクリックし、出力ファイルを置きたいフォルダにファイル名を入力します(例えば、 reprojected.shp )。

さて、ファイル選択ダイアログ上で OK をクリックすると、ファイルは自動的にセルに書き込まれず、以下のような入力ボックスが代わりに表示されます。

../../../_images/autofill.png

最初のオプションを選択した場合のみ、現在のセルが入力されます。他のいずれかを選択した場合は、以下のすべての行は、与えられたパターンで埋められます。この場合は、 パラメーター値で埋める オプションを、そしてその後に下のドロップダウンメニューで 入力レイヤー 値を選択しようとしています。追加したファイル名に追加する(つまり、レイヤー名です) 入力レイヤー の値が発生して、各出力ファイル名が異なるようになります。バッチ処理テーブルはこのようになるはずです:

../../../_images/complete.png

最後の列は、得られるレイヤーを現在のQGISプロジェクトに追加するかどうかを設定します。このような場合には、結果を見ることができるよう、デフォルトの はい オプションのままにしておきます。

OK をクリックするとバッチ処理が実行されます。すべてがうまくいった場合は、すべてのレイヤーが処理され、3つの新しいレイヤーが作成されているでしょう。