ツールは *.pyt にクラスとして追加されます。各ツール クラスには、最低でも __init__ および execute メソッドが含まれている必要があります。オプションとして、getParameterInfo、isLicensed、updateParameters、および updateMessages メソッドを使用して、ツールの動作をさらに制御することもできます。
ツール クラスを定義するためのメソッド
ツール メソッド | 必須/任意 | 説明 |
---|---|---|
__init__ | 必須 | ツール クラスを初期化します。 |
オプション | ツールのパラメータを定義します。 | |
オプション | ツールに実行するためのライセンスがあるかどうかを返します。 | |
オプション | ツール ダイアログ ボックスでユーザがパラメータを変更するたびに呼び出されます。updateParameters が終了すると、ジオプロセシングは内部整合チェック ルーチンを呼び出します。 | |
オプション | 内部整合チェック ルーチンが終了すると呼び出されます。内部整合チェックで作成されたメッセージは、必要に応じて変更できます。 | |
必須 | ツールのソース コード。 |
ツール クラスの __init__ の設定
ツール クラスの __init__ メソッドは、標準 Python クラスの初期化メソッドです。Python ツールボックスのツールでは、__init__ メソッドを使用してツールのプロパティ(ツールの label、description など)を設定します。ツールの名前は、クラス自体の名前によって設定されます(以下の例では、ツールの名前は CalculateSinuosity です)。
__init__ メソッドは、label や description などのツールのプロパティを設定します。以下の例では、CalculateSinuosity という名前のツールが作成されます。
class CalculateSinuosity(object):
def __init__(self):
self.label = "Calculate Sinuosity"
self.description = "Sinuosity measures the amount that a river meanders within its valley, " + \
"calculated by dividing total stream length by valley length."
次のプロパティはツールの __init__ メソッドで設定できます。
プロパティ | 説明 |
---|---|
canRunInBackground | canRunInBackground が設定されていないか、True に設定されている場合、[ジオプロセシング オプション] ダイアログ内の現在の [バックグラウンド処理] 設定値がツールに適用されます。 False に設定すると、ツールが常にフォアグラウンドで実行され、[ジオプロセシング オプション] ダイアログ内の現在の [バックグラウンド処理] 設定が無効になります。 |
category | ツールが格納されているツールセットの名前。ツールセットは、ツールボックス内でツールを整理するための方法です。 |
description | ツールの説明。 |
label | ラベルはツールの(カタログ ウィンドウに表示される)表示名です。 |
stylesheet | ツールに使用するデフォルトのスタイルシートを変更します。設定しない場合、デフォルトのスタイルシートが使用されます。 |