CG_3DArea — 計算 3D 表面幾何的面積。對於實體將返回 0。
floatCG_3DArea(
geometry geom1)
;
可用性:3.5.0
這個方法需要 SFCGAL 後端。
這個方法實作了 SQL/MM 規範。SQL-MM IEC 13249-3: 8.1, 10.5
這個函數支援 3D,並且不會捨棄 z 索引。
這個函數支援多面體表面。
這個函數支援三角形和三角不規則網路表面 (TIN)。
注意:預設情況下,由 WKT 建立的多面體表面是表面幾何,而非實體。因此它具有表面積。一旦轉換為實體,則沒有面積。
SELECT CG_3DArea(geom) As cube_surface_area, CG_3DArea(CG_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