【Esri Community Blog】
はじめに
本記事は ArcGIS Pro で ArcPy を使った処理の基本を紹介する「【ArcGIS Pro 版】Python を使って作業の効率化を図ろう!」のシリーズ記事です。本シリーズ記事は過去に Esri Community ブログで紹介しました、ArcGIS Desktop (ArcMap) 版の「Python を使って作業の効率化を図ろう!」シリーズ記事を ArcGIS Pro 版で再編集したものです。
前回の記事では、ArcPy を使ったデータの操作方法についてご紹介しました。第 5 回目となる今回は独自のツールの作成方法についてご紹介します。
独自のツールについて
ArcGIS Pro では、スクリプト ツール (Python スクリプトで実装した機能) を独自のジオプロセシング ツールとしてツールボックスに登録する機能を提供しています。作成したスクリプト ツールを他のジオプロセシング ツールと同様にカタログ ウィンドウから実行することや、モデルビルダーや Python ウィンドウなどから使用することができます。
ArcGIS で作成できるツールボックスには、カスタム ツールボックスと Python ツールボックスの2種類あり、それぞれ下記のような特徴があります。
本記事では、カスタム ツールボックスを例にご紹介します。
カスタム ツールボックスの作成
カスタム ツールボックスは 2 つのステップで作成します。
1.スクリプトを作成
2.ArcGIS Pro でカスタム ツールボックスを作成し、スクリプトを追加
以下よりステップに沿ってご紹介します。
1.スクリプトを作成
ツールボックスに登録したい処理を Python で作成します。
本記事では ESRIジャパン の GitHubで公開しているスクリプト「create_report_pro.py」を使用します。
※ data.zip をダウンロードし解凍するとスクリプト ファイルとArcGIS Pro のプロジェクトファイルが格納されています。
このスクリプトは CSV ファイルからポイント フィーチャを作成し、マップに表示した後、PDF ファイルとして出力する一連の処理が記述されています。
2.ArcGIS Pro でカスタム ツールボックスを作成し、スクリプトを追加
カスタム ツールボックスはカタログ ウィンドウのプロジェクト フォルダ内のツールボックスに表示されます。
ツールボックスを右クリック → 新規 → スクリプトをクリックすると設定画面が開きます。
設定画面の一般タブでツールの名前、ラベル、説明を設定します。
次にパラメータータブでジオプロセシング ツールとして使用する際に入力するパラメーターを設定します。ArcGIS Pro 上でそのパラメーター用に表示されるラベル、パラメーターが受け入れるデータ タイプ、パラメーターがオプションであるか必須であるかなどを定義します。 少なくとも、パラメーターの [ラベル]、[名前]、[データ タイプ]、[タイプ]、[方向] プロパティは必ず設定する必要があります。
今回は CSV ファイルを入力し、処理の結果を PDF として出力するスクリプトを使用しているので、入力する CSV ファイルと PDF の出力先の 2 つのパラメーターを設定します。
次に実行タブで Python スクリプトの設定をします。
実行タブではスクリプト ファイル (.py) の取り込みや、コードの編集等が行えます。今回は「create_report_pro.py」のパスを設定画面上部で設定しています。
スクリプト ファイルを設定し設定画面の OK をクリックするとスクリプトツールが完成します。
その他任意で設定するパラメーターなど、スクリプト ツールの設定についての詳細はヘルプページも併せてご参照ください。
作成したツールは下記のようにジオプロセシングツールとして実行できます。
まとめ
本記事では ArcGIS Pro で ArcPy を使った処理の基本を紹介するシリーズ記事の第 5 回目として独自のツールの作成方法についてご紹介しました。作成した Python スクリプトを ArcGIS Pro のジオプロセシングツールとして使用できますので、ぜひご活用ください。
このシリーズを通して、ArcGIS Pro の ArcPy を使ってできることの基本的な部分をご紹介してきました。ArcGIS Pro の操作の自動化など業務を効率化する際に少しでも役立てていただければ幸いです。
関連リンク
ESRIジャパン Web サイト
Esri 社 (米国) Web サイト
ArcGIS 開発者コミュニティ
・Python を使って作業の効率化を図ろう!(ArcMap版)
【ArcGIS Pro 版】Python を使って作業の効率化を図ろう!シリーズ リンク集
第一回:ArcPy の基礎
第二回:マップ・レイヤーの操作
第三回:ジオプロセシング ツールの操作
第四回:データの操作