はじめに
この記事は ArcPy を使った処理の基本を紹介する「Python を使って作業の効率化を図ろう!」のシリーズ記事です。
本シリーズ記事で使用するデータや関連資料は ESRI ジャパンの GitHub で公開していますので是非ご覧ください。
また、本シリーズ記事では ArcGIS Desktop (ArcMap) を利用しています。
前回の記事では、データの操作についてご紹介しました。
第 5 回目となる今回は、「独自のツール作成方法」です。
独自のツールについて
まず、独自のツールとは「ツールボックス」のことです。
ArcGIS で作成できるツールボックスはカスタム ツールボックスと Python ツールボックスの 2 種類があり、それぞれに特徴がありますが、
今回はカスタム ツールボックスを例にご説明します。
また、今回カスタム ツールボックスに登録するスクリプトについては処理の内容を細かく説明はしませんが、CSV ファイルからポイント フィーチャを作成し、マップに表示した後、PDF ファイルとして出力するという内容になっています。
処理の説明やスクリプトにつきましては冒頭でご説明いたしました ESRI ジャパンの GitHub をご覧いただき、本記事を読みながら一緒に作業をしていただければより理解が深まると思います。
それでは、ここからカスタム ツールボックスを作成する手順をご説明します。
カスタム ツールボックスの作成
カスタム ツールボックスは 3 つのステップで作成します。
- スクリプトを作成
- ArcMap を使ってカスタム ツールボックスの作成
- カスタム ツールボックスにスクリプトを追加
以下よりステップに沿ってご説明します。
スクリプトを作成
今回は、GitHub で公開しているスクリプト(create_report.py)を使います。
次のステップの準備として、GitHub よりダウンロードしたデータ一式を C:ドライブ直下に配置して使用します。
ArcMap を使ってカスタム ツールボックスの作成
ArcMap を起動します。
カスタム ツールボックスは ArcMap のカタログ ウィンドウから作成します。
カタログ ウィンドウのフォルダ接続より先ほど配置した 「data」 フォルダを接続しておきます。
次に、「data」フォルダを右クリック > 新規作成 > ツールボックスを選択します。
ツールボックスが作成されるので、任意のツールボックス名を記述してください。
本記事では「Toolbox.tbx」という名称を付けます。
これで カスタム ツールボックスの作成は完了です。
次のステップでこのカスタム ツールボックスにスクリプトの登録を行い、ツールを完成させます。
カスタム ツールボックスにスクリプトを追加
次に、カスタム ツールボックスにスクリプトを追加します。
カタログ ウィンドウで「Toolbox.tbx」を右クリック > 追加 > スクリプトを選択します。
スクリプト追加のウィザードが起動します。
ウィザードに「名称」と「ラベル」を記述して [次へ] ボタンを押下します。
※本記事では名称・ラベルともに「Print」と入力しています。
スクリプト ファイルの選択では、「data」フォルダに格納されている「create_report.py」を選択し、[次へ] ボタンを押下します。
「表示名」と「データタイプ」にツールで使用するパラメータを定義し、[完了] ボタンを押下します。
※今回登録した「create_report.py」スクリプトでは CSV ファイルを入力値、PDF ファイルの出力先を出力値として使用するため、2 つのパラメータを定義しています。
これでカスタム ツールボックスに Print という名称でスクリプトが登録され、ツールの作成が完了です。Print スクリプトをダブルクリックしてみます。
下記のような画面が表示されツールを使用することができます。
このツールは既存のジオプロセシングツールと同じように使用することができます。
おわりに
本記事では 独自のツール作成方法についてご紹介しました。
GitHub には ArcGIS Pro 用のスクリプトファイル (create_report_pro.py) もありますので ArcGIS Pro をご利用されている方はそちらを使用してカスタム ツールボックスを作成してみてください。
次回は、アドインの作成方法についてご紹介します。
関連リンク
ArcPy とは
ArcPy 関数一覧
ArcPy クラス一覧