はじめに
この記事は ArcPy を使った処理の基本を紹介する「Python を使って作業の効率化を図ろう!」のシリーズ記事です。
本シリーズ記事で使用するデータや関連資料は ESRI ジャパンの GitHub で公開していますので是非ご覧ください。また、本シリーズ記事では ArcGIS Desktop (ArcMap) を利用した操作をご紹介します。
前回の記事では、独自のツール作成方法についてご紹介しました。
第 6 回目となる今回のテーマは「アドインの作成方法」です。
アドインについて
Python アドインは、ArcGIS Desktop に組み込むことができるカスタム機能です。ボタンやツール、ツールバーなどを追加することができ、ArcGIS Desktop の機能を拡張することが可能です。
本記事では、前回の記事でカスタム ツールボックスに登録した Print ツールをアドインのボタンから呼び出す手順をご紹介します。
ツールの作成方法については前回の記事を併せてご覧ください。
アドイン作成の準備
アドインを作成するにはPython アドイン ウィザードを使用します。Python アドイン ウィザードは以下のページでダウンロードすることができます。
アドイン ウィザードを任意の場所に保存し、ダウンロードした「addin_assistant.zip」を解凍したらアドイン作成の準備は完了です。
ここからはアドインを作成する手順をご紹介します。
アドインの作成
Python アドインは次の 3 つのステップで作成します。
1.アドイン プロジェクトの作成
2.Python スクリプトの編集
3.アドイン ファイルの作成・実行
以下よりステップに沿ってご説明します。
1.アドイン プロジェクトの作成
アドイン ウィザードを使用して、アドインの作成に必要なプロジェクト ファイル群を指定したフォルダに作成します。
ダウンロードした「addin_assistannt」フォルダ →「bin」フォルダ →「addin_assistant.exe」をダブルクリックし、Python アドイン ウィザードを起動します。
Python アドイン ウィザードを起動するとフォルダの参照ダイアログが開きます。Python アドインは 1 つのアドインにつき、1 つのプロジェクト (1 つのフォルダ) で管理します。フォルダの参照ダイアログではプロジェクト ファイル群を格納するための任意のフォルダを指定します。ここで指定するフォルダ名がアドインのプロジェクト名となります。本記事では、前回の記事で使用した C ドライブ直下の「data」フォルダ内に新規に「Addin」フォルダを作成し、指定しています。使用データは冒頭でもご紹介した ESRI ジャパンの GitHub で公開していますので、ご活用ください。
※フォルダ名には日本語を使用しないでください。
次に、Python アドイン ウィザードの [Project Settings] タブで作成したプロジェクトの名前や作者などの設定をします。以下の項目を設定することができます。
・Select Product:対象アプリケーション
・Name:ツール名/カテゴリ名 *
・Version:バージョン *
・Company:会社/組織
・Description:説明
・Author:作成者
・Image:アドインに関連づけられた画像
(* は必須入力項目です)
次に、ツールを呼び出すためのボタンを作成します。[Add-In Contents] タブをクリックし項目を定義していきます。本記事では、ツールバーの中にボタンを定義するため、まずはツールバーを作成します。
[TOOLBARS] を右クリックし、[New Toolbar] を選択します。ここではツールバーの表示名などを設定します。以下の項目を設定することができます。本記事ではツールバーの表示名である Caption に「Python ツールバー」と入力しています。
・Caption:表示名 *
・ID:アドインを識別するための一意の名前 *
・Show Initially:アプリケーション起動時に表示/非表示
(* は必須入力項目です)
次に、ツールバーの中に格納するボタンの設定を行います。
[TOOLBARS] の下に作成した [Python ツールバー] を右クリックし、[New Button] を選択します。ここではボタンの名前やアイコンなど、ボタンの情報を定義することができます。以下の項目を設定することができます。本記事では、ボタンの表示名である Caption に「PDF に出力」と入力しています。
・Caption:ボタンの表示名 *
・Class Name:ボタンのクラス名 *
・ID:アドインを識別するための一意の名前 *
・Tooltip:ツールチップ
・Message:説明
・Help Heading:ヘルプ コンテンツの見出し
・Help Content:ヘルプ コンテンツ
・Image for control:アイコン画像
(* は必須入力項目です)
画面右下の [Save] をクリックしプロジェクトを保存します。
これで、アドイン作成に必要なプロジェクト ファイル群が作成されました。
[Open Folder] をクリックしプロジェクトを開きます。
2.Python スクリプトの編集
ステップ 1 で作成したプロジェクト フォルダの中にある Python スクリプトを編集し、ボタンをクリックしたときの動作を記述します。
プロジェクト フォルダの中の [Install] フォルダ内の Python スクリプトを任意のエディタで開きます。
ボタンをクリックした際にツールを呼び出す以下のコードを記述し、上書き保存します。
import arcpy import pythonaddins class ButtonClass1(object): """Implementation for Addin_addin.button (Button)""" def __init__(self): self.enabled = True self.checked = False def onClick(self): # ボタンをクリックしたときに作成した「Print」ツールを呼び出す pythonaddins.GPToolDialog(r‘C:\data\ArcMap\Toolbox.tbx‘, ‘Print’) # ツールボックスのパスとツール名を記述
3.アドイン ファイルの作成・実行
ここまでで、アドインを作成する準備が整いました。ステップ 3 ではアドイン ファイル作成し、アドインを ArcMap にインストールします。
プロジェクト フォルダ内の「makeaddin.py」をダブルクリックし実行すると、同フォルダ内に「<プロジェクト名>.esriaddin」ファイルが作成されます。作成されたアドインファイルを実行し、[Install Add-In] をクリックすると ArcMap にアドインを追加することができます。
ArcMap を開くと作成したツールバーとボタンが追加されています。
アドインが表示されていない場合は ArcMap の [カスタマイズ] メニュー → [ツールバー] から作成したツールバーをクリックすることで、アドインを追加することができます。
ボタンをクリックすると前回作成した「Print」ツールを呼び出すことができます。
おわりに
本記事ではアドインの作成方法についてご紹介しました。よく使うツールをまとめて自分のツールバーを作成することや、作成したアドインを配布して共有することなどが可能になりますので、是非試してみてください。
今回で「Python を使って作業の効率化を図ろう!」のシリーズ記事は最終回となります。
このシリーズを通して、ArcPy を使ってできることや、効率化を図るための手法を簡単ではありますが、ご紹介してきました。業務を効率化する際などに少しでも役立てていただければ幸いです。
関連リンク