postgis : select 一个 table 的点和多边形在另一个 table 的多边形内
postgis : select points and polygons of one table inside polygon of another table
我搜索了论坛并尝试了论坛的解决方案,但没有用。
我尝试使用以下代码 select 一个 table 的点和多边形在另一个 table 的多边形内:
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 但还是一样。
我最终得到 table 行,其中几何只是我重复多次的 poly2 多边形。
我记得设法通过连接和 a 来做到这一点。 ::geometry 但我找不到确切的方法。如果有人可以帮助我,那就太好了。
顺便问一下,postgis中的::是什么意思?
您很可能在某些应用程序(例如 QGIS)中打开了结果,因为在此查询中只有一列的类型为 'geometry'(poly2.way),您会看到所描述的结果。
不要使用 *
,明确指定您想要的列,并将 pt_poly
的转换 wkt-geometry 添加到结果列,例如:
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)
)
我搜索了论坛并尝试了论坛的解决方案,但没有用。 我尝试使用以下代码 select 一个 table 的点和多边形在另一个 table 的多边形内:
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 但还是一样。 我最终得到 table 行,其中几何只是我重复多次的 poly2 多边形。
我记得设法通过连接和 a 来做到这一点。 ::geometry 但我找不到确切的方法。如果有人可以帮助我,那就太好了。
顺便问一下,postgis中的::是什么意思?
您很可能在某些应用程序(例如 QGIS)中打开了结果,因为在此查询中只有一列的类型为 'geometry'(poly2.way),您会看到所描述的结果。
不要使用 *
,明确指定您想要的列,并将 pt_poly
的转换 wkt-geometry 添加到结果列,例如:
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)
)