Sql 使用postgis/postgres查找包含点的多边形

Sql 使用postgis/postgres查找包含点的多边形,sql,postgresql,postgis,Sql,Postgresql,Postgis,我有两个表,它们都包含两列。第一个表包含5000万行,而第二个表包含50行 表1-列:点坐标(数据类型:点)、id(整数) 表2-列:区域(数据类型:几何体-它们是多边形)、id(整数) 第一个表中的id列为空,将使用第二个表填充。如果一个点(点坐标)位于第二个表中可用的50个(第二个表中的行数)多边形中的任何一个内,则该多边形的对应id将填充在第一个表的id列中 我不熟悉使用postgis和postgres。我能够确定我需要使用st_contains函数,但我不确定使用它的最佳方式是什么 像这

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

表1-列:点坐标(数据类型:点)、id(整数)

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

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

我不熟悉使用postgis和postgres。我能够确定我需要使用st_contains函数,但我不确定使用它的最佳方式是什么

像这样的

UPDATE table1
SET id = table2.id
WHERE st_intersects(table1.point_coord , table2.region )
这将是基本结构。您需要探索postGIS的几何函数st_intersects。您也可以在内部使用st_