スクリプト ツールの作成の概要
作成したスクリプトを実行するには、大きく分けて 2 通りの方法があります。ArcGIS の外部で実行する方法と、ArcGIS の内部で実行する方法です。
- ArcGIS の外部とは、下の図のようなオペレーティング システムのコマンド プロンプトからのスクリプト実行、あるいは PythonWin のような開発アプリケーション内でのスクリプト実行を意味します。この方法で実行されるスクリプトは、スタンドアロン スクリプトと呼ばれています。
- ArcGIS の内部とは、ツールボックス内部でのスクリプト ツールの作成を意味します。スクリプト ツールは他のあらゆるツールと同様、ツールのダイアログ ボックスから開いて実行したり、モデル内および Python ウィンドウで使用したり、他のスクリプトやスクリプト ツールから呼び出したりすることができます。
独自のスクリプトでスクリプト ツールを作成すれば簡単です。また、そのようにすれば多くのメリットがあります。
- 作成したスクリプト ツールはシステム ツール同様、ジオプロセシングに重要なツールです。[検索] または [カタログ] ウィンドウから開いたり、ModelBuilder および Python ウィンドウで使用したり、別のスクリプトから呼び出したりすることができます。
- 進捗状況ダイアログ ボックスおよび [結果] ウィンドウには、メッセージを書き込むことができます。
- 組み込みのドキュメント化ツールを使用して、ドキュメント化を行うことができます。
- スクリプトをスクリプト ツールとして実行した場合、インポートした arcpy オブジェクトは、ArcMap などから呼び出されたアプリケーションを完全に認識します。アプリケーションで行ったすべての環境設定(たとえば、arcpy.env.overwriteOutput や arcpy.env.scratchWorkspace)は、作成したジオプロセシング オブジェクトから使用可能になります。
スクリプト ツールを作成するための要件は、次の 3 つです。
- スクリプト
- カスタム ツールボックス
- スクリプト パラメータの正確な定義
スクリプト ツールを作成するには、カスタム ツールボックスを右クリックし、[追加] → [スクリプト] の順にクリックします。[スクリプトの追加] ウィザードが開き、スクリプト ツールの作成処理を 1 ステップずつ段階的に実行できます。手順を完了すると、新しいスクリプト ツールがツールボックスに格納されます。スクリプト ツールを右クリックし、[プロパティ] を選択すれば、このスクリプト ツールのプロパティ(たとえば、パラメータ名やデータ タイプ)をいつでも変更することができます。
スクリプト ツールの作成方法を解説したトピックへは、下の表のリンクからアクセスできます。
独自のスクリプト ツールを格納するカスタム ツールボックスの作成方法を解説したトピックです。 |
|
スクリプト ツールのパラメータは、正確に定義する必要があります。このトピックでは、パラメータの定義方法に焦点を絞って解説しています。 |
|
[スクリプトの追加] ウィザードおよび要件を解説したトピックです。 |
|
スクリプトを編集用に開く方法を解説したトピックです。 |
|
スクリプト ツールのデバッグ | スクリプト ツールのデバッグ方法を解説したトピックです。 |
このトピックでは、パラメータの定義および設定方法に焦点を絞って解説しています。 |
|
スクリプトは ArcGIS アプリケーション(たとえば、ArcMap や ArcCatalog)から実行されるため、進捗状況ダイアログ ボックスにメッセージを書き込むことができます。 |
|
スクリプト ツールをインプロセスで実行することによって、実行速度を迅速化できます。このトピックでは、インプロセス実行について説明しています。 |
|
ユーザ入力に基づいて、スクリプト ツール ダイアログ ボックスの表示をどう変更するかをカスタマイズすることができます。たとえば、パラメータを有効にする、デフォルト値を指定する、パラメータ値を特定のタイプだけに制限する(たとえば、ポイント フィーチャクラスのみを入力できるようにする)といったことが可能です。また、ツール出力のプロパティも ModelBuilder で使用できるように定義することができます。左記の 3 つのトピックは、ToolValidator という特殊な Python クラスを使用してこの処理を実行する方法を示しています。 |
|
レイヤ ファイル(*.lyr)を出力パラメータに関連付けることにより、出力の表示に使用されるシンボルを定義できます。このトピックでは、この処理をスクリプトから実行する方法を示しています。 |
|
スクリプトをツールで埋め込みにすれば、ディスク上に別途スクリプト ファイルを保管せずに済みます。パスワードを使用して、スクリプトが参照されるのを防ぐこともできます。 |