アドインは、カスタム タスクの実行を補足する機能を提供するために ArcGIS for Desktop アプリケーション (ArcMap、ArcCatalog、ArcGlobe、および ArcScene) に組み込む、ツールバー上のツールのコレクションなどのカスタマイズ機能です。
ArcGIS 10 では新しい革新的な Desktop アドイン モデルが導入され、ArcGIS for Desktop アプリケーションのカスタマイズと拡張がより簡単になりました。この新しいアドイン モデルは、カスタマイズのコレクションを作成して、それを .esriaddin ファイル拡張子が付与された 1 つの圧縮ファイルにパッケージ化するための宣言型ベースのフレームワークを提供します。
ArcGIS 10 では、アドインは .NET または Java と XML (Extensible Markup Language) を使用して作成されます。XML はカスタマイズを記述します。.NET または Java クラスはカスタム動作を提供します。ArcObjects ソフトウェア開発キット (SDK) には、開発を容易にするために、Eclipse、Microsoft Visual Studio、および Visual Studio の無料の Express Edition などの開発環境と統合されたアドイン ウィザードが含まれています。
ArcGIS 10.1 ではデスクトップ アドインを作成する言語のリストに Python が追加され、デスクトップ機能を容易に拡張できるようになりました。Python アドインの開発を簡素化するには、Python アドイン ウィザードをダウンロードし、このウィザードを使用してカスタマイズのタイプを指定する必要があります。このウィザードでは、アドインを機能させるために必要なすべてのファイルが生成されます。ここをクリックして、Python アドイン ウィザードをダウンロードします。
Python アドインは、*.esriaddin 拡張子が付与された 1 つの圧縮ファイルです。これには次のアイテムが含まれます。
- config.xml - 静的なアドイン プロパティ (作成者、バージョン、キャプション、カテゴリなど) を定義する XML (Extensible Markup Language) ファイル。
- Python スクリプト - ビジネス ロジックを含む Python スクリプト (*.py ファイル)。
- リソース ファイル - 画像などのアイテム。場合によっては、アドインのサポートに使用するデータも含まれます。
1 つの圧縮ファイルとして、アドイン ファイルを事前設定されたフォルダーにコピーすることで、アドインをユーザー間で簡単に共有でき、デスクトップ アプリケーションに組み込むことができます。また、このフォルダーからアドイン ファイルを削除すると、アドインは削除されます。
アドインの共有方法の詳細については、「アドインの共有」をご参照ください。
Python アドインを作成する場合の理解
アドインの作成を決める前に、プロジェクトの要件に適切な開発方法であることを確認してください。
ツールバー上の既存のツールのコレクションを追加する場合や、ArcGIS for Desktop アプリケーションのメニューまたはツールバーのレイアウトを変更する場合は、好みに合うように UI (ユーザー インターフェイス) を設定できます。この操作には、プログラムやスクリプトの作成は不要です。詳細については、「ユーザー インターフェイスの設定について」をご参照ください。ツールバーまたはメニューにジオプロセシング ツールを追加する方法の詳細については、「メニューおよびツールバーに表示されるツールの追加と削除」をご参照ください。
データ解析またはデータ管理を実行するために一連のジオプロセシング ツール群を実行する必要がある場合や、一連のマップ群を生成する必要がある場合は、ModelBuilder を使用したモデルの作成、または Python スクリプトの作成を検討してください。詳細については、「ModelBuilder を使用したジオプロセシング」、「Python を使用したジオプロセシング」、および「マップ ワークフローの自動化」をご参照ください。
イベントに応じたアクションの実行や、表示の操作にマウスの使用を求めるカスタマイズを実行する必要がある場合は、アドインの作成を検討してください。例として、対象領域を定義するために、ユーザーがマップ上でクリックして四角形をドラッグする必要があるツールが挙げられます。別の例としては、レイヤーが追加されたり、[コンテンツ] ウィンドウから削除されるたびにマップ ドキュメントを自動的に保存するアプリケーション エクステンションが挙げられます。
Python アドインの概要
以下のトピックでは、Python ユーザーが特定のタイプのデスクトップ アドインを作成する際に利用可能なワークフローについて説明しています。