名前

CG_Volume — 3次元ジオメトリーの体積を計算します。閉じたサーフェスはゼロでない体積となります。

概要

float CG_Volume(geometry geom1);

説明

Availability: 3.5.0

このメソッドにはSFCGALバックエンドが必要です。

この関数は3次元に対応し、Z値を削除しません。

この関数は多面体サーフェスに対応しています。

この関数は三角形と不規則三角網 (TIN)に対応しています。

このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 9.1 (CG_3DVolumeと同じ)

閉じたサーフェスジオメトリーは 0でない体積を持つことができます。ジオメトリー値自体が立体フラグを持たなければならない場合には CG_MakeSolid を使います。

閉じた多面体サーフェスは体積を持ちます。CG_MakeSolidで明示的に立体にできます。

コード
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
Geometry figure for visual-cg-volume-01