名稱

ST_3DArea — 計算 3D 表面幾何的面積。對於實體,將返回 0。

概要

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

這個函數支援多面體表面。

這個函數支援三角形和不規則三角網表面 (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