カスタム ツールの共有の概要
ジオプロセシングの結果をパッケージまたはサービスとして共有することができます。結果を共有する場合、ArcGIS はモデルおよびスクリプト ツールのコピーを作成し、その内容を検査し、コピーを変更して、ツールが別のコンピュータ上で実行されるようにします。さらに、結果を作成するときに使用されたデータも共有されます。
しかし、カスタム ツールは共有したいけれど、データは共有したくない場合はどうするのでしょうか。つまり、他のユーザにツールボックスを与え、ユーザがその中のツールをシステム ツールボックスと同じように使えるようにしたい場合などです。それは実現可能ですが、ある程度のスキルを必要とします。
- ツールで使用されるすべてのデータをツールへの入力パラメータにしなければなりません。ツール内でデータを直接参照することはできません。なぜなら、ツールを受け取る人(あなたのユーザ)はそれぞれのシステム内にデータを置く必要があるからです。たとえば、モデルまたはスクリプトが D:\ToolData\cfcc_codes.dbf を見つけようとしている場合、ユーザのコンピュータではツールは失敗します。ユーザのコンピュータには D:\ToolData\cfcc_codes.dbf がないためです。ツールが特定のデータセットを使用しようとしている場合には、パッケージを作成しなければなりません。
- ツールとデータを一緒に提供しない場合 (提供する場合は、結果をパッケージすることになります)、ツールに耐久性があり、ユーザが提供するあらゆるデータセットを処理できる必要があります。そのためには、優れたパラメータ定義、エラー処理、およびドキュメンテーションが必要です。
- ツールは自己包含型であることが必要です。ツールボックスだけを共有し、補助 Python またはドキュメンテーション ファイルは共有しないのが理想です。
- ツールが作成する中間データやテンポラリ データをすべて把握しておく必要があります。テンポラリ データ用の書き込み可能な場所を用意するとともに、ツールが処理後にテンポラリ データを削除することが必要です。
- ツールを徹底的にテストする必要があります。ツールを自分のコンピュータでローカルに実行するときには些細なことに思われた問題が、カスタム ツールを共有するときには大きな問題になります。
カスタム ツールおよびツールボックスを共有するときには、2 つの形式でツールを提供できます。
- Python ツールボックス(*.pyt)
- モデルまたはスクリプト ツールを含むカスタム ツールボックス(*.tbx)
Python ツールボックスはカスタム ツールの提供に適しています。必要なのは、*.pyt ファイルのみです。
カスタム ツールボックス内のモデルは、別のツールボックスに置かれたカスタム ツールを使用しない場合に限り、提供可能です。それらのモデルではあらゆるシステム ツールを使用できますが、ユーザのライセンス レベルに注意する必要があります。ユーザがライセンスを取得していないシステム ツールを使用することはできません。
カスタム ツールボックス内のスクリプトは、ツール内にコードを埋め込みます。埋め込んでいない場合には、ツールボックスとともに *.py ファイルを提供することが必要になります。その際には通常、ZIP 圧縮ユーティリティが使用されます。
関連トピック
9/14/2013