使用 Postgis/Postgre 查找包含该点的多边形



我有 2 个表,它们都包含 2 列。第一个表包含 5000 万行,而第二个表包含 50 行

表1 - 列:point_coord(数据类型:点),id(整数)

表2 - 列:区域(数据类型:几何 - 它们是多边形),id(整数)

第一个表中的 id 列为空,将使用第二个表填充。如果一个点(point_coord)位于第二个表中可用的50(第二个表中的行数)多边形中的任何一个内,则该多边形的相应id将填充到第一个表的id列中。

我是使用邮政使用邮政的新手。我能够弄清楚我需要使用st_contains函数,但我不确定使用它的最佳方式是什么。

像这样的东西

UPDATE table1
SET id = table2.id
WHERE st_intersects(table1.point_coord , table2.region )

这将是基本结构。 您需要探索 postGIS 的几何函数st_intersects。您也可以使用st_within。

相关内容

最新更新