Landcover changed for zoom 0 to 7

pull/1709/head
Bjørnar Dervo 2025-02-10 14:01:25 +01:00
rodzic 31bf3df71a
commit acad018329
3 zmienionych plików z 553 dodań i 294 usunięć

Wyświetl plik

@ -1,3 +1,10 @@
DROP TABLE IF EXISTS osm_landcover_gen_z0;
DROP TABLE IF EXISTS osm_landcover_gen_z1;
DROP TABLE IF EXISTS osm_landcover_gen_z2;
DROP TABLE IF EXISTS osm_landcover_gen_z3;
DROP TABLE IF EXISTS osm_landcover_gen_z4;
DROP TABLE IF EXISTS osm_landcover_gen_z5;
DROP TABLE IF EXISTS osm_landcover_gen_z6;
DROP TABLE IF EXISTS osm_landcover_gen_z7;
DROP TABLE IF EXISTS osm_landcover_gen_z8;
DROP TABLE IF EXISTS osm_landcover_gen_z9;
@ -5,6 +12,13 @@ DROP TABLE IF EXISTS osm_landcover_gen_z10;
DROP TABLE IF EXISTS osm_landcover_gen_z11;
DROP TABLE IF EXISTS osm_landcover_gen_z12;
DROP TABLE IF EXISTS osm_landcover_gen_z13;
DROP TABLE IF EXISTS simplify_vw_z0 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z1 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z2 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z3 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z4 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z5 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z6 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z7 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z8 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z9 CASCADE;
@ -163,10 +177,11 @@ CREATE TABLE simplify_vw_z9 AS
SELECT subclass,
ST_MakeValid(
ST_SnapToGrid(
ST_SimplifyVW(geometry, power(zres(9),2)),
ST_SimplifyVW(ST_Union(geometry), power(zres(9),2)),
0.001)) AS geometry
FROM simplify_vw_z10
WHERE ST_Area(geometry) > power(zres(8),2)
GROUP BY subclass
);
CREATE INDEX ON simplify_vw_z9 USING GIST (geometry);
@ -211,7 +226,7 @@ CREATE TABLE simplify_vw_z8 AS
SELECT subclass,
ST_MakeValid(
ST_SnapToGrid(
ST_SimplifyVW(geometry, power(zres(8),2)),
ST_SimplifyVW(ST_Buffer(geometry,0.001,1), power(zres(8),2)),
0.001)) AS geometry
FROM simplify_vw_z9
WHERE ST_Area(geometry) > power(zres(7),2)
@ -278,6 +293,250 @@ GROUP BY subclass,
CREATE INDEX ON osm_landcover_gen_z7 USING GIST (geometry);
-- etldoc: simplify_vw_z7 -> simplify_vw_z6
CREATE TABLE simplify_vw_z6 AS
(
SELECT subclass,
ST_MakeValid(
ST_SnapToGrid(
ST_SimplifyVW(geometry, power(zres(6),2)),
0.001)) AS geometry
FROM simplify_vw_z7
WHERE ST_Area(geometry) > power(zres(5),2)
);
CREATE INDEX ON simplify_vw_z6 USING GIST (geometry);
-- etldoc: simplify_vw_z6 -> osm_landcover_gen_z6
CREATE TABLE osm_landcover_gen_z6 AS
(
SELECT subclass,
ST_MakeValid(
(ST_Dump(
ST_Union(geometry))).geom) AS geometry
FROM
(
SELECT subclass,
ST_ClusterDBSCAN(geometry, eps := 0, minpoints := 1) OVER () AS cid,
geometry
FROM simplify_vw_z6
) union_geom
GROUP BY subclass,
cid
);
CREATE INDEX ON osm_landcover_gen_z6 USING GIST (geometry);
-- etldoc: simplify_vw_z6 -> simplify_vw_z5
CREATE TABLE simplify_vw_z5 AS
(
SELECT subclass,
ST_MakeValid(
ST_SnapToGrid(
ST_SimplifyVW(geometry, power(zres(5),2)),
0.001)) AS geometry
FROM simplify_vw_z6
WHERE ST_Area(geometry) > power(zres(4),2)
);
CREATE INDEX ON simplify_vw_z5 USING GIST (geometry);
-- etldoc: simplify_vw_z5 -> osm_landcover_gen_z5
CREATE TABLE osm_landcover_gen_z5 AS
(
SELECT subclass,
ST_MakeValid(
(ST_Dump(
ST_Union(geometry))).geom) AS geometry
FROM
(
SELECT subclass,
ST_ClusterDBSCAN(geometry, eps := 0, minpoints := 1) OVER () AS cid,
geometry
FROM simplify_vw_z5
) union_geom
GROUP BY subclass,
cid
);
CREATE INDEX ON osm_landcover_gen_z5 USING GIST (geometry);
-- etldoc: simplify_vw_z5 -> simplify_vw_z4
CREATE TABLE simplify_vw_z4 AS
(
SELECT subclass,
ST_MakeValid(
ST_SnapToGrid(
ST_SimplifyVW(geometry, power(zres(4),2)),
0.001)) AS geometry
FROM simplify_vw_z5
WHERE ST_Area(geometry) > power(zres(3),2)
);
CREATE INDEX ON simplify_vw_z4 USING GIST (geometry);
-- etldoc: simplify_vw_z4 -> osm_landcover_gen_z4
CREATE TABLE osm_landcover_gen_z4 AS
(
SELECT subclass,
ST_MakeValid(
(ST_Dump(
ST_Union(geometry))).geom) AS geometry
FROM
(
SELECT subclass,
ST_ClusterDBSCAN(geometry, eps := 0, minpoints := 1) OVER () AS cid,
geometry
FROM simplify_vw_z4
) union_geom
GROUP BY subclass,
cid
);
CREATE INDEX ON osm_landcover_gen_z4 USING GIST (geometry);
-- etldoc: simplify_vw_z4 -> simplify_vw_z3
CREATE TABLE simplify_vw_z3 AS
(
SELECT subclass,
ST_MakeValid(
ST_SnapToGrid(
ST_SimplifyVW(geometry, power(zres(3),2)),
0.001)) AS geometry
FROM simplify_vw_z4
WHERE ST_Area(geometry) > power(zres(2),2)
);
CREATE INDEX ON simplify_vw_z3 USING GIST (geometry);
-- etldoc: simplify_vw_z3 -> osm_landcover_gen_z3
CREATE TABLE osm_landcover_gen_z3 AS
(
SELECT subclass,
ST_MakeValid(
(ST_Dump(
ST_Union(geometry))).geom) AS geometry
FROM
(
SELECT subclass,
ST_ClusterDBSCAN(geometry, eps := 0, minpoints := 1) OVER () AS cid,
geometry
FROM simplify_vw_z3
) union_geom
GROUP BY subclass,
cid
);
CREATE INDEX ON osm_landcover_gen_z3 USING GIST (geometry);
-- etldoc: simplify_vw_z3 -> simplify_vw_z2
CREATE TABLE simplify_vw_z2 AS
(
SELECT subclass,
ST_MakeValid(
ST_SnapToGrid(
ST_SimplifyVW(geometry, power(zres(2),2)),
0.001)) AS geometry
FROM simplify_vw_z3
WHERE ST_Area(geometry) > power(zres(1),2)
);
CREATE INDEX ON simplify_vw_z2 USING GIST (geometry);
-- etldoc: simplify_vw_z2 -> osm_landcover_gen_z2
CREATE TABLE osm_landcover_gen_z2 AS
(
SELECT subclass,
ST_MakeValid(
(ST_Dump(
ST_Union(geometry))).geom) AS geometry
FROM
(
SELECT subclass,
ST_ClusterDBSCAN(geometry, eps := 0, minpoints := 1) OVER () AS cid,
geometry
FROM simplify_vw_z2
) union_geom
GROUP BY subclass,
cid
);
CREATE INDEX ON osm_landcover_gen_z2 USING GIST (geometry);
-- etldoc: simplify_vw_z2 -> simplify_vw_z1
CREATE TABLE simplify_vw_z1 AS
(
SELECT subclass,
ST_MakeValid(
ST_SnapToGrid(
ST_SimplifyVW(geometry, power(zres(1),2)),
0.001)) AS geometry
FROM simplify_vw_z2
WHERE ST_Area(geometry) > power(zres(0),2)
);
CREATE INDEX ON simplify_vw_z1 USING GIST (geometry);
-- etldoc: simplify_vw_z1 -> osm_landcover_gen_z1
CREATE TABLE osm_landcover_gen_z1 AS
(
SELECT subclass,
ST_MakeValid(
(ST_Dump(
ST_Union(geometry))).geom) AS geometry
FROM
(
SELECT subclass,
ST_ClusterDBSCAN(geometry, eps := 0, minpoints := 1) OVER () AS cid,
geometry
FROM simplify_vw_z1
) union_geom
GROUP BY subclass,
cid
);
CREATE INDEX ON osm_landcover_gen_z1 USING GIST (geometry);
-- etldoc: simplify_vw_z1 -> simplify_vw_z0
CREATE TABLE simplify_vw_z0 AS
(
SELECT subclass,
ST_MakeValid(
ST_SnapToGrid(
ST_SimplifyVW(geometry, power(zres(0),2)),
0.001)) AS geometry
FROM simplify_vw_z1
);
CREATE INDEX ON simplify_vw_z0 USING GIST (geometry);
-- etldoc: simplify_vw_z1 -> osm_landcover_gen_z1
CREATE TABLE osm_landcover_gen_z0 AS
(
SELECT subclass,
ST_MakeValid(
(ST_Dump(
ST_Union(geometry))).geom) AS geometry
FROM
(
SELECT subclass,
ST_ClusterDBSCAN(geometry, eps := 0, minpoints := 1) OVER () AS cid,
geometry
FROM simplify_vw_z0
) union_geom
GROUP BY subclass,
cid
);
CREATE INDEX ON osm_landcover_gen_z0 USING GIST (geometry);
DROP TABLE IF EXISTS simplify_vw_z0 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z1 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z2 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z3 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z4 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z5 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z6 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z7 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z8 CASCADE;
DROP TABLE IF EXISTS simplify_vw_z9 CASCADE;

