17.21. モデルを作成するためにモデラー専用ツールを使用する

注釈

このレッスンでは、モデルに追加機能を提供するために、モデラーでのみ利用可能ないくつかのアルゴリズムを使用する方法を示しています。

このレッスンの目標は、モデラーを使用して現在の選択を考慮に入れる補間アルゴリズムを作成すること、選択地物だけを使用するのではなく、その選択の範囲を使用して補間されるラスタレイヤを作成することです。

補間処理には、先のレッスンで既に説明したように、2つのステップが含まれます。ポイントレイヤーをラスタ化し、ラスタ化されたレイヤーに表示されるデータなしの値を埋めます。ポイントレイヤーに選択がある場合、選択されたポイントのみが使用されますが、出力範囲が自動的に調整されるように設定されている場合は、レイヤーの全範囲が使用されます。つまり、レイヤーの範囲は、常に選択されたものから計算されたものではなく、すべての地物の完全な範囲とみなされます。私たちはモデルにいくつかの追加ツールを使って修正しようとします。

モデラーを開き、必要な入力を追加することによって、モデルを開始します。この場合は、ラスター化に使用する値を持つ(ポイントに制限)ベクターレイヤーとそれからの属性が必要です。

../../../_images/inputs.png

次のステップは、選択された地物の範囲を計算することです。ベクターレイヤー の境界と呼ばれるモデル専用ツールを使用できる場所です。まず、それらの選択した地物の範囲を有するレイヤーを作成する必要があります。その後、そのレイヤーの上に、このツールを使用できます。

選択された地物の範囲を有するレイヤーを作成する簡単な方法は、入力ポイントレイヤーの凸包を計算することです。凸包は、選択と同じバウンディングボックスを持つことになりますので、それは選択したポイントだけを使用します。その後は、 アルゴリズム ベクターレイヤーの境界を追加し、入力として凸包レイヤーを使用できます。これは、モデラーのキャンバスでこれを見てください:

../../../_images/convexhull_and_extent.png

ベクターレイヤーの境界 からの結果は、4つの数値のセットと範囲オブジェクトです。この演習では数値出力および範囲の両方を使用します。

../../../_images/extent_outputs.png

今、 ベクターレイヤーの境界 アルゴリズムからの範囲を入力として使用して、ベクターレイヤーをラスター化するアルゴリズムを追加できます。

次に示すようなアルゴリズムのパラメーターを入力します。

../../../_images/rasterize2.png

キャンバスは、今のようになります。

../../../_images/canvas_rasterize.png

最後に、 ギャップを閉じる アルゴリズムを使用してラスターレイヤーの無データ値を埋めます。

../../../_images/close_gaps1.png

このアルゴリズムは現在保存され、ツールボックスに追加する準備が整いました。それを実行できます。入力レイヤーで選択された点を補間することからラスターレイヤーが作成され、そしてそのレイヤーは選択と同じ範囲になるでしょう。

ここでアルゴリズムの改善があります。ラスター化する時には、セルサイズについてはハードコードされたharcoded値を使用しています。この値は、ここでのテスト入力レイヤーにとっては良いですが、他の例にとっては良くないかもしれません。新しいパラメーターを追加してユーザーが希望の値を入力するようにもできるでしょうが、より良いアプローチは、その値を自動的に計算させることです。

モデラー専用計算機を使用し、範囲座標からその値を計算できます。例えば、固定幅の100ピクセルのレイヤーを作成するには、計算機で次の式を使用できます。

../../../_images/calculator1.png

ここでラスター化アルゴリズムを、ハードコードされた値の代わりに計算機の出力を使用するように編集する必要があります。

最終的なアルゴリズムはこうなるはずです:

../../../_images/final.png