カスタム ツールボックスと Python ツールボックスの比較
ArcGIS 9.0 において、最初にスクリプト ツール フレームワークが導入され、現在は Python ベースのツールを作成する新規ユーザ向けに提供されています。これは上級ユーザ向けの効率のよいプロセスではありません。スクリプト ツール フレームワークでは次のような処理を行います。
- ウィザードを通してパラメータを定義します。
- ツールボックスで動作する整合チェック コードを作成します。
- これらに加えて、ソース スクリプトを独立して作成および保守します。
これらの処理はすべて分離されていて、まとめて管理することは困難です。
ArcGIS 10.1 では、Python を使用して独自のジオプロセシング ツールを作成する方法として、カスタム ツールボックスのスクリプト ツール()と Python ツールボックスのスクリプト ツール()の 2 つがあります。
Python ツールボックスでは、パラメータの定義、整合チェック コード、およびソース コードが同じ場所で処理されるため、Python ツールの作成と保守がより簡単になっています。さらに、Python ツールボックスは、バリュー テーブル、複合データ タイプ、カスタム ライセンス確認など、スクリプト ツールがサポートしていない機能をサポートしています。
Python の開発経験があるユーザは、Python ツールボックスを使用すると、各自の Python スキルを活用して完全な Python ツールを簡単に作成することができます。Python に慣れていないユーザには、カスタム ツールボックスのツールの作成が適しています。この方法では、ウィザードを使用して、必要な手順に従ってスクリプト ツールを作成できます。
スクリプト ツールで重要な整合チェック コードを使用しているか、使用する予定がある場合は、ほぼ間違いなく Python ツールボックスを使用するほうが簡単です。
カスタム ツールボックス() | Python ツールボックス() | |
---|---|---|
構成 | カスタム ツールボックスのスクリプト ツールは、3 つの部分で構成されます。
| Python ツールボックスは「.pyt」の拡張子を持つ Python スクリプトで、ツールボックスとそのツールに関連するすべての設定(パラメータ、整合チェック、実行)を含んでいます。これは Python クラスを使用して実現され、ツールボックスのクラスを 1 つと、ツールごとに 1 つのクラスを使用します。 |
編集 | ソース コードは任意のエディタで編集できます。 パラメータはスクリプト ツール ウィザードを通して編集します。 整合チェック コードを使用する場合は、ウィザードを利用してエディタで編集できます。 | Python ツールボックス ファイル(*.pyt)は任意のエディタで編集できます。また、ツールのすべての部分(パラメータ、定義、整合チェック コード、およびソース コード)を同じ場所で編集できます。 Python ツールボックスは 1 つのエディタのみで編集可能であるため、ツールボックス内またはツールボックス間でのコピーおよび貼り付けはサポートされません。 |
その他のツールの使用 | カスタム ツールボックスは、Python スクリプト ツール、モデル ツール(ModelBuilder で構築)、組み込みツール(ArcObjects および .NET などのコンパイルされた言語を使用して構築)などの、さまざまなツール タイプをサポートします。 | Python ツールボックスは、他のツール タイプを直接サポートしません。したがって、モデル ツールや組み込みツールを Python ツールボックスに追加することはできません。ただし、Python ツールボックスのコード内から他のツールボックスのツールを呼び出すことは可能です。 |
追加機能 | なし | Python ツールボックスは isLicensed メソッドをサポートします。このメソッドを使用すると、条件に基づいてツールを開けるかどうかを制御できます。 |
追加セキュリティ | カスタム ツールボックスのスクリプト ツールは、ソース コードをツールボックスに埋め込んで、パスワードでロックすることができます。 | なし |