はじめに
本記事は ArcGIS Pro で ArcPy を使った処理の基本を紹介する「【ArcGIS Pro 版】Python を使って作業の効率化を図ろう!」のシリーズ記事です。本シリーズ記事は過去に Esri Community ブログで紹介しました「Python を使って作業の効率化を図ろう!」シリーズ記事を ArcGIS Pro 版で再編集したものです。
前回の記事では ArcPy を使ったマップとレイヤーの操作についてご紹介しました。第 3 回目となる今回は ArcPy を使ったジオプロセシング ツールの操作についてご紹介します。
ジオプロセシング ツールとは
ジオプロセシング(Geoprocessing)とは、GISデータに何らかの処理を行い、新しいデータを出力する一連の流れを指します。この処理を実行する機能を ArcGIS では、ジオプロセシング ツールと呼び、データの解析や管理、別のデータ形式へ変換する処理を行うことが可能です。ジオプロセシングの詳細は、ArcGIS Pro ヘルプページの 「ジオプロセシングとは」 を参照ください。
ArcPy からもジオプロセシング ツールを実行することができます。この記事では、GIS でよく使う属性検索と空間検索を ArcPy で実行する例をご紹介します。
ジオプロセシング ツールの実行:属性検索
属性検索 (Select Layer By Attribute)ツールは、属性値の指定した条件をもとに、フィーチャの選択を行うことができます。
次の例では、tokyo レイヤーから新宿区の属性を持つフィーチャを選択しています。
# tokyo レイヤーから新宿区のフィーチャを選択
arcpy.management.SelectLayerByAttribute ("tokyo", "NEW_SELECTION", "CITY1 = '新宿区'")
属性検索
ジオプロセシング ツールの実行:空間検索
空間検索 (Select Layer By Location)ツールは、別のレイヤーのフィーチャに対する空間的な関係性に基づいて、フィーチャを選択することができます。
次の例では、千葉駅から一定の距離内(500メートル)にある建物を選択しています。
# 千葉駅から 500 メートル以内にある建物を検索
arcpy.management.SelectLayerByLocation("building", "WITHIN_A_DISTANCE","ChibaStation", "500 meters", "NEW_SELECTION")
空間検索
このように、ArcPy からもジオプロセシング ツールを簡単なコーディングで実行することができました。また、前回の記事でご紹介した、取得したオブジェクトをジオプロセシングツールの引数として解析などに使用することもできますので、是非試してみてください。
おわりに
本記事では ArcPy を使ったジオプロセシングツールの操作ついてご紹介しました。
次回は、ArcPyを使ったデータの操作についてご紹介します。
関連リンク
ArcPy
ArcPy 関数一覧
ArcPy クラス一覧
ArcGIS 開発者コミュニティ
Python を使って作業の効率化を図ろう!③ : ジオプロセシング ツールの操作( ArcMap 版)