Name

ST_3DUnion — 执行 3D 联合。

Synopsis

geometry ST_3DUnion(geometry geom1, geometry geom2);

geometry ST_3DUnion(geometry set g1field);

描述

可用性:2.2.0

可用性:3.3.0 添加了聚合函数格式

该方法需要SFCGAL后端。

该方法实现了SQL/MM规范。 SQL-MM IEC 13249-3: 5.1

该函数支持 3d 并且不会丢失 z-index。

该函数支持多面体曲面。

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

聚合形式:返回几何图形,该几何图形是几何图形行集的 3D 并集。 ST_3DUnion() 函数是 PostgreSQL 术语中的“聚合”函数。 这意味着它对数据行进行操作,与 SUM() 和 AVG() 函数的操作方式相同,并且与大多数聚合一样,它也会忽略 NULL 几何图形。

示例

3D 图像是使用 ST_AsX3D生成的,并使用 X3Dom HTML Javascript 渲染库以 HTML 形式渲染。

SELECT ST_Extrude(ST_Buffer(ST_GeomFromText('POINT(100 90)'),
 50, 'quad_segs=2'),0,0,30) AS geom1,
        ST_Extrude(ST_Buffer(ST_GeomFromText('POINT(80 80)'),
 50, 'quad_segs=1'),0,0,30) AS geom2;
                

原始 3D 几何图形叠加。 geom2是具有透明度的。

SELECT ST_3DUnion(geom1,geom2)
FROM ( SELECT ST_Extrude(ST_Buffer(ST_GeomFromText('POINT(100 90)'),
 50, 'quad_segs=2'),0,0,30) AS geom1,
        ST_Extrude(ST_Buffer(ST_GeomFromText('POINT(80 80)'),
 50, 'quad_segs=1'),0,0,30) AS geom2 ) As t;

geom1 和 geom2 的并集