ST_3DArea — 计算 3D 表面几何的面积。对于实体将返回 0。
floatST_3DArea(
geometry geom1)
;
可用性:2.1.0
此方法需要 SFCGAL 后端。
此方法实现了 SQL/MM 规范。
SQL-MM IEC 13249-3: 8.1, 10.5
此函数支持 3d,并且不会删除 z 索引。
此函数支持多面体表面。
此函数支持三角形和三角不规则网络表面 (TIN)。
注意:默认情况下,由 WKT 构建的多面体表面是表面几何,而不是实体。因此它具有表面积。一旦转换为实体,则没有面积。
SELECT ST_3DArea(geom) As cube_surface_area, ST_3DArea(ST_MakeSolid(geom)) As solid_surface_area FROM (SELECT 'POLYHEDRALSURFACE( ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)), ((1 1 0, 1 1 1, 1 0 1, 1 0 0, 1 1 0)), ((0 1 0, 0 1 1, 1 1 1, 1 1 0, 0 1 0)), ((0 0 1, 1 0 1, 1 1 1, 0 1 1, 0 0 1)) )'::geometry) As f(geom); cube_surface_area | solid_surface_area -------------------+-------------------- 6 | 0