在PostgreSQL中将点集或点数组转换为多边形
我有一个函数,在点上执行变换 我已经知道如何将多边形转换为一组点,并使用我编写的自定义函数转换每个点。但我不知道现在如何将点转换回多边形 下面是我返回一个转换点数组的代码。如何从中得到多边形在PostgreSQL中将点集或点数组转换为多边形,postgresql,geometry,postgis,Postgresql,Geometry,Postgis,我有一个函数,在点上执行变换 我已经知道如何将多边形转换为一组点,并使用我编写的自定义函数转换每个点。但我不知道现在如何将点转换回多边形 下面是我返回一个转换点数组的代码。如何从中得到多边形 SELECT array_agg(point_geotransform(point((dp).geom))) As p FROM (SELECT ST_DumpPoints(polygon(circle('((0,0),10)'))::geometry) AS dp ) t; 注:
SELECT array_agg(point_geotransform(point((dp).geom))) As p
FROM (SELECT ST_DumpPoints(polygon(circle('((0,0),10)'))::geometry) AS dp
) t;
注:如果有更有效的方法提取点,我很想知道。这是有效的(排除了转换,以便其他人可以看到它的工作原理):
可以说,几何体必须转换为几何体,多边形必须转换为多边形。这是可行的(排除了转换,以便其他人可以看到它的工作原理):
可以说,几何体必须转换为几何体,多边形必须转换为多边形
SELECT polygon(circle('((0,0),10)')) p
UNION ALL
SELECT ST_MakePolygon(ST_MakeLine((point((dp).geom))::geometry))::polygon p
FROM (SELECT ST_DumpPoints(polygon(circle('((0,0),10)'))::geometry) AS dp
) t;