この記事は、「Pro SDK を使用した ArcGIS Pro の拡張」シリーズの第 4 弾です。
本シリーズでは、ArcGIS Pro SDK (以下、Pro SDK) を使用した ArcGIS Pro の拡張方法をご紹介しています。
前回の記事では、Pro SDK のアドインプロジェクトの構成についてご紹介しました。
今回は、第3弾で紹介した構成を使って、実際に Pro SDK での簡単なアドイン開発を行う流れをご紹介します。
第 1 弾:ArcGIS Pro SDK とは?
第 2 弾:環境構築
第 3 弾:アドインプロジェクトの構成
第 4 弾:アドインの開発 (本記事)
第 5 弾:管理構成画面のカスタマイズ
本記事では ArcGIS Pro にボタンを追加し、フィーチャにズームする機能をアドインとして開発します。
※完成イメージ
次のステップに沿って、アドインの開発方法を紹介していきます。
1.アドインプロジェクト作成
2.UI 要素の作成
3.ロジックの実装
4.デバッグ実行
まず、Visual Studio を起動して新規プロジェクトを作成します。
次に、[すべてのプロジェクトの種類] から「ArcGIS Pro SDK」を選択し、[ArcGIS Pro モジュール アドイン] のテンプレートを選択し、[次へ] を押下します。
プロジェクト名や場所などを任意の設定で作成し、[作成] をクリックします。
※本記事では以下の設定によりプロジェクトを作成していますが、任意の設定で作成してください。
名前:ProAppModule1
場所:C:\workspace\
ソリューション名:ProAppModule1
下のイメージのようにプロジェクトが作成されればステップ1のアドインプロジェクト作成は完了です。
次に、Pro SDK が提供するテンプレートを使用して新しいドックパネルを作成します。
ソリューション エクスプローラーで作成したプロジェクトを右クリックし、[追加] > [新しい項目] を選択します。
[ArcGIS] > [ArcGIS Pro Add-ins] のグループから [ArcGIS Pro ボタン] を選択し、追加ボタンを押下します。
※本記事では以下の設定により項目を追加していますが、任意の設定で追加してください。
名前:Button1.xaml
下のイメージのように項目が追加されています。
新しい項目を追加したことにより、Config.daml ファイルにもコントロールの定義が自動で追記されます。
ここまでで、ステップ2の UI 要素の作成は完了です。
次に、フィーチャにズームするために必要なロジックを実装していきます。
Button1.cs ファイルを開きます。
今回使用する以下の名前空間を using に追加します。
using ArcGIS.Desktop.Core.Geoprocessing;
次に、OnClick メソッドを以下のように書き換えてください (属性検索とズーム処理を行います)。
※下記では、“Japan” レイヤーの “KEN” フィールドが “神奈川県” の属性のフィーチャを検索し、ズームを行っています。レイヤー名やフィールド名などをお手持ちの任意のデータに書き換えて試してみてください。
protected async override void OnClick()
{
// 属性検索 (ジオプロセシング ツール) を実行
await Geoprocessing.ExecuteToolAsync("SelectLayerByAttribute_management",
new string[] {"Japan", "NEW_SELECTION", "KEN = '神奈川県'"});
// 選択されたフィーチャに 3秒かけてズーム
MapView.Active.ZoomToSelectedAsync(new TimeSpan(0, 0, 3), true);
}
最後のステップです。
Visual Studio のデバッガでアドイン プロジェクトを実行します。
デバッグを開始すると ArcGIS Pro が自動的に起動します。
ArcGIS Pro が起動すると作成したアドインが追加されています。
任意のプロジェクトを選択し、画面上段のリボンからアドインタブを選択して作成したボタンを操作してみましょう。
これで Pro SDK での簡単なアドイン開発を行う流れについての説明は終わりです。
次回は、Pro SDK を使って構成管理の開発をご紹介していきます。