👋

Automating GIS Processes 2023 を読む その3

2024/01/31に公開

概要

ヘルシンキ大学地球科学・地理学科の GIS コースの教材であるAutomating GIS Processes 203を読んでいきます。

Lesson3

講義動画

https://youtu.be/xs_csmGkVVU

Overview

ジオコーディングとは、地名や住所を座標に変換するプロセスである。このレッスンでは、Geopandas と geopy を使って住所をジオコーディングする方法を学びます。

Geopy やその他のジオコーディングライブラリ(geocoder など)は、ウェブサービス(「ジオコーダ」)を使って世界中の住所、都市、国、ランドマークの座標を簡単に見つけることができます。実際には、ジオコーダは多くの場合アプリケーションプログラミングインタフェース(API)であり、リクエストを送信し、地名、住所、座標の形式で応答を受け取ることができます。

Point-in-polygon queries

ある点がある領域の内側にあるか外側にあるかを調べたり、ある線が別の線や多角形と交差しているかどうかを調べたりすることは、地理空間における基本的な操作であり、場所に基づいてデータを選択する場合などによく使用される。このような空間クエリは、空間分析を行う際のワークフローの典型的な最初のステップの1つです。2つの空間データセット間の空間結合(後で紹介)は、PIP(Point in Polygon)クエリが使用される最も典型的なアプリケーションの1つです。

Intersect

前のセクションで取り上げた空間的関係(insideとcontains)と同様に、もうひとつの一般的な地理空間クエリは、2つのジオメトリが交差しているか、接触しているかを問うものである。

どちらのクエリもshapelyで実装されている:

  • intersects():一方のオブジェクトの境界または内部が、もう一方のオブジェクトの境界または内部と何らかの形で交差している場合、2つのオブジェクトは交差する。

  • touches():2つのオブジェクトが接するのは、少なくとも1つの点が共通しているが、その内部がもう一方のオブジェクトのどの部分とも交差していない場合。

Spatial Join

空間結合は、2つ以上の空間データセットのデータを幾何学的な関係に基づいて結合する操作である。前のセクションでは、空間結合の2つの具体的なケースについて説明した: ポイントインポリゴンクエリとインターセクトクエリである。しかし、フィーチャー間やレイヤー全体の幾何学的関係を利用する方法は他にもある。

空間結合操作には2つの入力パラメータが必要です。すなわち、2つのジオメトリ間で満たす必要のあるジオメトリ条件と、結合タイプです。ジオメトリが一致する行だけを保持するのか、1つの入力テーブルのすべての行を保持するのか、すべてのレコードを保持するのかです。

Geopandas(幾何学的関係を実装するためにshapelyを使用)は、幾何学的述語の標準セットをサポートしており、ほとんどのGIS分析ツールやアプリケーションと同様です:

Codes

lesson3 のコードを実行した結果は以下に置きました。

https://github.com/mopinfish/auto-gis-notebooks/tree/main/lessons/lesson-3

Discussion