PostgreSQL:通过ST_Contains()将城市添加到点

时间:2013-03-28 15:48:47

标签: postgresql postgis

我有一个包含2列的表:

-geom : (Lat/lang pairs in this from) ST_SetSRID(ST_MakePoint(longg,lat),4326)

-city : an empty column

我有来自某个国家/地区的导入形状文件(作为带有多边形的表格),我想使用ST_Contains()将每个geom点添加到城市列中的确切城市。

对于每个geom点,检查每个城市多边形,如果是内部点,则将城市名称添加到城市列。

问:如何构建此结构(嵌套for循环)?

1 个答案:

答案 0 :(得分:1)

正常UPDATE FROM应该有效。 假设表shp包含city_geom和city_name。

UPDATE tbl
SET city=s.city_name
FROM shp AS s
WHERE
ST_CONTAINS(s.city_geom,geom);