名称

CG_Volume — Computes the volume of a 3D geometry. Closed surfaces can have non-zero volume.

大纲

float CG_Volume(geometry geom1);

描述

可用性:3.5.0

该方法需要SFCGAL后端。

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

该函数支持多面体曲面。

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

该方法实现了SQL/MM规范。 SQL-MM IEC 13249-3: 9.1(与CG_3DVolume相同)

Closed surface geometries can have non-zero volume. Use CG_MakeSolid when the geometry value itself must carry the solid flag.

示例

A closed polyhedral surface has volume. CG_MakeSolid makes the solid representation explicit.

Code
SELECT CG_Volume(geom) As cube_surface_vol,
CG_Volume(CG_MakeSolid(geom)) As solid_surface_vol
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_vol │ solid_surface_vol
─────────────────┼──────────────────
1                │ 1
Figure
Geometry figure for visual-cg-volume-01