Namn

CG_GenerateHippedRoof — Generera ett valmat tak från en fotavtryckspolygon.

Synopsis

geometry CG_GenerateHippedRoof(geometry geom, float8 height);

Beskrivning

Generera ett valmat tak som en 3D-PolyhedralSurface Z från en 2D-fotavtryckspolygon. Alla sidor lutar uppåt och möts i en nock eller topp. Takhöjden anges med height (standard 3.0).

Tillgänglighet: 3.7.0 – kräver SFCGAL >= 2.3.0.

Denna metod behöver SFCGAL-backend.

Denna funktion stöder polyedriska ytor.

Exempel

Fotavtrycket och det valmade taket visas sida vid sida så att de genererade 3D-ytorna inte döljs bakom indatans fotavtryck.

Kod
WITH data AS (
  SELECT 'POLYGON((0 0,5 0,5 4,0 4,0 0))'::geometry AS input_footprint
)
SELECT input_footprint AS input_footprint,
       CG_GenerateHippedRoof(input_footprint, 2.0) AS hipped_roof
FROM data;
Utdata
POLYGON((0 0,5 0,5 4,0 4,0 0)) | POLYHEDRALSURFACE Z (((0 4 0,5 4 0,5 0 0,0 0 0,0 4 0)),((0 4 0,0 0 0,2 2 2,0 4 0)),((0 0 0,5 0 0,3 2 2,2 2 2,0 0 0)),((5 0 0,5 4 0,3 2 2,5 0 0)),((5 4 0,0 4 0,2 2 2,3 2 2,5 4 0)))
Figur
Geometry figure for visual-cg-generatehippedroof-01