【发布时间】: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。