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

3851
0
11-21-2018 05:56 PM

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

はじめに

この記事は ArcPy を使った処理の基本を紹介する「Python を使って作業の効率化を図ろう!」のシリーズ記事です。本シリーズ記事で使用するデータや関連資料は ESRI ジャパンの GitHub で公開していますので是非ご覧ください。また、本シリーズ記事では ArcGIS Desktop (ArcMap) を利用した操作をご紹介します。

 

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

 

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

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

ジオプロセシング ツールは ArcGIS Desktop が提供するツールボックスに、データ管理ツールや解析ツールなどのようにカテゴリごとに格納されています。

 

ジオプロセシング ツールの実行

ArcPy からもジオプロセシング ツールを実行することができます。

使い方は arcpy.<ツール名>_<ツールボックスのエイリアス名>(ツールに必要なパラメータ) で実行することができます。ツール名やエイリアス名は、ツールボックスやツールのプロパティから確認することができます (下図)

GIS ではよく使う属性検索と空間検索を実行する例をご紹介します。

 

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

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

 

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

# tokyo レイヤーから新宿区のフィーチャを選択
arcpy.SelectLayerByAttribute_management (“tokyo”, “NEW_SELECTION”, “CITY1 = ‘新宿区‘“)
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

 

 

 

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

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

 

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

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

 

 

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

 

おわりに

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

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

 

関連リンク

ArcPy 

ArcPy 関数一覧

ArcPy クラス一覧

ジオプロセシング (GIS 基礎解説)

Version history
Last update:
‎11-12-2020 11:00 PM
Updated by:
Contributors