CG_GenerateGableRoof — Generera ett sadeltak från en fotavtryckspolygon.
geometry CG_GenerateGableRoof(geometry geom, float8 height, float8 slope_angle);
Generera ett sadeltak som en 3D-PolyhedralSurface Z från en 2D-fotavtryckspolygon. Två motstående sidor är lodräta gaveländar; de andra två sidorna lutar mot en horisontell nock. height anger nockhöjden över marken (standard 3.0) och slope_angle styr lutningen i grader (standard 30.0). Indatageometrins SRID bevaras.
Tillgänglighet: 3.7.0 – kräver SFCGAL >= 2.3.0.
Denna metod behöver SFCGAL-backend.
Denna funktion stöder polyedriska ytor.
Generera ett sadeltak med höjden 2 och lutningen 30 grader.
WITH data AS ( SELECT 'POLYGON((0 0,5 0,5 4,0 4,0 0))'::geometry AS footprint ) SELECT CG_GenerateGableRoof(footprint, 2.0, 30.0) AS roof FROM data;
POLYHEDRALSURFACE Z (((5 4 0,5 0 0,0 0 0,0 4 0,5 4 0)),((0 4 0,0 0 0,0 2 1.155,0 4 0)),((0 0 0,5 0 0,5 2 1.155,0 2 1.155,0 0 0)),((5 0 0,5 4 0,5 2 1.155,5 0 0)),((5 4 0,0 4 0,0 2 1.155,5 2 1.155,5 4 0)))