重要

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

17.24. アルゴリズムの反復実行

注釈

このレッスンでは、アルゴリズムを繰り返し実行して入力ベクタレイヤの地物に対して反復適用するという、ベクタレイヤを使うアルゴリズムを実行する別の方法を示します。

モデルデザイナーが処理タスクを自動化する方法の一つであることは既に分かりました。しかし、状況によっては、モデラーが必要なタスクを自動化するための適切な方法ではないかもしれません。そのような状況のひとつで、異なる機能:アルゴリズムの反復適用を使った、それを簡単に解決する方法を見てみましょう。

この章に対応するデータを開きます。それは次のようになります。

../../../_images/project1.png

前の章でお馴染みのDEMと、それから抽出された一連の流域を認識することができます。DEMをいくつかの小さなレイヤに分割し、各レイヤに単一の流域に対応する標高データだけが含まれるようにする必要があると想像してください。それは後で各流域に関連する、平均標高や高低曲線などのパラメータを計算したい場合に便利です。

これは、流域の数が多い場合は特に、長くて退屈な作業になることがあります。しかし、それはこれからご覧になるように簡単に自動化できる作業です。

The algorithm to use for clipping a raster layer with a polygon layer is called Clip raster with polygons, and has the following parameters dialog.

../../../_images/clip2.png

流域レイヤーとDEMを入力として使ってそれを実行できます。そして次の結果が得られます。

../../../_images/full_clip.png

ご覧のように、すべての分水界ポリゴンで覆われた領域が使用されています。

望む流域を選択し、前に行ったアルゴリズムを実行することにより、1つだけの流域で切り抜かれたDEMが得られます。

../../../_images/selection.png

選択した地物だけが使われるので、選択されたポリゴンだけがラスタレイヤを切り抜くために使われます。

../../../_images/selection_clip.png

すべての流域についてこれを行えば、求めている結果が生成されますが、あまり現実的な方法とは思えません。その代わりに、その 選択と切り抜き ルーチンを自動化する方法を見てみましょう。

First of all, remove the previous selection, so all polygons will be used again. Now open the Clip raster with polygon algorithm and select the same inputs as before, but this time click on the button that you will find in the right-hand side of the vector layer input where you have selected the watersheds layer.

../../../_images/iterate_button.png

このボタンを押すと、選択した入力レイヤはそこにある地物の数だけ分割され、ひとつのポリゴンを含んだレイヤに分割されます。そのため、アルゴリズムはそれぞれの単一ポリゴンレイヤに対して繰り返し呼び出されます。このアルゴリズムの場合、結果は1つのラスタレイヤではなく、アルゴリズムの実行ごとに対応する複数のラスタレイヤのセットになります。

こちらが説明したようにクリッピングアルゴリズムを実行した場合に得られる結果です。

../../../_images/result_iterative.png

各レイヤについて、黒と白のカラーパレット(または使用しているパレット)は、最小値から最大値まで異なるように調整されます。そのため、レイヤ間の境界線では、異なるピースと色が一致しないように見えますが、値は一致しています。

出力ファイル名を入力した場合、結果のファイルは、そのファイル名と接尾辞としてそれぞれの反復に対応する番号を使用して名前が付けられます。