Python ラスター関数を使用して、カスタム ラスター関数を作成できます。画像処理アルゴリズムを Python で記述して、モザイク データセットおよびラスター データセットに適用できます。Python ラスター関数は、他の関数と同じように関数チェーンに挿入できます。入力として、*.py ファイルまたは *.pyd(コンパイル済み Cython) ファイルのどちらかを受け取ります。関数のパラメーターは Python スクリプト内で指定します。スクリプトを参照するときに、テーブルに使用可能なパラメーターが入力されます。
Python ラスター関数を関数チェーンに挿入するには、関数のダイアログ ボックスで既存の関数を右クリックします。標準の関数と異なり、既存の関数を右クリックするとショートカット メニューの先頭に表示されます。
この関数には、次の 3 つの入力があります。
- Python モジュール
- クラス名
- パラメーター
Python モジュール
Python モジュールは、Python スクリプトのパスを表します。入力の形式は、Python ファイル (*.py) またはコンパイル済みの Cython ファイル (*.pyd) のいずれかです。Python コード内のメソッドを使用して、関数、パラメーター、および出力に関する情報を記述します。このパラメーターを指定すると、[クラス名] と [パラメーター] セクションが自動的に入力されます。
Python ラスター関数の詳細については、GitHub の Python ラスター関数 をご参照ください。
クラス名
[クラス名] は、Python スクリプトから使用されるコードのブロックに付けられた名前です。通常、Python の入力にはクラスを 1 つだけ使用しますが、複数のクラスを指定することもできます。[クラス名] を指定すると、使用可能なパラメーターが自動的に設定されます。
パラメーター
[クラス名] を指定すると、Python スクリプトで定義されたパラメーターの名前と値が [パラメーター] テーブルに入力されます。[Value] フィールドを編集すると、出力をカスタマイズできます。
パラメーターとして使用できるデータ タイプには、数値、文字列、単一のラスター、複数のラスター、およびブール値の 5 つがあります。Python スクリプト内でパラメーターにドメインを作成して、ユーザーが選択できる入力値のリストを制限することもできます。この場合は、値をクリックしたときにドロップダウン メニューが表示されます。Python スクリプト内の getParameterInfo() メソッドで、設定する入力パラメーターを制御します。getParameterInfo() メソッドの詳細については、GitHub をご参照ください。
パラメーター タイプを複数のラスターに設定する場合は、パラメーターの Value セクションをクリックしてウィンドウを開くことができます。このウィンドウで、複数のソースからラスターを追加できます。このダイアログ ボックスからラスターを追加するときに、次のオプションを使用できます。
- ラスターをディスクから追加 - ディスク上にあるラスターを追加します。ラスター データセット、モザイク データセット、およびラスター プロダクトを追加できます。
- 関数チェーンの追加 - 関数チェーンを入力として追加します。
- スカラーの追加 - スカラー値を追加します。スカラー値は、数値である必要があります。
- 選択した入力に参照を追加 - 選択したラスターまたは選択した関数チェーン入力の参照コピーを追加します。参照ラスターまたは関数チェーンに変更があった場合、この参照コピーにも反映されます。この方法は、同じ参照入力を使用できる関数を多数作成するときに役立ちます。
- 選択した入力のコピーを追加 - 選択した関数チェーン入力の静的なコピーを追加します。コピーされた関数チェーンでの変更は、この静的コピーには反映されません。この方法は、関数チェーンにわずかな変更しかない類似した関数を多数作成するときに役立ちます。