概要
ArcGIS Pro で取り扱っているファイルジオデータベース(GDB形式)を、
aprx上ではなくpythonで操作する方法を確認したい。
試しに、選んだフィーチャークラスに1kmのバッファを発生させて、
別のフィーチャークラスに出力してみます。
Pro のバージョンを2.1にしたらJupyter もインストールされたので、
Jupyter を使って操作することにします。
環境
- Windows 10
- ArcGIS Pro 2.1
- Jupyter Notebook(ArcGIS Pro 2.1以降は、自動的にインストールされます!)
事前準備
ArcGIS Pro のプロジェクト
ここでは「PracticeArcpy」プロジェクトを作っておきます。
データは「PracticeArcpy.gdb」内で操作します。
データ
バッファを発生させるのでポイント、ポリラインでもよいですが、
ここではestatから国勢調査の小地域ポリゴンをダウンロードして使います。
www.e-stat.go.jp
Esriは操作性の面でShapeではなくGDB形式で編集することを推奨しているので、
ダウンロードしたShapeはGDBに変換しておきます。
また、全国分のフィーチャを使うと重そうなので、
新潟県の長岡市だけ抽出したフィーチャクラスを作っておきます。
手順
1. 「Windowsメニュー」>「ArcGIS」>「Jupyter Notebook」を起動する。
2. 表示されたブラウザ上で、用意したプロジェクトのフォルダまで移動する。
3. 画面右上の「New」>「Python3」を選択する。
4. 以下のコード(python)を入力する。
import arcpy # バッファを発生させるフィーチャクラス(GDB)を指定 input = "PracticeArcpy.gdb/Nagaoka" # バッファを発生させた結果を出力するフィーチャクラスを指定 output = "PracticeArcpy.gdb/output" # 1km のバッファを発生させる処理を実行 arcpy.Buffer_analysis(input, output, "1000 Meters")
5. 「run cell」のアイコン(またはShift + Enter)で実行する。
6. しばらく待つと、処理が終わり Out[]:~ と表示される。
7. aprxファイルを開いて、出力したフィーチャクラス(output)を確認する。
まとめ
Pro 2.1 からJupyter Notebookの環境設定が不要になったため、
aprxを開かずして、ジオプロセシングの操作を
手軽に実行できるようになったと思います。
ソースコードは下記リンクを参考にしました。
参考ページではフィーチャクラスが絶対パスで指定されていますが、
ここでは相対パスで指定しても実行できることを確認できました。
pro.arcgis.com