スクリプト ツールは、スクリプトまたは実行可能ファイルを実行するジオプロセシング ツールです。スクリプト ツールを使用すると、ArcGIS 内からこれらのスクリプトを実行できます。ジオプロセシング ツールをスクリプトの機能へのインターフェイスとして使用します。スクリプト ツールを作成する場合は、スクリプトの実行に必要なパラメーターを指定します。最も一般的なパラメーターとして、入力および出力データセット、フィールド名、選択リストから選択する文字列があります。スクリプト ツールが実行されると、パラメーター値がスクリプトに渡され、スクリプトの実行時に使用されます。
ほとんどすべてのスクリプト ツールが ArcPy を使用する Python スクリプト (.py) を実行します。ArcPy は ArcGIS に付属してインストールされる Python サイト パッケージです。ArcPy は、ジオプロセシング ツールへのアクセスだけでなく、単純または複雑なワークフローをすばやく作成するための追加機能、クラス、モジュールへのアクセスも提供します。ArcPy を使用すると、スクリプトから ArcGIS のジオプロセシング環境にアクセスできます。ここでは、リアルタイム投影、選択セットのサポート、入力の検証、エラー メッセージ、履歴の記録などの利点があります。
ほとんどのスクリプト ツールは Python で記述されていますが、引数を受け入れるあらゆるファイルに対してスクリプト ツールを作成できます。たとえば、引数を受け入れる *.r、*.bat、または *.exe ファイルに対してスクリプト ツールを作成できます。
スクリプト ツールはツールボックスで作成されます。スクリプト ツールを作成するには、[カタログ] ウィンドウ内のツールボックスを右クリックして、[新規作成] > [スクリプト] の順に選択します。
プロパティ
スクリプト ツールを作成すると、新しく作成したスクリプト ツールのプロパティ ページが開きます。スクリプト ツールのプロパティ ページで、次のような多数のプロパティを設定できます。
- [一般] 設定 - ツール名、パスワード保護、ソース スクリプト ファイルの場所などを設定します。
- ツールの [パラメーター] - スクリプト ツールが表示する入力データセット、追加パラメーター、出力データセットを指定します。
- [整合チェック] コード - スクリプト ツールのパラメーターの値に対する動作とパラメーター同士の動作をカスタマイズすることができます (たとえば、あるパラメーターで選択されるオプションに基づいてあるパラメーターの値を変更します)。[整合チェック] コードは Python で記述されます。
パラメーター
パラメーターのプロパティを定義することは、スクリプト ツールの作成の重要な手順です。[パラメーター] ページには、1 行に 1 つのパラメーターが表示されます。パラメーターごとに複数のプロパティを定義します。たとえば、ツール上に表示されるラベル、パラメーターが受け入れるデータのタイプ、パラメーターがオプションであるか必須であるかなどを定義します。少なくとも、[ラベル]、[名前]、[データ タイプ]、[タイプ]、[方向] の各パラメーターは必ず入力してください。
プロパティ | 説明 |
---|---|
ラベル | ツール上に表示されるパラメーターの名前。 |
名前 | スクリプト ツールが別の Python スクリプトから関数として呼び出されるときのパラメーターの名前。 |
データ タイプ | パラメーターが受け入れるデータのタイプ。これによって、ツールで使用されるコントロールが決定します。たとえば、[フィーチャ レイヤー] を選択すると、アクティブなマップからレイヤーを選択したり、フィーチャクラスを参照したりできます。 |
種類 | パラメーターには、必須とオプションがあります。必須のパラメーターには必ず値を指定する必要があります。指定しないとツールは実行できません。オプションのパラメーターには値を指定しなくても、ツールは実行できます。 |
方向 | パラメーターには、入力と出力があります。入力パラメーターは、処理対象の既存のデータまたは処理で使用される値を表します。出力パラメーターは、ツールが作成したデータまたは計算された値を表します。 |
カテゴリ | カテゴリの名前を入力すると、ツールのダイアログ ボックスにドロップダウン グループのパラメーターが配置されます。 |
フィルター | 特定タイプのデータセット、ファイル、またはフィールド、特定の値、一定範囲内の値のみがツールへの入力として受け入れられるようにするかどうかを指定できます。たとえば、ポイント フィーチャクラスのみを受け入れるようにフィーチャクラスのパラメーターをフィルタリングしたり、1 ~ 10 までの数字のみを受け入れるように数字のパラメーターをフィルタリングしたりできます。 |
依存関係 | パラメーターを別のパラメーターに依存させることができます。たとえば、フィールド パラメーターをデータセット パラメーターに依存させます。この依存関係を設定すると、依存するデータセットからフィールドを選択できるようになります。 |
デフォルト | ツールのダイアログ ボックスが表示された時点でパラメーターに自動的に設定される値。 |
環境 | パラメーターは、ジオプロセシング環境からデフォルト値を取得できます。つまり、特定のジオプロセシング環境が設定されると、ツールのダイアログ ボックスが表示された時点で指定のパラメーターのデフォルトとしてその値が使用されます。 |
シンボル | パラメーターのシンボルを定義するレイヤー ファイルのパス。たとえば、出力データセットが作成されマップに追加されるときに、出力データセットのパラメーターのレイヤー ファイルのシンボルを同じにすることができます。 |
整合チェック
ToolValidator Python コード ブロックによって、スクリプト ツールの外観、動作、およびメッセージがより制御しやすくなります。プロパティ ウィンドウから [整合チェック] コードを直接編集するか、[スクリプト エディターで開く] ボタンをクリックして、[ジオプロセシング オプション] で設定した任意のスクリプト エディターで整合チェック コードを開きます。