Wyświetl plik

@ -18,235 +18,235 @@ $$ LANGUAGE SQL IMMUTABLE
-- STRICT
PARALLEL SAFE;
-- ne_50m_antarctic_ice_shelves_polys
-- etldoc: ne_50m_antarctic_ice_shelves_polys -> ne_50m_antarctic_ice_shelves_polys_gen_z4
DROP MATERIALIZED VIEW IF EXISTS ne_50m_antarctic_ice_shelves_polys_gen_z4 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_antarctic_ice_shelves_polys_gen_z4 AS
(
SELECT
ST_Simplify(geometry, ZRes(6)) as geometry,
'ice_shelf'::text AS subclass
FROM ne_50m_antarctic_ice_shelves_polys
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_antarctic_ice_shelves_polys_gen_z4_idx ON ne_50m_antarctic_ice_shelves_polys_gen_z4 USING gist (geometry);
-- ne_110m_glaciated_areas
-- etldoc: ne_110m_glaciated_areas -> ne_110m_glaciated_areas_gen_z1
DROP MATERIALIZED VIEW IF EXISTS ne_110m_glaciated_areas_gen_z1 CASCADE;
CREATE MATERIALIZED VIEW ne_110m_glaciated_areas_gen_z1 AS
(
SELECT
ST_Simplify(geometry, ZRes(3)) as geometry,
'glacier'::text AS subclass
FROM ne_110m_glaciated_areas
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_110m_glaciated_areas_gen_z1_idx ON ne_110m_glaciated_areas_gen_z1 USING gist (geometry);
-- etldoc: ne_110m_glaciated_areas_gen_z1 -> ne_110m_glaciated_areas_gen_z0
DROP MATERIALIZED VIEW IF EXISTS ne_110m_glaciated_areas_gen_z0 CASCADE;
CREATE MATERIALIZED VIEW ne_110m_glaciated_areas_gen_z0 AS
(
SELECT
ST_Simplify(geometry, ZRes(2)) as geometry,
subclass
FROM ne_110m_glaciated_areas_gen_z1
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_110m_glaciated_areas_gen_z0_idx ON ne_110m_glaciated_areas_gen_z0 USING gist (geometry);
-- etldoc: ne_50m_antarctic_ice_shelves_polys_gen_z4 -> ne_50m_antarctic_ice_shelves_polys_gen_z3
DROP MATERIALIZED VIEW IF EXISTS ne_50m_antarctic_ice_shelves_polys_gen_z3 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_antarctic_ice_shelves_polys_gen_z3 AS
(
SELECT
ST_Simplify(geometry, ZRes(5)) as geometry,
subclass
FROM ne_50m_antarctic_ice_shelves_polys_gen_z4
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_antarctic_ice_shelves_polys_gen_z3_idx ON ne_50m_antarctic_ice_shelves_polys_gen_z3 USING gist (geometry);
-- etldoc: ne_50m_antarctic_ice_shelves_polys_gen_z3 -> ne_50m_antarctic_ice_shelves_polys_gen_z2
DROP MATERIALIZED VIEW IF EXISTS ne_50m_antarctic_ice_shelves_polys_gen_z2 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_antarctic_ice_shelves_polys_gen_z2 AS
(
SELECT
ST_Simplify(geometry, ZRes(4)) as geometry,
subclass
FROM ne_50m_antarctic_ice_shelves_polys_gen_z3
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_antarctic_ice_shelves_polys_gen_z2_idx ON ne_50m_antarctic_ice_shelves_polys_gen_z2 USING gist (geometry);
-- ne_50m_glaciated_areas
-- etldoc: ne_50m_glaciated_areas -> ne_50m_glaciated_areas_gen_z4
DROP MATERIALIZED VIEW IF EXISTS ne_50m_glaciated_areas_gen_z4 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_glaciated_areas_gen_z4 AS
(
SELECT
ST_Simplify(geometry, ZRes(6)) as geometry,
'glacier'::text AS subclass
FROM ne_50m_glaciated_areas
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_glaciated_areas_gen_z4_idx ON ne_50m_glaciated_areas_gen_z4 USING gist (geometry);
-- etldoc: ne_50m_glaciated_areas_gen_z4 -> ne_50m_glaciated_areas_gen_z3
DROP MATERIALIZED VIEW IF EXISTS ne_50m_glaciated_areas_gen_z3 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_glaciated_areas_gen_z3 AS
(
SELECT
ST_Simplify(geometry, ZRes(5)) as geometry,
subclass
FROM ne_50m_glaciated_areas_gen_z4
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_glaciated_areas_gen_z3_idx ON ne_50m_glaciated_areas_gen_z3 USING gist (geometry);
-- etldoc: ne_50m_glaciated_areas_gen_z3 -> ne_50m_glaciated_areas_gen_z2
DROP MATERIALIZED VIEW IF EXISTS ne_50m_glaciated_areas_gen_z2 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_glaciated_areas_gen_z2 AS
(
SELECT
ST_Simplify(geometry, ZRes(4)) as geometry,
subclass
FROM ne_50m_glaciated_areas_gen_z3
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_glaciated_areas_gen_z2_idx ON ne_50m_glaciated_areas_gen_z2 USING gist (geometry);
-- ne_10m_glaciated_areas
-- etldoc: ne_10m_glaciated_areas -> ne_10m_glaciated_areas_gen_z6
DROP MATERIALIZED VIEW IF EXISTS ne_10m_glaciated_areas_gen_z6 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_glaciated_areas_gen_z6 AS
(
SELECT
ST_Simplify(geometry, ZRes(8)) as geometry,
'glacier'::text AS subclass
FROM ne_10m_glaciated_areas
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_glaciated_areas_gen_z6_idx ON ne_10m_glaciated_areas_gen_z6 USING gist (geometry);
-- etldoc: ne_10m_glaciated_areas_gen_z6 -> ne_10m_glaciated_areas_gen_z5
DROP MATERIALIZED VIEW IF EXISTS ne_10m_glaciated_areas_gen_z5 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_glaciated_areas_gen_z5 AS
(
SELECT
ST_Simplify(geometry, ZRes(7)) as geometry,
subclass
FROM ne_10m_glaciated_areas_gen_z6
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_glaciated_areas_gen_z5_idx ON ne_10m_glaciated_areas_gen_z5 USING gist (geometry);
-- ne_10m_antarctic_ice_shelves_polys
-- etldoc: ne_10m_antarctic_ice_shelves_polys -> ne_10m_antarctic_ice_shelves_polys_gen_z6
DROP MATERIALIZED VIEW IF EXISTS ne_10m_antarctic_ice_shelves_polys_gen_z6 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_antarctic_ice_shelves_polys_gen_z6 AS
(
SELECT
ST_Simplify(geometry, ZRes(8)) as geometry,
'ice_shelf'::text AS subclass
FROM ne_10m_antarctic_ice_shelves_polys
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_antarctic_ice_shelves_polys_gen_z6_idx ON ne_10m_antarctic_ice_shelves_polys_gen_z6 USING gist (geometry);
-- etldoc: ne_10m_antarctic_ice_shelves_polys_gen_z6 -> ne_10m_antarctic_ice_shelves_polys_gen_z5
DROP MATERIALIZED VIEW IF EXISTS ne_10m_antarctic_ice_shelves_polys_gen_z5 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_antarctic_ice_shelves_polys_gen_z5 AS
(
SELECT
ST_Simplify(geometry, ZRes(7)) as geometry,
subclass
FROM ne_10m_antarctic_ice_shelves_polys_gen_z6
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_antarctic_ice_shelves_polys_gen_z5_idx ON ne_10m_antarctic_ice_shelves_polys_gen_z5 USING gist (geometry);
-- etldoc: ne_110m_glaciated_areas_gen_z0 -> landcover_z0
CREATE OR REPLACE VIEW landcover_z0 AS
(
SELECT
geometry,
subclass
FROM ne_110m_glaciated_areas_gen_z0
);
-- etldoc: ne_110m_glaciated_areas_gen_z1 -> landcover_z1
CREATE OR REPLACE VIEW landcover_z1 AS
(
SELECT
geometry,
subclass
FROM ne_110m_glaciated_areas_gen_z1
);
CREATE OR REPLACE VIEW landcover_z2 AS
(
-- etldoc: ne_50m_glaciated_areas_gen_z2 -> landcover_z2
SELECT
geometry,
subclass
FROM ne_50m_glaciated_areas_gen_z2
UNION ALL
-- etldoc: ne_50m_antarctic_ice_shelves_polys_gen_z2 -> landcover_z2
SELECT
geometry,
subclass
FROM ne_50m_antarctic_ice_shelves_polys_gen_z2
);
CREATE OR REPLACE VIEW landcover_z3 AS
(
-- etldoc: ne_50m_glaciated_areas_gen_z3 -> landcover_z3
SELECT
geometry,
subclass
FROM ne_50m_glaciated_areas_gen_z3
UNION ALL
-- etldoc: ne_50m_antarctic_ice_shelves_polys_gen_z3 -> landcover_z3
SELECT
geometry,
subclass
FROM ne_50m_antarctic_ice_shelves_polys_gen_z3
);
CREATE OR REPLACE VIEW landcover_z4 AS
(
-- etldoc: ne_50m_glaciated_areas_gen_z4 -> landcover_z4
SELECT
geometry,
subclass
FROM ne_50m_glaciated_areas_gen_z4
UNION ALL
-- etldoc: ne_50m_antarctic_ice_shelves_polys_gen_z4 -> landcover_z4
SELECT
geometry,
subclass
FROM ne_50m_antarctic_ice_shelves_polys_gen_z4
);
CREATE OR REPLACE VIEW landcover_z5 AS
(
-- etldoc: ne_10m_glaciated_areas_gen_z5 -> landcover_z5
SELECT
geometry,
subclass
FROM ne_10m_glaciated_areas_gen_z5
UNION ALL
-- etldoc: ne_10m_antarctic_ice_shelves_polys_gen_z5 -> landcover_z5
SELECT
geometry,
subclass
FROM ne_10m_antarctic_ice_shelves_polys_gen_z5
);
CREATE OR REPLACE VIEW landcover_z6 AS
(
-- etldoc: ne_10m_glaciated_areas_gen_z6 -> landcover_z6
SELECT
geometry,
subclass
FROM ne_10m_glaciated_areas_gen_z6
UNION ALL
-- etldoc: ne_10m_antarctic_ice_shelves_polys_gen_z6 -> landcover_z6
SELECT
geometry,
subclass
FROM ne_10m_antarctic_ice_shelves_polys_gen_z6
);
-- -- ne_50m_antarctic_ice_shelves_polys
-- -- etldoc: ne_50m_antarctic_ice_shelves_polys -> ne_50m_antarctic_ice_shelves_polys_gen_z4
-- DROP MATERIALIZED VIEW IF EXISTS ne_50m_antarctic_ice_shelves_polys_gen_z4 CASCADE;
-- CREATE MATERIALIZED VIEW ne_50m_antarctic_ice_shelves_polys_gen_z4 AS
-- (
-- SELECT
-- ST_Simplify(geometry, ZRes(6)) as geometry,
-- 'ice_shelf'::text AS subclass
-- FROM ne_50m_antarctic_ice_shelves_polys
-- ) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
-- CREATE INDEX IF NOT EXISTS ne_50m_antarctic_ice_shelves_polys_gen_z4_idx ON ne_50m_antarctic_ice_shelves_polys_gen_z4 USING gist (geometry);
--
-- -- ne_110m_glaciated_areas
-- -- etldoc: ne_110m_glaciated_areas -> ne_110m_glaciated_areas_gen_z1
-- DROP MATERIALIZED VIEW IF EXISTS ne_110m_glaciated_areas_gen_z1 CASCADE;
-- CREATE MATERIALIZED VIEW ne_110m_glaciated_areas_gen_z1 AS
-- (
-- SELECT
-- ST_Simplify(geometry, ZRes(3)) as geometry,
-- 'glacier'::text AS subclass
-- FROM ne_110m_glaciated_areas
-- ) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
-- CREATE INDEX IF NOT EXISTS ne_110m_glaciated_areas_gen_z1_idx ON ne_110m_glaciated_areas_gen_z1 USING gist (geometry);
--
-- -- etldoc: ne_110m_glaciated_areas_gen_z1 -> ne_110m_glaciated_areas_gen_z0
-- DROP MATERIALIZED VIEW IF EXISTS ne_110m_glaciated_areas_gen_z0 CASCADE;
-- CREATE MATERIALIZED VIEW ne_110m_glaciated_areas_gen_z0 AS
-- (
-- SELECT
-- ST_Simplify(geometry, ZRes(2)) as geometry,
-- subclass
-- FROM ne_110m_glaciated_areas_gen_z1
-- ) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
-- CREATE INDEX IF NOT EXISTS ne_110m_glaciated_areas_gen_z0_idx ON ne_110m_glaciated_areas_gen_z0 USING gist (geometry);
--
-- -- etldoc: ne_50m_antarctic_ice_shelves_polys_gen_z4 -> ne_50m_antarctic_ice_shelves_polys_gen_z3
-- DROP MATERIALIZED VIEW IF EXISTS ne_50m_antarctic_ice_shelves_polys_gen_z3 CASCADE;
-- CREATE MATERIALIZED VIEW ne_50m_antarctic_ice_shelves_polys_gen_z3 AS
-- (
-- SELECT
-- ST_Simplify(geometry, ZRes(5)) as geometry,
-- subclass
-- FROM ne_50m_antarctic_ice_shelves_polys_gen_z4
-- ) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
-- CREATE INDEX IF NOT EXISTS ne_50m_antarctic_ice_shelves_polys_gen_z3_idx ON ne_50m_antarctic_ice_shelves_polys_gen_z3 USING gist (geometry);
--
-- -- etldoc: ne_50m_antarctic_ice_shelves_polys_gen_z3 -> ne_50m_antarctic_ice_shelves_polys_gen_z2
-- DROP MATERIALIZED VIEW IF EXISTS ne_50m_antarctic_ice_shelves_polys_gen_z2 CASCADE;
-- CREATE MATERIALIZED VIEW ne_50m_antarctic_ice_shelves_polys_gen_z2 AS
-- (
-- SELECT
-- ST_Simplify(geometry, ZRes(4)) as geometry,
-- subclass
-- FROM ne_50m_antarctic_ice_shelves_polys_gen_z3
-- ) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
-- CREATE INDEX IF NOT EXISTS ne_50m_antarctic_ice_shelves_polys_gen_z2_idx ON ne_50m_antarctic_ice_shelves_polys_gen_z2 USING gist (geometry);
--
-- -- ne_50m_glaciated_areas
-- -- etldoc: ne_50m_glaciated_areas -> ne_50m_glaciated_areas_gen_z4
-- DROP MATERIALIZED VIEW IF EXISTS ne_50m_glaciated_areas_gen_z4 CASCADE;
-- CREATE MATERIALIZED VIEW ne_50m_glaciated_areas_gen_z4 AS
-- (
-- SELECT
-- ST_Simplify(geometry, ZRes(6)) as geometry,
-- 'glacier'::text AS subclass
-- FROM ne_50m_glaciated_areas
-- ) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
-- CREATE INDEX IF NOT EXISTS ne_50m_glaciated_areas_gen_z4_idx ON ne_50m_glaciated_areas_gen_z4 USING gist (geometry);
--
-- -- etldoc: ne_50m_glaciated_areas_gen_z4 -> ne_50m_glaciated_areas_gen_z3
-- DROP MATERIALIZED VIEW IF EXISTS ne_50m_glaciated_areas_gen_z3 CASCADE;
-- CREATE MATERIALIZED VIEW ne_50m_glaciated_areas_gen_z3 AS
-- (
-- SELECT
-- ST_Simplify(geometry, ZRes(5)) as geometry,
-- subclass
-- FROM ne_50m_glaciated_areas_gen_z4
-- ) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
-- CREATE INDEX IF NOT EXISTS ne_50m_glaciated_areas_gen_z3_idx ON ne_50m_glaciated_areas_gen_z3 USING gist (geometry);
--
-- -- etldoc: ne_50m_glaciated_areas_gen_z3 -> ne_50m_glaciated_areas_gen_z2
-- DROP MATERIALIZED VIEW IF EXISTS ne_50m_glaciated_areas_gen_z2 CASCADE;
-- CREATE MATERIALIZED VIEW ne_50m_glaciated_areas_gen_z2 AS
-- (
-- SELECT
-- ST_Simplify(geometry, ZRes(4)) as geometry,
-- subclass
-- FROM ne_50m_glaciated_areas_gen_z3
-- ) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
-- CREATE INDEX IF NOT EXISTS ne_50m_glaciated_areas_gen_z2_idx ON ne_50m_glaciated_areas_gen_z2 USING gist (geometry);
--
-- -- ne_10m_glaciated_areas
-- -- etldoc: ne_10m_glaciated_areas -> ne_10m_glaciated_areas_gen_z6
-- DROP MATERIALIZED VIEW IF EXISTS ne_10m_glaciated_areas_gen_z6 CASCADE;
-- CREATE MATERIALIZED VIEW ne_10m_glaciated_areas_gen_z6 AS
-- (
-- SELECT
-- ST_Simplify(geometry, ZRes(8)) as geometry,
-- 'glacier'::text AS subclass
-- FROM ne_10m_glaciated_areas
-- ) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
-- CREATE INDEX IF NOT EXISTS ne_10m_glaciated_areas_gen_z6_idx ON ne_10m_glaciated_areas_gen_z6 USING gist (geometry);
--
-- -- etldoc: ne_10m_glaciated_areas_gen_z6 -> ne_10m_glaciated_areas_gen_z5
-- DROP MATERIALIZED VIEW IF EXISTS ne_10m_glaciated_areas_gen_z5 CASCADE;
-- CREATE MATERIALIZED VIEW ne_10m_glaciated_areas_gen_z5 AS
-- (
-- SELECT
-- ST_Simplify(geometry, ZRes(7)) as geometry,
-- subclass
-- FROM ne_10m_glaciated_areas_gen_z6
-- ) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
-- CREATE INDEX IF NOT EXISTS ne_10m_glaciated_areas_gen_z5_idx ON ne_10m_glaciated_areas_gen_z5 USING gist (geometry);
--
-- -- ne_10m_antarctic_ice_shelves_polys
-- -- etldoc: ne_10m_antarctic_ice_shelves_polys -> ne_10m_antarctic_ice_shelves_polys_gen_z6
-- DROP MATERIALIZED VIEW IF EXISTS ne_10m_antarctic_ice_shelves_polys_gen_z6 CASCADE;
-- CREATE MATERIALIZED VIEW ne_10m_antarctic_ice_shelves_polys_gen_z6 AS
-- (
-- SELECT
-- ST_Simplify(geometry, ZRes(8)) as geometry,
-- 'ice_shelf'::text AS subclass
-- FROM ne_10m_antarctic_ice_shelves_polys
-- ) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
-- CREATE INDEX IF NOT EXISTS ne_10m_antarctic_ice_shelves_polys_gen_z6_idx ON ne_10m_antarctic_ice_shelves_polys_gen_z6 USING gist (geometry);
--
-- -- etldoc: ne_10m_antarctic_ice_shelves_polys_gen_z6 -> ne_10m_antarctic_ice_shelves_polys_gen_z5
-- DROP MATERIALIZED VIEW IF EXISTS ne_10m_antarctic_ice_shelves_polys_gen_z5 CASCADE;
-- CREATE MATERIALIZED VIEW ne_10m_antarctic_ice_shelves_polys_gen_z5 AS
-- (
-- SELECT
-- ST_Simplify(geometry, ZRes(7)) as geometry,
-- subclass
-- FROM ne_10m_antarctic_ice_shelves_polys_gen_z6
-- ) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
-- CREATE INDEX IF NOT EXISTS ne_10m_antarctic_ice_shelves_polys_gen_z5_idx ON ne_10m_antarctic_ice_shelves_polys_gen_z5 USING gist (geometry);
--
-- -- etldoc: ne_110m_glaciated_areas_gen_z0 -> landcover_z0
-- CREATE OR REPLACE VIEW landcover_z0 AS
-- (
-- SELECT
-- geometry,
-- subclass
-- FROM ne_110m_glaciated_areas_gen_z0
-- );
--
-- -- etldoc: ne_110m_glaciated_areas_gen_z1 -> landcover_z1
-- CREATE OR REPLACE VIEW landcover_z1 AS
-- (
-- SELECT
-- geometry,
-- subclass
-- FROM ne_110m_glaciated_areas_gen_z1
-- );
--
-- CREATE OR REPLACE VIEW landcover_z2 AS
-- (
-- -- etldoc: ne_50m_glaciated_areas_gen_z2 -> landcover_z2
-- SELECT
-- geometry,
-- subclass
-- FROM ne_50m_glaciated_areas_gen_z2
-- UNION ALL
-- -- etldoc: ne_50m_antarctic_ice_shelves_polys_gen_z2 -> landcover_z2
-- SELECT
-- geometry,
-- subclass
-- FROM ne_50m_antarctic_ice_shelves_polys_gen_z2
-- );
--
-- CREATE OR REPLACE VIEW landcover_z3 AS
-- (
-- -- etldoc: ne_50m_glaciated_areas_gen_z3 -> landcover_z3
-- SELECT
-- geometry,
-- subclass
-- FROM ne_50m_glaciated_areas_gen_z3
-- UNION ALL
-- -- etldoc: ne_50m_antarctic_ice_shelves_polys_gen_z3 -> landcover_z3
-- SELECT
-- geometry,
-- subclass
-- FROM ne_50m_antarctic_ice_shelves_polys_gen_z3
-- );
--
-- CREATE OR REPLACE VIEW landcover_z4 AS
-- (
-- -- etldoc: ne_50m_glaciated_areas_gen_z4 -> landcover_z4
-- SELECT
-- geometry,
-- subclass
-- FROM ne_50m_glaciated_areas_gen_z4
-- UNION ALL
-- -- etldoc: ne_50m_antarctic_ice_shelves_polys_gen_z4 -> landcover_z4
-- SELECT
-- geometry,
-- subclass
-- FROM ne_50m_antarctic_ice_shelves_polys_gen_z4
-- );
--
-- CREATE OR REPLACE VIEW landcover_z5 AS
-- (
-- -- etldoc: ne_10m_glaciated_areas_gen_z5 -> landcover_z5
-- SELECT
-- geometry,
-- subclass
-- FROM ne_10m_glaciated_areas_gen_z5
-- UNION ALL
-- -- etldoc: ne_10m_antarctic_ice_shelves_polys_gen_z5 -> landcover_z5
-- SELECT
-- geometry,
-- subclass
-- FROM ne_10m_antarctic_ice_shelves_polys_gen_z5
-- );
--
-- CREATE OR REPLACE VIEW landcover_z6 AS
-- (
-- -- etldoc: ne_10m_glaciated_areas_gen_z6 -> landcover_z6
-- SELECT
-- geometry,
-- subclass
-- FROM ne_10m_glaciated_areas_gen_z6
-- UNION ALL
-- -- etldoc: ne_10m_antarctic_ice_shelves_polys_gen_z6 -> landcover_z6
-- SELECT
-- geometry,
-- subclass
-- FROM ne_10m_antarctic_ice_shelves_polys_gen_z6
-- );
-- etldoc: layer_landcover[shape=record fillcolor=lightpink, style="rounded, filled", label="layer_landcover | <z0> z0 | <z1> z1 | <z2> z2 | <z3> z3 | <z4> z4 | <z5> z5 | <z6> z6 |<z7> z7 |<z8> z8 |<z9> z9 |<z10> z10 |<z11> z11 |<z12> z12|<z13> z13|<z14_> z14+" ] ;
@ -263,52 +263,52 @@ SELECT geometry,
landcover_class(subclass) AS class,
subclass
FROM (
-- etldoc: landcover_z0 -> layer_landcover:z0
-- etldoc: osm_landcover_gen_z0 -> layer_landcover:z0
SELECT geometry,
subclass
FROM landcover_z0
FROM osm_landcover_gen_z0
WHERE zoom_level = 0
AND geometry && bbox
UNION ALL
-- etldoc: landcover_z1 -> layer_landcover:z1
-- etldoc: osm_landcover_gen_z1 -> layer_landcover:z1
SELECT geometry,
subclass
FROM landcover_z1
-- etldoc: osm_landcover_gen_z1 -> layer_landcover:z1
WHERE zoom_level = 1
AND geometry && bbox
UNION ALL
-- etldoc: landcover_z2 -> layer_landcover:z2
-- etldoc: osm_landcover_gen_z2 -> layer_landcover:z2
SELECT geometry,
subclass
FROM landcover_z2
FROM osm_landcover_gen_z2
WHERE zoom_level = 2
AND geometry && bbox
UNION ALL
-- etldoc: landcover_z3 -> layer_landcover:z3
-- etldoc: osm_landcover_gen_z3 -> layer_landcover:z3
SELECT geometry,
subclass
FROM landcover_z3
FROM osm_landcover_gen_z3
WHERE zoom_level = 3
AND geometry && bbox
UNION ALL
-- etldoc: landcover_z4 -> layer_landcover:z4
-- etldoc: osm_landcover_gen_z4 -> layer_landcover:z4
SELECT geometry,
subclass
FROM landcover_z4
FROM osm_landcover_gen_z4
WHERE zoom_level = 4
AND geometry && bbox
UNION ALL
-- etldoc: landcover_z5 -> layer_landcover:z5
-- etldoc: osm_landcover_gen_z5 -> layer_landcover:z5
SELECT geometry,
subclass
FROM landcover_z5
FROM osm_landcover_gen_z5
WHERE zoom_level = 5
AND geometry && bbox
UNION ALL
-- etldoc: landcover_z6 -> layer_landcover:z6
-- etldoc: osm_landcover_gen_z6 -> layer_landcover:z6
SELECT geometry,
subclass
FROM landcover_z6
FROM osm_landcover_gen_z6
WHERE zoom_level = 6
AND geometry && bbox
UNION ALL

Wyświetl plik

@ -2,58 +2,58 @@ tables:
# etldoc: imposm3 -> osm_landcover_polygon
landcover_polygon:
columns:
- name: osm_id
type: id
- name: geometry
type: validated_geometry
- name: area
type: area
- name: subclass
type: mapping_value
- name: mapping_key
type: mapping_key
- name: osm_id
type: id
- name: geometry
type: validated_geometry
- name: area
type: area
- name: subclass
type: mapping_value
- name: mapping_key
type: mapping_key
mapping:
landuse:
- allotments
- farm
- farmland
- orchard
- flowerbed
- plant_nursery
- vineyard
- grass
- grassland
- meadow
- forest
- village_green
- recreation_ground
- allotments
- farm
- farmland
- orchard
- flowerbed
- plant_nursery
- vineyard
- grass
- grassland
- meadow
- forest
- village_green
- recreation_ground
natural:
- wood
- wetland
- fell
- grassland
- heath
- scrub
- shrubbery
- tundra
- glacier
- bare_rock
- scree
- beach
- sand
- dune
- wood
- wetland
- fell
- grassland
- heath
- scrub
- shrubbery
- tundra
- glacier
- bare_rock
- scree
- beach
- sand
- dune
leisure:
- park
- garden
- golf_course
- park
- garden
- golf_course
wetland:
- bog
- swamp
- wet_meadow
- marsh
- reedbed
- saltern
- tidalflat
- saltmarsh
- mangrove
- bog
- swamp
- wet_meadow
- marsh
- reedbed
- saltern
- tidalflat
- saltmarsh
- mangrove
type: polygon