ST_Volume — Berechnet das Volumen eines 3D-Volumens. Bei Anwendung auf (auch geschlossene) Flächengeometrien wird 0 zurückgegeben.
float ST_Volume(
geometry geom1)
;
Verfügbarkeit: 2.2.0
Diese Methode benötigt ein SFCGAL-Backend.
Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen.
Diese Funktion unterstützt polyedrische Flächen.
Diese Funktion unterstützt Dreiecke und dreieckige unregelmäßige Netzoberflächen (TIN).
Diese Methode setzt die SQL/MM-Spezifikation um. SQL-MM IEC 13249-3: 9.1 (identisch mit ST_3DVolume)
Wenn geschlossene Flächen mit WKT erstellt werden, werden sie als flächig und nicht als massiv behandelt. Um sie zu Volumenkörpern zu machen, müssen Sie ST_MakeSolid verwenden. Flächenhafte Geometrien haben kein Volumen. Hier ist ein Beispiel zur Veranschaulichung.
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