【ArcGIS Pro 版】Python を使って作業の効率化を図ろう!③ : ジオプロセシング ツールの操作

【Esri Community】

はじめに

本記事は ArcGIS Pro で ArcPy を使った処理の基本を紹介する「【ArcGIS Pro 版】Python を使って作業の効率化を図ろう!」のシリーズ記事です。本シリーズ記事は過去に Esri Community ブログで紹介しました「Python を使って作業の効率化を図ろう!」シリーズ記事を ArcGIS Pro 版で再編集したものです。

前回の記事では ArcPy を使ったマップとレイヤーの操作についてご紹介しました。第 3 回目となる今回は ArcPy を使ったジオプロセシング ツールの操作についてご紹介します。

ジオプロセシング ツールとは

ジオプロセシング(Geoprocessing)とは、GISデータに何らかの処理を行い、新しいデータを出力する一連の流れを指します。この処理を実行する機能を ArcGIS では、ジオプロセシング ツールと呼び、データの解析や管理、別のデータ形式へ変換する処理を行うことが可能です。ジオプロセシングの詳細は、ArcGIS Pro ヘルプページの 「ジオプロセシングとは」 を参照ください。

2022-10-18_11h45_43.png

ArcPy からもジオプロセシング ツールを実行することができます。この記事では、GIS でよく使う属性検索と空間検索を ArcPy で実行する例をご紹介します。

ジオプロセシング ツールの実行:属性検索

属性検索 (Select Layer By Attribute)ツールは、属性値の指定した条件をもとに、フィーチャの選択を行うことができます。

次の例では、tokyo レイヤーから新宿区の属性を持つフィーチャを選択しています。

# tokyo レイヤーから新宿区のフィーチャを選択
arcpy.management.SelectLayerByAttribute ("tokyo", "NEW_SELECTION", "CITY1 = '新宿区'")

‍‍‍‍‍‍‍‍‍‍‍‍2022-10-18_12h53_31.gif

属性検索

ジオプロセシング ツールの実行:空間検索

空間検索 (Select Layer By Location)ツールは、別のレイヤーのフィーチャに対する空間的な関係性に基づいて、フィーチャを選択することができます。

次の例では、千葉駅から一定の距離内(500メートル)にある建物を選択しています。

# 千葉駅から 500 メートル以内にある建物を検索
arcpy.management.SelectLayerByLocation("building", "WITHIN_A_DISTANCE","ChibaStation", "500 meters", "NEW_SELECTION")‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

2022-10-18_13h00_17.gif

空間検索

このように、ArcPy からもジオプロセシング ツールを簡単なコーディングで実行することができました。また、前回の記事でご紹介した、取得したオブジェクトをジオプロセシングツールの引数として解析などに使用することもできますので、是非試してみてください。

おわりに

本記事では ArcPy を使ったジオプロセシングツールの操作ついてご紹介しました。

次回は、ArcPyを使ったデータの操作についてご紹介します。

関連リンク

ArcPy

ArcPy 関数一覧

ArcPy クラス一覧

ArcGIS  開発者コミュニティ

Python を使って作業の効率化を図ろう!③ : ジオプロセシング ツールの操作( ArcMap 版)

【ArcGIS Pro 版】Python を使って作業の効率化を図ろう!シリーズ リンク集

第一回:ArcPy の基礎

第二回:マップ・レイヤーの操作

第四回:データ操作

第五回:独実ツールの作成