我有一个包含点的表
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)
. 基于此,天真的解决方案是在所有点和多边形上进行嵌套循环,但肯定有一种更有效和正确的方法来实现这一点。