我想搜索所有多边形内特定用户的所有点并显示多边形
这些是我的表
users
id points
1 1
1 2
1 3
1 4
2 3
3 1
poly
polygon-points poly-name
(1,2,4,5) store
(1,3) shoop
我写了这段代码
BEGIN
FOR poly-name IN SELECT poly-name FROM poly
LOOP
FOR points IN SELECT * FROM users
LOOP
points@poly-name
END LOOP;
END LOOP;
RETURN;
END
答案 0 :(得分:1)
您似乎正在使用PostgreSQL的内置point
和polygon
类型,但您希望使用PostGIS geometry
类型的PostGIS函数ST_Crosses
参数。
如果有,请从这里开始:SQL query for point-in-polygon using PostgreSQL
请注意,PostGIS是PostgreSQL的附加组件。您可能没有安装它,可能需要安装它才能获得ST_Crosses
功能(以及批次更多)。