1

我想在所有多边形内搜索特定用户的所有点并显示多边形

这些是我的桌子

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
4

1 回答 1

1

看来您正在使用 PostgreSQL 的内置pointpolygon类型,但您想使用ST_Crosses将 PostGISgeometry类型作为参数的 PostGIS 函数。

如果是这样,请从这里开始:SQL query for point-in-polygon using PostgreSQL

请注意,PostGIS 是 PostgreSQL 的附加组件。您可能没有安装它,并且可能需要安装它才能获得该ST_Crosses功能(以及更多功能)。

于 2012-07-09T23:57:18.877 回答