我搜索了论坛并尝试了论坛的解决方案,但没有成功。
我尝试用以下代码在另一个表的多边形中选择一个表中的点和多边形:
SELECT pt_poly.*, poly2.*
FROM osm_fuel pt_poly
JOIN boundingbox poly2
ON ST_Intersects(poly2.way, ST_GeometryFromText(pt_poly.geometry,27572));
我也尝试过st_contains,但都是一样的。最后,我得到了一个行表,其中的几何体只是我的poly2多边形,重复了很多次。
我记得我设法用一个连接和a::几何来做这件事,但我找不到确切的方法。如果有人能帮我,那就太好了。
顺便问一下,在postgis中:的含义是什么?
很可能您在某个应用程序(例如QGIS(中打开了结果,因为在该查询中只有一列的类型为"geometry"(poly2.way(,所以您可以看到所描述的结果。
不要使用*
,明确指定所需的列,并将pt_poly
的转换工作几何图形附加到结果列,例如:
SELECT pt_poly.<column_name1>
, pt_poly.<column_name2>
, poly2.<column_name1>
, poly2.<column_name2>
, ST_GeometryFromText(pt_poly.geometry,27572)) as geom
FROM osm_fuel pt_poly
JOIN boundingbox poly2
ON ST_Intersects
( poly2.way
, ST_GeometryFromText(pt_poly.geometry, 27572)
)