Name

ST_3DArea — 计算 3D 表面几何形状的面积。 对于固体将返回 0。

Synopsis

floatST_3DArea(geometry geom1);

描述

[Warning]

ST_3DArea 自 3.5.0 版本起已弃用。请改用 CG_3DArea

可用性:2.1.0

该方法需要SFCGAL后端。

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

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

该函数支持多面体曲面。

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

示例

注意:默认情况下,从 WKT 构建的 PolyhedralSurface 是曲面几何体,而不是实体。 因此它具有表面积。 一旦转换为实体,就没有面积了。

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