名称

ST_3DUnion — 执行 3D 并集。

语法

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 索引。

此函数支持多面体表面。

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

聚合变体:返回一个几何体,它是几何体行集的 3D 并集。ST_3DUnion() 函数在 PostgreSQL 术语中是一个“聚合”函数。这意味着它对数据行进行操作,就像 SUM() 和 AVG() 函数一样,并且与大多数聚合一样,它也忽略 NULL 几何体。

示例

使用 PostGIS ST_AsX3D 生成了 3D 图像,并使用 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 的并集

另请参阅

ST_ExtrudeST_AsX3DST_3DIntersection ST_3DDifference