From 61c3a26ebdb4f8d912f91efb835d56a8a88a204a Mon Sep 17 00:00:00 2001 From: Yuri Astrakhan Date: Fri, 13 Dec 2019 15:44:32 -0500 Subject: [PATCH] Add simplified water materialized views Move materialized view creation from the tools repo. This should be coordinated with https://github.com/openmaptiles/openmaptiles-tools/pull/115 This PR is similar to https://github.com/openmaptiles/openmaptiles/pull/740 --- layers/water/water.sql | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/layers/water/water.sql b/layers/water/water.sql index 31daeca6e..327fdc2d5 100644 --- a/layers/water/water.sql +++ b/layers/water/water.sql @@ -1,3 +1,44 @@ +-- This statement can be deleted after the water importer image stops creating this object as a table +DO $$ BEGIN DROP TABLE IF EXISTS osm_ocean_polygon_gen1 CASCADE; EXCEPTION WHEN wrong_object_type THEN END; $$ language 'plpgsql'; +-- etldoc: osm_ocean_polygon -> osm_ocean_polygon_gen1 +DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen1 CASCADE; +CREATE MATERIALIZED VIEW osm_ocean_polygon_gen1 AS ( + SELECT ST_Simplify(geometry, 20) AS geometry FROM osm_ocean_polygon +) /* DELAY_MATERIALIZED_VIEW_CREATION */ ; +CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen1_idx ON osm_ocean_polygon_gen1 USING gist (geometry); + + +-- This statement can be deleted after the water importer image stops creating this object as a table +DO $$ BEGIN DROP TABLE IF EXISTS osm_ocean_polygon_gen2 CASCADE; EXCEPTION WHEN wrong_object_type THEN END; $$ language 'plpgsql'; +-- etldoc: osm_ocean_polygon -> osm_ocean_polygon_gen2 +DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen2 CASCADE; +CREATE MATERIALIZED VIEW osm_ocean_polygon_gen2 AS ( + SELECT ST_Simplify(geometry, 40) AS geometry FROM osm_ocean_polygon +) /* DELAY_MATERIALIZED_VIEW_CREATION */ ; +CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen2_idx ON osm_ocean_polygon_gen2 USING gist (geometry); + + +-- This statement can be deleted after the water importer image stops creating this object as a table +DO $$ BEGIN DROP TABLE IF EXISTS osm_ocean_polygon_gen3 CASCADE; EXCEPTION WHEN wrong_object_type THEN END; $$ language 'plpgsql'; +-- etldoc: osm_ocean_polygon -> osm_ocean_polygon_gen3 +DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen3 CASCADE; +CREATE MATERIALIZED VIEW osm_ocean_polygon_gen3 AS ( + SELECT ST_Simplify(geometry, 80) AS geometry FROM osm_ocean_polygon +) /* DELAY_MATERIALIZED_VIEW_CREATION */ ; +CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen3_idx ON osm_ocean_polygon_gen3 USING gist (geometry); + + +-- This statement can be deleted after the water importer image stops creating this object as a table +DO $$ BEGIN DROP TABLE IF EXISTS osm_ocean_polygon_gen4 CASCADE; EXCEPTION WHEN wrong_object_type THEN END; $$ language 'plpgsql'; +-- etldoc: osm_ocean_polygon -> osm_ocean_polygon_gen4 +DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen4 CASCADE; +CREATE MATERIALIZED VIEW osm_ocean_polygon_gen4 AS ( + SELECT ST_Simplify(geometry, 160) AS geometry FROM osm_ocean_polygon +) /* DELAY_MATERIALIZED_VIEW_CREATION */ ; +CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen4_idx ON osm_ocean_polygon_gen4 USING gist (geometry); + + + CREATE OR REPLACE FUNCTION water_class(waterway TEXT) RETURNS TEXT AS $$ SELECT CASE WHEN waterway='' THEN 'lake'