スクリプト ツールの作成

スクリプト ツールは、スクリプトまたは実行可能ファイルを実行するジオプロセシング ツールです。スクリプト ツールを使用すると、ArcGIS 内からこれらのスクリプトを実行できます。ジオプロセシング ツールをスクリプトの機能へのインターフェイスとして使用します。スクリプト ツールを作成するときに、スクリプトの実行に必要なパラメーターを指定します。最も一般的なパラメーターとして、入力および出力データセット、フィールド名、選択リストから選択する文字列があります。スクリプト ツールが実行されると、パラメーター値がスクリプトに渡され、スクリプトの実行時に使用されます。

ほとんどすべてのスクリプト ツールが ArcPy を使用する Python スクリプト (.py) を実行します。ArcPy は ArcGIS に付属してインストールされる Python サイト パッケージです。ArcPy は、ジオプロセシング ツールへのアクセスだけでなく、単純または複雑なワークフローを迅速かつ簡単に作成するための追加機能、クラス、モジュールへのアクセスも提供します。スクリプトは、ArcPy を使用して ArcGIS のジオプロセシング環境にアクセスできます。ここでは、リアルタイム投影、選択セットのサポート、入力の検証、エラー メッセージ、履歴の記録などの利点があります。

ほとんどのスクリプト ツールは Python で記述されていますが、引数を受け入れるあらゆるファイルに対してスクリプト ツールを作成できます。たとえば、引数を受け入れる .r.bat、または .exe ファイルに対してスクリプト ツールを作成できます。

スクリプト ツールはツールボックスで作成されます。スクリプト ツールを作成するには、[カタログ] ウィンドウ内のツールボックスを右クリックして、[新規作成] > [スクリプト ツール] の順に選択します。

新しいスクリプト ツール

プロパティ

新しいスクリプト ツールを作成すると、その新しいスクリプト ツールのプロパティ ページが開きます。スクリプト ツールのプロパティ ページで、次のような多数のプロパティを設定できます。

  • [一般] 設定 - ツール名、パスワード保護、ソース スクリプト ファイルの場所などを設定します。
  • ツールの [パラメーター] - スクリプト ツールが表示する入力データセット、追加パラメーター、出力データセットを指定します。
  • [整合チェック] コード - スクリプト ツールのパラメーターの値に対する動作とパラメーター同士の動作をカスタマイズすることができます (たとえば、あるパラメーターで選択されるオプションに基づいてあるパラメーターの値を変更します)。[整合チェック] コードは Python で記述されます。

パラメーター

パラメーターのプロパティを定義することは、スクリプト ツールの作成の重要な手順です。[パラメーター] ページには、1 行に 1 つのパラメーターが表示されます。各パラメーターに対して、複数のプロパティを定義します。ツール上に表示されるラベル、パラメーターが受け入れるデータのタイプ、パラメーターがオプションであるか必須であるか、などを定義します。少なくとも、[ラベル][名前][データ タイプ][タイプ][方向] の各パラメーターは必ず入力してください。

プロパティ説明

ラベル

ツール上に表示されるパラメーターの名前。

名前

スクリプト ツールが別の Python スクリプトから関数として呼び出されるときのパラメーターの名前。

データ タイプ

パラメーターが受け入れるデータのタイプ。これによって、ツールで使用されるコントロールが決定します。たとえば、[フィーチャ レイヤー] を選択すると、アクティブなマップからレイヤーを選択したり、フィーチャクラスを参照したりできます。

タイプ

パラメーターには、必須とオプションがあります。必須のパラメーターには必ず値を指定する必要があります。指定しないとツールは実行できません。オプションのパラメーターには値を指定しなくても、ツールは実行できます。

方向

パラメーターには、入力と出力があります。入力パラメーターは、処理対象の既存のデータまたは処理で使用される値を表します。出力データは、ツールが作成した新規データまたは計算された値を表します。

カテゴリ

カテゴリの名前を入力すると、ツールのダイアログ ボックスにドロップダウン グループのパラメーターが配置されます。

フィルター

特定タイプのデータセット、ファイル、フィールド、特定値、一定範囲内の値のみがツールへの入力として受け入れられるようにするかどうかを指定できます。たとえば、ポイント フィーチャクラスのみを受け入れるようにフィーチャクラスのパラメーターをフィルタリングしたり、1 ~ 10 までの数字のみを受け入れるように数字のパラメーターをフィルタリングしたりできます。

依存関係

パラメーターを別のパラメーターに依存させることができます。たとえば、フィールド パラメーターをデータセット パラメーターに依存させます。この依存関係を設定すると、依存するデータセットからフィールドを選択できるようになります。

デフォルト

ツールのダイアログ ボックスが開くときにパラメーターに自動で設定される値。

環境

パラメーターは、ジオプロセシング環境からデフォルト値を取得できます。つまり、特定のジオプロセシング環境が設定されると、ツールのダイアログ ボックスが開くときに、指定のパラメーターのデフォルトとしてその値が使用されます。

シンボル表示

パラメーターのシンボルを定義するレイヤー ファイルのパス。たとえば、出力データセットが作成されマップに追加されるときに、出力データセットのパラメーターのレイヤー ファイルのシンボルを同じにすることができます。

整合チェック

ToolValidator Python コード ブロックによって、スクリプト ツールの外観、動作、およびメッセージがより制御しやすくなります。プロパティ ウィンドウから [整合チェック] コードを直接編集するか、[スクリプト エディターで開く] ボタンをクリックして、[ジオプロセシング オプション] で設定した任意のスクリプト エディターで整合チェック コードを開きます。