DO $$ DECLARE layerid INTEGER; BEGIN IF EXISTS ( SELECT * FROM pg_catalog.pg_available_extensions e1, pg_catalog.pg_available_extensions e2 WHERE e1.name = 'pointcloud' AND e2.name = 'pointcloud_postgis' ) THEN RAISE NOTICE 'Loading pointcloud'; CREATE EXTENSION IF NOT EXISTS pointcloud; CREATE EXTENSION IF NOT EXISTS pointcloud_postgis; TRUNCATE pointcloud_formats; INSERT INTO pointcloud_formats (pcid, srid, schema) VALUES (1, 4326, $S$ 1 4 X int32_t 0.01 2 4 Y int32_t 0.01 3 4 Z int32_t 0.01 dimensional 4326 $S$); -- Pointcloud layer: qgis_test.PointCloudPointLayer CREATE TABLE IF NOT EXISTS qgis_test."PointCloudPointLayer" ( id serial primary key, pt PCPOINT(1) ); INSERT INTO qgis_test."PointCloudPointLayer" (pt) SELECT PC_MakePoint(1, ARRAY[-127, 45, 124.0]); INSERT INTO qgis_test."PointCloudPointLayer" (pt) SELECT PC_MakePoint(1, ARRAY[127, -45, 224.0]); -- Pointcloud layer: qgis_test.PointCloudPatchLayer CREATE TABLE IF NOT EXISTS qgis_test."PointCloudPatchLayer" ( id serial primary key, pc PCPATCH(1) ); INSERT INTO qgis_test."PointCloudPatchLayer" (pc) SELECT PC_Patch(pt) FROM qgis_test."PointCloudPointLayer"; END IF; END; $$;