【问题标题】:Postgis ST_Contains polygon one tablePostgis ST_Contains 多边形一张表
【发布时间】:2012-12-06 17:01:03
【问题描述】:

我有一个包含多边形的 postgis 空间表,有一个 id (gid) 和一个名为 way 的几何列(它实际上存储了多边形边界)。表头如下所示:

|| gid (integer) | way (geometry) ||

此表中的每一列都代表一个多边形。现在我想从这个表中取出两个特定的多边形(通过 gid 选择它们)并使用ST_Contains() 来测试一个是否被另一个包含。

这方面的 SQL 语法是什么?

【问题讨论】:

  • {polygon1, polygon2} 是多边形表的实际 columns 吗?请将表格定义添加到您的问题中。这个问题也不是很清楚;您想检查两条记录是否有重叠/相交的多边形?
  • 我已经编辑了这个问题。我希望现在更清楚了。
  • 简而言之:你想选择两条记录并比较它们。
  • 是的。目前我使用 ST_Contains(geometry1,geometry2),将几何数据直接输入其中:ST_Contains(ST_GeomFromText(...), ST_GeomFromText(...))。但现在我想选择表格的两行(多边形)并将它们的几何列(“方式”)放入 ST_Contains。

标签: sql polygon postgis


【解决方案1】:

尝试以下方法:

SELECT st_contains(a.way, b.way)
FROM yourtable AS a, yourtable AS b
WHERE 
    a.gid = yourfirstid
    AND b.gid = yoursecondid

这就是你想知道的,还是我误解了这个问题?

【讨论】:

    猜你喜欢
    • 2020-01-15
    • 1970-01-01
    • 2022-06-22
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 2018-11-12
    相关资源
    最近更新 更多