ArcGIS 9.x で ArcGIS Desktop をカスタマイズする方法としては、大きく分けて以下の 4 つが挙げられます。
・ユーザ インタフェースのカスタマイズ:ArcGIS Desktop アプリケーションの外観を変更する
・Python スクリプト:ユーザ インタフェースを伴わない処理の自動化ツールを作成する
・VBA マクロ:ユーザ インタフェースを伴う処理の自動化ツールを作成する
・カスタム コンポーネント(VB6, .NET):あらゆる面(ツール、エクステンション、データ モデル)の機能拡張を行う
これらのカスタマイズ方法のうち、ArcGIS 10 では、VB6 のサポートが終了し、VBA がオプション扱い(ただしサポートは継続されます)となりますが、新しいカスタマイズ方法として「アドイン」という概念が導入されます。今回は、このアドインについて詳しくご紹介します。
アドインとは
アドインとは、ArcGIS 10 から登場する新しいカスタマイズ方法であり、ArcMap や ArcGlobe などの ArcGIS Desktop アプリケーションの機能を拡張する手段を開発者へ提供します。
アドインの開発環境
アドインは、ArcObjects SDK for the .NET Framework をインストールした後に、 Microsoft Visual Studio 2008 あるいは 2010 で開発することができます。開発言語としては VB.NET あるいは C# を使用し、ArcGIS の基盤となる COM コンポーネントである ArcObjects へアクセスして機能を実装します。また、アドイン開発を容易にするために、Visual Studio に統合されたアドイン作成ウィザードも提供されます。
アドインの種類
従来、カスタム コンポーネントとして作成していたほとんどのものはアドインとして開発することができます。開発可能なアドインの種類は以下の通りです。
・ボタン、ツール
・コンボ ボックス
・マルチ アイテム(例:ブックマーク)
・メニュー、ショートカット メニュー
・ツール パレット
・ツールバー
・ドッカブル ウィンドウ
・アプリケーション エクステンション
・エディタ エクステンション
アドインの配布・登録
アドインを作成すると、拡張子が “esriaddin” というファイルが1つ作成されます。このファイルを E-mail に添付したり、ネットワーク共有したりすることによってエンドユーザはアドインを利用することができます。
E-mail に添付した場合、エンドユーザがアドイン ファイルをダブルクリックすると、アドインを登録するためのユーティリティが起動します。そして [Install Add-In] ボタンを押すだけで、アドインを所定のフォルダにコピー(登録)することができ、その後 ArcGIS Desktop アプリケーションを起動するとすぐに利用できます(アドインは従来のカスタマイズ ダイアログの [ファイルから追加] ボタンからも追加できます)。
アドインを共有フォルダに配置した場合、エンドユーザは、ArcGIS 10 から利用できるアドイン マネージャで共有フォルダを設定することによってすぐにアドインを利用することができます。この方法の場合、開発者は共有フォルダにあるアドインを更新するだけで、エンドユーザに常に最新のアドインを利用してもらうことができます。
利用可能なアドインの一覧はアドイン マネージャの [アドイン] タブで確認できます。[マイ アドイン] はローカル コンピュータに登録されたアドインで、共有アドインはネットワーク共有で参照されているアドインです。
アドインの利用
ローカル コンピュータに登録された、あるいはネットワーク共有で利用可能なアドインは、以前のカスタム コンポーネントと同様に、カスタマイズ ダイアログの [コマンド] タブ(ツールバーの場合は [ツールバー] タブ)から任意のツールバー上に追加できます。
アドインの削除
ローカル コンピュータに登録されたアドインはいくつかの方法で削除することができます。
1. アドイン マネージャの [アドインの削除] ボタンから(ネットワーク共有されたアドインはこの方法で削除できません)
2. Windows エクスプローラから登録されたアドインは所定のフォルダにコピーされていますので、Windows エクスプローラを開き、直接削除します。
・Vista / 7:C:Users<ユーザ名>DocumentsArcGISAddInsDesktop10.0
・XP:C:Documents and Settings<ユーザ名>My DocumentsArcGISAddInsDesktop10.0
アドインの利点(カスタム コンポーネントとの違い)
ArcGIS 10 は、従来のカスタム コンポーネントも作成することができます。どちらを選択するかは開発者が自由に決めることができますが、上記のとおり、アドインは配布・共有が容易であるという大きな利点があります。また、カスタム コンポーネントのように COM として登録する必要がない、登録の際に管理者権限を必要としない、など様々なメリットがあります。一方、機能面からみると、アドインで全ての機能を実装することはできません。例えば、カスタム レンダリング、カスタム ワークスペース、カスタム フィーチャなど、より高度な機能を実装する場合は、従来のカスタム コンポーネントとして作成する必要があります。また、ユーザ インタフェースを必要としないバッチ処理ツールを作成する場合は、Python のほうがより簡単に作成できるかもしれません。
■参考資料
・ArcGIS Resource Center ArcObjects SDK 10 Microsoft .NET Framework(Esri 社):
Building add-ins for ArcGIS Desktop