名前

CG_3DArea — 3次元の面ジオメトリーの面積を計算します。立体の場合は 0を返します。

概要

floatCG_3DArea(geometry geom1);

説明

Availability: 3.5.0

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

このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 8.1, 10.5

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

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

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

ご注意: デフォルトでは、WKT から生成された PolyhedralSurface は面ジオメトリーで、立体ではありません。サーフェス面を持ちます。立体に変換すると、面を持ちません。

コード
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