2021年5月1日土曜日

Postgisで緯度経度が含まれるポリゴンを特定する

 緯度経度から、ポリゴンに含まれる判定する場合、ST_Contains()が使える。

 ST_Contains(A,B)で、AにBが含まれているか確認できる。

A,Bともに、Geometry型である必要があるが、POINT,POLYGONなど使える。

このため、Aにポリゴン、BにPOINT(緯度経度)を指定することで、緯度経度がポリゴンに含まれるか判定ができる。


例)いわき市の座標(140.8815066 37.0687356)がadmareテーブルのgeom項目に設定されるポリゴンデータに含まれるか判定し、市/村(cn2)を取得する際のSQL

select cn2 from admarea where ST_Contains( geom,ST_GeometryFromText('POINT(140.8815066 37.0687356)',4612))

 

 

0 件のコメント: