【发布时间】:2015-03-06 00:01:05
【问题描述】:
我有一个包含点的表格
CREATE TABLE Points
{
pointID BIGSERIAL PRIMARY KEY NOT NULL,
thePoint GEOGRAPHY(POINT)
}
CREATE TABLE Polygons
{
polygonID BIGSERIAL PRIMARY KEY NOT NULL,
aPolygon GEOGRAPHY(POLYGON) NOT NULL,
}
我希望找到每个多边形中包含的所有点。 即结果应该是这样的
polygonID| pointID
-------------------
1 | 1
1 | 2
1 | 5
1 | 7
2 | 2
2 | 3
...
我设法逐点检查并使用ST_CoveredBy(thePoint, aPolygon) 确定它是否在多边形中。基于此,简单的解决方案是在所有点和多边形上进行嵌套循环,但肯定有更有效和正确的方法来实现这一点。
【问题讨论】:
标签: postgresql postgis polygons point-in-polygon