For this recipe, we will extrude a building footprint of our own making. Let us quickly create a table with a single building footprint, for testing purposes, as follows:
DROP TABLE IF EXISTS chp07.simple_building; CREATE TABLE chp07.simple_building AS SELECT 1 AS gid, ST_MakePolygon( ST_GeomFromText( 'LINESTRING(0 0,2 0, 2 1, 1 1, 1 2, 0 2, 0 0)' ) ) AS the_geom;
It would be beneficial to keep the creation of 3D buildings encapsulated as simply as possible in a function:
CREATE OR REPLACE FUNCTION chp07.threedbuilding(footprint geometry, height numeric) RETURNS geometry AS $BODY$
Our function takes two inputs: the building footprint and a height to extrude to. We can also imagine a function that takes in a third parameter: ...