ST_Volume — 3차원 입체의 부피를 계산합니다. 표면 도형을 입력하면 (닫힌 도형일지라도) 0을 반환할 것입니다.
float ST_Volume(
geometry geom1)
;
2.2.0 버전부터 사용할 수 있습니다.
This method needs SFCGAL backend.
This function supports 3d and will not drop the z-index.
This function supports Polyhedral surfaces.
This function supports Triangles and Triangulated Irregular Network Surfaces (TIN).
This method implements the SQL/MM specification. SQL-MM IEC 13249-3: 9.1 (same as ST_3DVolume)
WKT로 닫힌 표면을 생성했을 때, 입체라기보다는 면으로 취급됩니다. 이 닫힌 표면을 입체로 만들려면, ST_MakeSolid 함수를 이용해야 합니다. 면 도형은 부피가 없습니다. 다음은 그 사실을 보여주는 예시입니다.
SELECT ST_Volume(geom) As cube_surface_vol, ST_Volume(ST_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 ------------------+------------------- 0 | 1