【问题标题】:find polygon which contains the point using postgis/postgres使用 postgis/postgres 查找包含该点的多边形
【发布时间】:2018-01-25 23:05:31
【问题描述】:

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

Table1 - 列:point_coord(数据类型:point)、id(整数)

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

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

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

【问题讨论】:

    标签: sql postgresql postgis


    【解决方案1】:

    类似的东西

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

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

    【讨论】:

      猜你喜欢
      • 2020-01-15
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2019-12-10
      • 2012-02-18
      • 1970-01-01
      • 2019-11-07
      • 2015-01-08
      相关资源
      最近更新 更多