CG_GenerateRoof — Generate a roof of the requested type from a footprint polygon.
geometry CG_GenerateRoof(geometry geom, text roof_type, float8 height, float8 slope_angle, integer primary_edge_index);
Generate a roof as a 3D PolyhedralSurface Z from a 2D footprint polygon. The roof_type parameter selects the roof style (default 'HIPPED'):
FLAT — flat box roof.
HIPPED — hipped roof (all sides slope to apex).
GABLE — gable roof (two sloping sides, two vertical ends).
SKILLION — single-slope (shed) roof.
height sets the roof height (default 3.0), slope_angle sets the pitch in degrees (default 30.0), and primary_edge_index selects the reference edge for skillion roofs (default 0).
Availability: 3.7.0 - requires SFCGAL >= 2.3.0.
Diese Methode benötigt ein SFCGAL-Backend.
Diese Funktion unterstützt polyedrische Flächen.
SELECT ST_AsText(CG_GenerateRoof('POLYGON((0 0,4 0,4 4,0 4,0 0))', 'HIPPED', 2.0, 30.0, 0));
-- POLYHEDRALSURFACE Z (((0 4 0,4 4 0,4 0 0,0 0 0,0 4 0)), ...)
SELECT ST_AsText(CG_GenerateRoof('POLYGON((0 0,4 0,4 4,0 4,0 0))', 'FLAT', 2.0));
-- POLYHEDRALSURFACE Z (((0 0 0,0 4 0,4 4 0,4 0 0,0 0 0)), ...)