我有一个对点执行转换的函数。
我已经想出如何将多边形转换为一组点,并使用我编写的自定义函数转换每个点。但我无法弄清楚现在如何将点转换回多边形。
这是我的代码,它返回一个转换点数组。如何从中获取多边形?
SELECT array_agg(point_geotransform(point((dp).geom))) As p
FROM (SELECT ST_DumpPoints(polygon(circle('((0,0),10)'))::geometry) AS dp
) t;
聚苯乙烯。如果有更有效的方法来提取积分,我很想知道。
答案 0 :(得分:0)
这是有效的(排除了变换,所以其他人可以看到它有效):
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;
几何必须转换为几何,多边形转换为多边形,可以这么说。