スクリプト ツールの作成

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

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

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

プロパティ

スクリプト ツールを作成すると、新しく作成したスクリプト ツールのプロパティ ダイアログ ボックスが開き、以下のサイド タブが表示されます。

  • 一般
  • パラメーター
  • 実行
  • 検証

一般

[一般] タブには、ツールの名前、ラベル、説明、アイコンが含まれます。 プロパティを変更するには、テキスト ボックスに値を入力するか、アイコンをクリックし、アイコンとして使用する新しい画像ファイルを参照します。

注意:

ツールボックスがレガシー ツールボックス (.tbx) の場合は、ツールボックスに関連するツールの実行スクリプトのパスが格納されるプロパティもあります。 ツールボックスが ArcGIS ツールボックス (.atbx) の場合、この動作は別の方法で管理されます。 スクリプトが .atbx ファイルと同じディレクトリにある場合や、.atbx の格納場所の子フォルダーにある場合は、相対パスが保持されます。 スクリプトと .atbx ファイルが完全に分かれている場合は、絶対パスが保持されます。

パラメーター

[パラメーター] タブには、パラメーターのプロパティのテーブルが示され、1 行に 1 つのパラメーターが表示されます。 デフォルトでは、テーブルは空になります。 パラメーターごとに複数のプロパティを定義します。たとえば、UI 内でそのパラメーター用に表示されるラベル、パラメーターが受け入れるデータのタイプ、パラメーターがオプションであるか必須であるかなどを定義します。 少なくとも、パラメーターの [ラベル][名前][データ タイプ][タイプ][方向] プロパティは必ず設定してください。

プロパティ説明

ラベル

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

名前

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

データ タイプ

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

タイプ

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

方向

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

カテゴリ

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

フィルター

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

依存関係

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

デフォルト

ツールのダイアログ ボックスが表示された時点でパラメーターに自動的に設定される値。

環境

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

シンボル

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

実行

[実行] タブには、スクリプト ツールの実行コードに関連するプロパティや、Python または R スクリプト ファイルへのパスが含まれています。 このページには、スクリプト ツールの実行コードを埋め込んでパスワード保護するオプションや、実行コードを新しいファイルにエクスポートするオプションも含まれています。

実行コードをツールボックス内に埋め込むか、外部のスクリプト ファイルにリンクすることができます。 実行コードの場所に関係なく、このページには、実行コードの変更に使用できるコード エディターが含まれています。または、[スクリプト エディターで開く] ボタンをクリックして、スクリプト エディターで実行コードを開きます。 優先するスクリプト エディターは、「ジオプロセシング オプション」で指定できます。

検証

[検証] ページには、スクリプト ツールの「検証」コードが表示されます。 検証では、スクリプト ツールのパラメーターの値に対する動作とパラメーター同士の動作をカスタマイズすることができます。 検証コードは Python で記述されます。

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

関連トピック