名称

ST_3DConvexHull — 计算几何的 3D 凸包。

语法

geometry ST_3DConvexHull(geometry geom1);

说明

可用性:3.3.0

此方法需要 SFCGAL 后端。

此函数支持 3D,不会删除 Z 索引。

此函数支持多面体表面。

此函数支持三角形和三角不规则网络表面 (TIN)。

示例

SELECT ST_AsText(ST_3DConvexHull('LINESTRING Z(0 0 5, 1 5 3, 5 7 6, 9 5 3 , 5 7 5, 6 3 5)'::geometry));
POLYHEDRALSURFACE Z (((1 5 3,9 5 3,0 0 5,1 5 3)),((1 5 3,0 0 5,5 7 6,1 5 3)),((5 7 6,5 7 5,1 5 3,5 7 6)),((0 0 5,6 3 5,5 7 6,0 0 5)),((6 3 5,9 5 3,5 7 6,6 3 5)),((0 0 5,9 5 3,6 3 5,0 0 5)),((9 5 3,5 7 5,5 7 6,9 5 3)),((1 5 3,5 7 5,9 5 3,1 5 3)))
WITH f AS (SELECT i, ST_Extrude(geom, 0,0, i ) AS geom
FROM ST_Subdivide(ST_Letters('CH'),5) WITH ORDINALITY AS sd(geom,i)
      )
      SELECT ST_3DConvexHull(ST_Collect(f.geom) )
      FROM f;

原始几何与 3D 凸包叠加

另请参阅

ST_LettersST_AsX3D