在PostgreSQL中将点集或点数组转换为多边形

时间:2016-04-13 11:21:35

标签: 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;

聚苯乙烯。如果有更有效的方法来提取积分,我很想知道。

1 个答案:

答案 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;

几何必须转换为几何,多边形转换为多边形,可以这么说。