Refactor schema, one _gen_z view per zoom. (#1045)

* Refactor layer aeroway.

* Refactor layer boundary.

* Refactor layer landcover.

* Refactor layer landuse.

* Refactor layer park.

* Refactor layer transportation.

* Refactor layer water.

* Refactor layer waterway.

* Re-generate water* layers etl_diagrams.

* Regenerate etl_diagrams for waterway.

* Cast NULL to text.
pull/1049/head
Adam Laža 2020-11-26 13:54:00 +01:00 zatwierdzone przez GitHub
rodzic 0c6fe2d9ba
commit 77f5d76e37
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
29 zmienionych plików z 1819 dodań i 1063 usunięć

Wyświetl plik

@ -12,19 +12,19 @@ AS
$$
SELECT geometry, aeroway AS class, ref
FROM (
-- etldoc: osm_aeroway_linestring_gen3 -> layer_aeroway:z10
-- etldoc: osm_aeroway_linestring_gen_z10 -> layer_aeroway:z10
SELECT geometry, aeroway, ref
FROM osm_aeroway_linestring_gen3
FROM osm_aeroway_linestring_gen_z10
WHERE zoom_level = 10
UNION ALL
-- etldoc: osm_aeroway_linestring_gen2 -> layer_aeroway:z11
-- etldoc: osm_aeroway_linestring_gen_z11 -> layer_aeroway:z11
SELECT geometry, aeroway, ref
FROM osm_aeroway_linestring_gen2
FROM osm_aeroway_linestring_gen_z11
WHERE zoom_level = 11
UNION ALL
-- etldoc: osm_aeroway_linestring_gen1 -> layer_aeroway:z12
-- etldoc: osm_aeroway_linestring_gen_z12 -> layer_aeroway:z12
SELECT geometry, aeroway, ref
FROM osm_aeroway_linestring_gen1
FROM osm_aeroway_linestring_gen_z12
WHERE zoom_level = 12
UNION ALL
-- etldoc: osm_aeroway_linestring -> layer_aeroway:z13
@ -33,21 +33,24 @@ FROM (
FROM osm_aeroway_linestring
WHERE zoom_level >= 13
UNION ALL
-- etldoc: osm_aeroway_polygon_gen3 -> layer_aeroway:z10
-- etldoc: osm_aeroway_polygon_gen3 -> layer_aeroway:z11
-- etldoc: osm_aeroway_polygon_gen_z10 -> layer_aeroway:z10
SELECT geometry, aeroway, ref
FROM osm_aeroway_polygon_gen3
WHERE zoom_level BETWEEN 10 AND 11
FROM osm_aeroway_polygon_gen_z10
WHERE zoom_level = 10
UNION ALL
-- etldoc: osm_aeroway_polygon_gen2 -> layer_aeroway:z12
-- etldoc: osm_aeroway_polygon_gen_z11 -> layer_aeroway:z11
SELECT geometry, aeroway, ref
FROM osm_aeroway_polygon_gen2
FROM osm_aeroway_polygon_gen_z11
WHERE zoom_level = 11
UNION ALL
-- etldoc: osm_aeroway_polygon_gen_z12 -> layer_aeroway:z12
SELECT geometry, aeroway, ref
FROM osm_aeroway_polygon_gen_z12
WHERE zoom_level = 12
UNION ALL
-- etldoc: osm_aeroway_polygon_gen1 -> layer_aeroway:z13
-- etldoc: osm_aeroway_polygon_gen_z13 -> layer_aeroway:z13
SELECT geometry, aeroway, ref
FROM osm_aeroway_polygon_gen1
FROM osm_aeroway_polygon_gen_z13
WHERE zoom_level = 13
UNION ALL
-- etldoc: osm_aeroway_polygon -> layer_aeroway:z14_
@ -58,7 +61,7 @@ FROM (
-- etldoc: osm_aeroway_point -> layer_aeroway:z14_
SELECT geometry, aeroway, ref
FROM osm_aeroway_point
FROM osm_aeroway_point
WHERE zoom_level >= 14
) AS zoom_levels
WHERE geometry && bbox;

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 118 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 166 KiB

Wyświetl plik

@ -1,34 +1,40 @@
generalized_tables:
# etldoc: imposm3 -> osm_aeroway_linestring_gen3
aeroway_linestring_gen3:
source: aeroway_linestring_gen2
# etldoc: osm_aeroway_linestring_gen_z11 -> osm_aeroway_linestring_gen_z10
aeroway_linestring_gen_z10:
source: aeroway_linestring_gen_z11
tolerance: ZRES11
# etldoc: imposm3 -> osm_aeroway_linestring_gen2
aeroway_linestring_gen2:
source: aeroway_linestring_gen1
# etldoc: osm_aeroway_linestring_gen_z12 -> osm_aeroway_linestring_gen_z11
aeroway_linestring_gen_z11:
source: aeroway_linestring_gen_z12
tolerance: ZRES12
# etldoc: imposm3 -> osm_aeroway_linestring_gen1
aeroway_linestring_gen1:
# etldoc: osm_aeroway_linestring -> osm_aeroway_linestring_gen_z12
aeroway_linestring_gen_z12:
source: aeroway_linestring
sql_filter: ST_IsValid(geometry)
tolerance: ZRES13
# etldoc: imposm3 -> osm_aeroway_polygon_gen3
aeroway_polygon_gen3:
source: aeroway_polygon_gen2
# etldoc: osm_aeroway_polygon_gen_z11 -> osm_aeroway_polygon_gen_z10
aeroway_polygon_gen_z10:
source: aeroway_polygon_gen_z11
sql_filter: area>power(ZRES9,2)
tolerance: ZRES10
# etldoc: osm_aeroway_polygon_gen_z12 -> osm_aeroway_polygon_gen_z11
aeroway_polygon_gen_z11:
source: aeroway_polygon_gen_z12
sql_filter: area>power(ZRES10,2)
tolerance: ZRES11
# etldoc: imposm3 -> osm_aeroway_polygon_gen2
aeroway_polygon_gen2:
source: aeroway_polygon_gen1
# etldoc: osm_aeroway_polygon_gen_z13 -> osm_aeroway_polygon_gen_z12
aeroway_polygon_gen_z12:
source: aeroway_polygon_gen_z13
sql_filter: area>power(ZRES11,2)
tolerance: ZRES12
# etldoc: imposm3 -> osm_aeroway_polygon_gen1
aeroway_polygon_gen1:
# etldoc: osm_aeroway_polygon -> osm_aeroway_polygon_gen_z13
aeroway_polygon_gen_z13:
source: aeroway_polygon
sql_filter: area>power(ZRES12,2) AND ST_IsValid(geometry)
tolerance: ZRES13

Wyświetl plik

@ -2,236 +2,338 @@
DO
$$
BEGIN
DROP TABLE IF EXISTS osm_border_linestring_gen1 CASCADE;
DROP TABLE IF EXISTS osm_border_linestring_gen_z13 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_border_linestring -> osm_border_linestring_gen1
-- etldoc: osm_border_linestring_adm -> osm_border_linestring_gen1
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen1 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen1 AS
-- etldoc: osm_border_linestring -> osm_border_linestring_gen_z13
-- etldoc: osm_border_linestring_adm -> osm_border_linestring_gen_z13
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen_z13 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen_z13 AS
(
SELECT ST_Simplify(geometry, 10) AS geometry, NULL AS adm0_l, NULL AS adm0_r, admin_level, disputed, maritime
SELECT ST_Simplify(geometry, ZRes(14)) AS geometry, NULL::text AS adm0_l, NULL::text AS adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring
WHERE admin_level BETWEEN 3 AND 10
UNION ALL
SELECT ST_Simplify(geometry, 10) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
SELECT ST_Simplify(geometry, ZRes(14)) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_adm
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen1_idx ON osm_border_linestring_gen1 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen_z13_idx ON osm_border_linestring_gen_z13 USING gist (geometry);
-- This statement can be deleted after the border importer image stops creating this object as a table
DO
$$
BEGIN
DROP TABLE IF EXISTS osm_border_linestring_gen2 CASCADE;
DROP TABLE IF EXISTS osm_border_linestring_gen_z12 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_border_linestring -> osm_border_linestring_gen2
-- etldoc: osm_border_linestring_adm -> osm_border_linestring_gen2
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen2 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen2 AS
-- etldoc: osm_border_linestring_gen_z13 -> osm_border_linestring_gen_z12
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen_z12 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen_z12 AS
(
SELECT ST_Simplify(geometry, 20) AS geometry, NULL AS adm0_l, NULL AS adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring
WHERE admin_level BETWEEN 3 AND 10
UNION ALL
SELECT ST_Simplify(geometry, 20) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_adm
SELECT ST_Simplify(geometry, ZRes(13)) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_gen_z13
WHERE admin_level BETWEEN 2 AND 10
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen2_idx ON osm_border_linestring_gen2 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen_z12_idx ON osm_border_linestring_gen_z12 USING gist (geometry);
-- This statement can be deleted after the border importer image stops creating this object as a table
DO
$$
BEGIN
DROP TABLE IF EXISTS osm_border_linestring_gen3 CASCADE;
DROP TABLE IF EXISTS osm_border_linestring_gen_z11 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_border_linestring -> osm_border_linestring_gen3
-- etldoc: osm_border_linestring_adm -> osm_border_linestring_gen3
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen3 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen3 AS
-- etldoc: osm_border_linestring_gen_z12 -> osm_border_linestring_gen_z11
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen_z11 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen_z11 AS
(
SELECT ST_Simplify(geometry, 40) AS geometry, NULL AS adm0_l, NULL AS adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring
WHERE admin_level BETWEEN 3 AND 8
UNION ALL
SELECT ST_Simplify(geometry, 40) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_adm
SELECT ST_Simplify(geometry, ZRes(12)) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_gen_z12
WHERE admin_level BETWEEN 2 AND 8
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen3_idx ON osm_border_linestring_gen3 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen_z11_idx ON osm_border_linestring_gen_z11 USING gist (geometry);
-- This statement can be deleted after the border importer image stops creating this object as a table
DO
$$
BEGIN
DROP TABLE IF EXISTS osm_border_linestring_gen4 CASCADE;
DROP TABLE IF EXISTS osm_border_linestring_gen_z10 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_border_linestring -> osm_border_linestring_gen4
-- etldoc: osm_border_linestring_adm -> osm_border_linestring_gen4
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen4 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen4 AS
-- etldoc: osm_border_linestring_gen_z11 -> osm_border_linestring_gen_z10
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen_z10 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen_z10 AS
(
SELECT ST_Simplify(geometry, 80) AS geometry, NULL AS adm0_l, NULL AS adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring
WHERE admin_level BETWEEN 3 AND 6
UNION ALL
SELECT ST_Simplify(geometry, 80) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_adm
SELECT ST_Simplify(geometry, ZRes(11)) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_gen_z11
WHERE admin_level BETWEEN 2 AND 6
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen4_idx ON osm_border_linestring_gen4 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen_z10_idx ON osm_border_linestring_gen_z10 USING gist (geometry);
-- This statement can be deleted after the border importer image stops creating this object as a table
DO
$$
BEGIN
DROP TABLE IF EXISTS osm_border_linestring_gen5 CASCADE;
DROP TABLE IF EXISTS osm_border_linestring_gen_z9 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_border_linestring -> osm_border_linestring_gen5
-- etldoc: osm_border_linestring_adm -> osm_border_linestring_gen5
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen5 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen5 AS
-- etldoc: osm_border_linestring_gen_z10 -> osm_border_linestring_gen_z9
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen_z9 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen_z9 AS
(
SELECT ST_Simplify(geometry, 160) AS geometry, NULL AS adm0_l, NULL AS adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring
WHERE admin_level BETWEEN 3 AND 6
UNION ALL
SELECT ST_Simplify(geometry, 160) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_adm
SELECT ST_Simplify(geometry, ZRes(10)) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_gen_z10
WHERE admin_level BETWEEN 2 AND 6
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen5_idx ON osm_border_linestring_gen5 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen_z9_idx ON osm_border_linestring_gen_z9 USING gist (geometry);
-- This statement can be deleted after the border importer image stops creating this object as a table
DO
$$
BEGIN
DROP TABLE IF EXISTS osm_border_linestring_gen6 CASCADE;
DROP TABLE IF EXISTS osm_border_linestring_gen_z8 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_border_linestring -> osm_border_linestring_gen6
-- etldoc: osm_border_linestring_adm -> osm_border_linestring_gen6
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen6 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen6 AS
-- etldoc: osm_border_linestring_gen_z9 -> osm_border_linestring_gen_z8
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen_z8 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen_z8 AS
(
SELECT ST_Simplify(geometry, 300) AS geometry, NULL AS adm0_l, NULL AS adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring
WHERE admin_level BETWEEN 3 AND 4
UNION ALL
SELECT ST_Simplify(geometry, 300) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_adm
SELECT ST_Simplify(geometry, ZRes(9)) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_gen_z9
WHERE admin_level BETWEEN 2 AND 4
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen6_idx ON osm_border_linestring_gen6 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen_z8_idx ON osm_border_linestring_gen_z8 USING gist (geometry);
-- This statement can be deleted after the border importer image stops creating this object as a table
DO
$$
BEGIN
DROP TABLE IF EXISTS osm_border_linestring_gen7 CASCADE;
DROP TABLE IF EXISTS osm_border_linestring_gen_z7 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_border_linestring -> osm_border_linestring_gen7
-- etldoc: osm_border_linestring_adm -> osm_border_linestring_gen7
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen7 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen7 AS
-- etldoc: osm_border_linestring_gen_z8 -> osm_border_linestring_gen_z7
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen_z7 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen_z7 AS
(
SELECT ST_Simplify(geometry, 600) AS geometry, NULL AS adm0_l, NULL AS adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring
WHERE admin_level BETWEEN 3 AND 4
UNION ALL
SELECT ST_Simplify(geometry, 600) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_adm
SELECT ST_Simplify(geometry, ZRes(8)) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_gen_z8
WHERE admin_level BETWEEN 2 AND 4
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen7_idx ON osm_border_linestring_gen7 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen_z7_idx ON osm_border_linestring_gen_z7 USING gist (geometry);
-- This statement can be deleted after the border importer image stops creating this object as a table
DO
$$
BEGIN
DROP TABLE IF EXISTS osm_border_linestring_gen8 CASCADE;
DROP TABLE IF EXISTS osm_border_linestring_gen_z6 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_border_linestring -> osm_border_linestring_gen8
-- etldoc: osm_border_linestring_adm -> osm_border_linestring_gen8
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen8 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen8 AS
-- etldoc: osm_border_linestring_gen_z7 -> osm_border_linestring_gen_z6
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen_z6 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen_z6 AS
(
SELECT ST_Simplify(geometry, 1200) AS geometry, NULL AS adm0_l, NULL AS adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring
WHERE admin_level BETWEEN 3 AND 4
UNION ALL
SELECT ST_Simplify(geometry, 1200) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_adm
SELECT ST_Simplify(geometry, ZRes(7)) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_gen_z7
WHERE admin_level BETWEEN 2 AND 4
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen8_idx ON osm_border_linestring_gen8 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen_z6_idx ON osm_border_linestring_gen_z6 USING gist (geometry);
-- This statement can be deleted after the border importer image stops creating this object as a table
DO
$$
BEGIN
DROP TABLE IF EXISTS osm_border_linestring_gen9 CASCADE;
DROP TABLE IF EXISTS osm_border_linestring_gen_z5 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_border_linestring -> osm_border_linestring_gen9
-- etldoc: osm_border_linestring_adm -> osm_border_linestring_gen9
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen9 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen9 AS
-- etldoc: osm_border_linestring_gen_z6 -> osm_border_linestring_gen_z5
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen_z5 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen_z5 AS
(
SELECT ST_Simplify(geometry, 2400) AS geometry, NULL AS adm0_l, NULL AS adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring
WHERE admin_level BETWEEN 3 AND 4
UNION ALL
SELECT ST_Simplify(geometry, 2400) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_adm
SELECT ST_Simplify(geometry, ZRes(6)) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_gen_z6
WHERE admin_level BETWEEN 2 AND 4
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen9_idx ON osm_border_linestring_gen9 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen_z5_idx ON osm_border_linestring_gen_z5 USING gist (geometry);
-- This statement can be deleted after the border importer image stops creating this object as a table
DO
$$
BEGIN
DROP TABLE IF EXISTS osm_border_linestring_gen10 CASCADE;
DROP TABLE IF EXISTS osm_border_linestring_gen_z4 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_border_linestring_adm -> osm_border_linestring_gen10
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen10 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen10 AS
-- etldoc: osm_border_linestring_gen_z5 -> osm_border_linestring_gen_z4
DROP MATERIALIZED VIEW IF EXISTS osm_border_linestring_gen_z4 CASCADE;
CREATE MATERIALIZED VIEW osm_border_linestring_gen_z4 AS
(
SELECT ST_Simplify(geometry, 4800) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_adm
SELECT ST_Simplify(geometry, ZRes(5)) AS geometry, adm0_l, adm0_r, admin_level, disputed, maritime
FROM osm_border_linestring_gen_z5
WHERE admin_level = 2
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen10_idx ON osm_border_linestring_gen10 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_border_linestring_gen_z4_idx ON osm_border_linestring_gen_z4 USING gist (geometry);
-- ne_10m_admin_0_boundary_lines_land
-- etldoc: ne_10m_admin_0_boundary_lines_land -> ne_10m_admin_0_boundary_lines_land_gen_z4
DROP MATERIALIZED VIEW IF EXISTS ne_10m_admin_0_boundary_lines_land_gen_z4 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_admin_0_boundary_lines_land_gen_z4 AS
(
SELECT ST_Simplify(geometry, ZRes(6)) as geometry,
2 AS admin_level,
(CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed,
(CASE WHEN featurecla LIKE 'Disputed%' THEN 'ne10m_' || ogc_fid ELSE NULL::text END) AS disputed_name,
NULL::text AS claimed_by,
FALSE AS maritime
FROM ne_10m_admin_0_boundary_lines_land
WHERE featurecla <> 'Lease limit'
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_admin_0_boundary_lines_land_gen_z4_idx ON ne_10m_admin_0_boundary_lines_land_gen_z4 USING gist (geometry);
-- ne_10m_admin_1_states_provinces_lines
-- etldoc: ne_10m_admin_1_states_provinces_lines -> ne_10m_admin_1_states_provinces_lines_gen_z4
DROP MATERIALIZED VIEW IF EXISTS ne_10m_admin_1_states_provinces_lines_gen_z4 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_admin_1_states_provinces_lines_gen_z4 AS
(
SELECT ST_Simplify(geometry, ZRes(6)) as geometry,
4 AS admin_level,
FALSE AS disputed,
NULL::text AS disputed_name,
NULL::text AS claimed_by,
FALSE AS maritime
FROM ne_10m_admin_1_states_provinces_lines
WHERE min_zoom <= 7
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_admin_1_states_provinces_lines_gen_z4_idx ON ne_10m_admin_1_states_provinces_lines_gen_z4 USING gist (geometry);
-- etldoc: ne_10m_admin_1_states_provinces_lines_gen_z4 -> ne_10m_admin_1_states_provinces_lines_gen_z3
DROP MATERIALIZED VIEW IF EXISTS ne_10m_admin_1_states_provinces_lines_gen_z3 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_admin_1_states_provinces_lines_gen_z3 AS
(
SELECT ST_Simplify(geometry, ZRes(5)) as geometry,
admin_level,
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_10m_admin_1_states_provinces_lines_gen_z4
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_admin_1_states_provinces_lines_gen_z3_idx ON ne_10m_admin_1_states_provinces_lines_gen_z3 USING gist (geometry);
-- etldoc: ne_10m_admin_1_states_provinces_lines_gen_z3 -> ne_10m_admin_1_states_provinces_lines_gen_z2
DROP MATERIALIZED VIEW IF EXISTS ne_10m_admin_1_states_provinces_lines_gen_z2 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_admin_1_states_provinces_lines_gen_z2 AS
(
SELECT ST_Simplify(geometry, ZRes(4)) as geometry,
admin_level,
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_10m_admin_1_states_provinces_lines_gen_z3
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_admin_1_states_provinces_lines_gen_z2_idx ON ne_10m_admin_1_states_provinces_lines_gen_z2 USING gist (geometry);
-- etldoc: ne_10m_admin_1_states_provinces_lines_gen_z2 -> ne_10m_admin_1_states_provinces_lines_gen_z1
DROP MATERIALIZED VIEW IF EXISTS ne_10m_admin_1_states_provinces_lines_gen_z1 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_admin_1_states_provinces_lines_gen_z1 AS
(
SELECT ST_Simplify(geometry, ZRes(3)) as geometry,
admin_level,
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_10m_admin_1_states_provinces_lines_gen_z2
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_admin_1_states_provinces_lines_gen_z1_idx ON ne_10m_admin_1_states_provinces_lines_gen_z1 USING gist (geometry);
-- ne_50m_admin_0_boundary_lines_land
-- etldoc: ne_50m_admin_0_boundary_lines_land -> ne_50m_admin_0_boundary_lines_land_gen_z3
DROP MATERIALIZED VIEW IF EXISTS ne_50m_admin_0_boundary_lines_land_gen_z3 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_admin_0_boundary_lines_land_gen_z3 AS
(
SELECT ST_Simplify(geometry, ZRes(5)) as geometry,
2 AS admin_level,
(CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed,
(CASE WHEN featurecla LIKE 'Disputed%' THEN 'ne50m_' || ogc_fid ELSE NULL::text END) AS disputed_name,
NULL::text AS claimed_by,
FALSE AS maritime
FROM ne_50m_admin_0_boundary_lines_land
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_admin_0_boundary_lines_land_gen_z3_idx ON ne_50m_admin_0_boundary_lines_land_gen_z3 USING gist (geometry);
-- etldoc: ne_50m_admin_0_boundary_lines_land_gen_z3 -> ne_50m_admin_0_boundary_lines_land_gen_z2
DROP MATERIALIZED VIEW IF EXISTS ne_50m_admin_0_boundary_lines_land_gen_z2 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_admin_0_boundary_lines_land_gen_z2 AS
(
SELECT ST_Simplify(geometry, ZRes(4)) as geometry,
admin_level,
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_50m_admin_0_boundary_lines_land_gen_z3
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_admin_0_boundary_lines_land_gen_z2_idx ON ne_50m_admin_0_boundary_lines_land_gen_z2 USING gist (geometry);
-- etldoc: ne_50m_admin_0_boundary_lines_land_gen_z2 -> ne_50m_admin_0_boundary_lines_land_gen_z1
DROP MATERIALIZED VIEW IF EXISTS ne_50m_admin_0_boundary_lines_land_gen_z1 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_admin_0_boundary_lines_land_gen_z1 AS
(
SELECT ST_Simplify(geometry, ZRes(3)) as geometry,
admin_level,
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_50m_admin_0_boundary_lines_land_gen_z2
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_admin_0_boundary_lines_land_gen_z1_idx ON ne_50m_admin_0_boundary_lines_land_gen_z1 USING gist (geometry);
-- ne_110m_admin_0_boundary_lines_land
-- etldoc: ne_110m_admin_0_boundary_lines_land -> ne_110m_admin_0_boundary_lines_land_gen_z0
DROP MATERIALIZED VIEW IF EXISTS ne_110m_admin_0_boundary_lines_land_gen_z0 CASCADE;
CREATE MATERIALIZED VIEW ne_110m_admin_0_boundary_lines_land_gen_z0 AS
(
SELECT ST_Simplify(geometry, ZRes(2)) as geometry,
2 AS admin_level,
(CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed,
(CASE WHEN featurecla LIKE 'Disputed%' THEN 'ne110m_' || ogc_fid ELSE NULL::text END) AS disputed_name,
NULL::text AS claimed_by,
FALSE AS maritime
FROM ne_110m_admin_0_boundary_lines_land
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_110m_admin_0_boundary_lines_land_gen_z0_idx ON ne_110m_admin_0_boundary_lines_land_gen_z0 USING gist (geometry);
CREATE OR REPLACE FUNCTION edit_name(name varchar) RETURNS text AS
@ -247,45 +349,44 @@ $$ LANGUAGE SQL IMMUTABLE
;
-- etldoc: ne_110m_admin_0_boundary_lines_land -> boundary_z0
-- etldoc: ne_110m_admin_0_boundary_lines_land_gen_z0 -> boundary_z0
CREATE OR REPLACE VIEW boundary_z0 AS
(
SELECT geometry,
2 AS admin_level,
admin_level,
NULL::text AS adm0_l,
NULL::text AS adm0_r,
(CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed,
(CASE WHEN featurecla LIKE 'Disputed%' THEN 'ne110m_' || ogc_fid ELSE NULL END) AS disputed_name,
NULL::text AS claimed_by,
FALSE AS maritime
FROM ne_110m_admin_0_boundary_lines_land
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_110m_admin_0_boundary_lines_land_gen_z0
);
-- etldoc: ne_50m_admin_0_boundary_lines_land -> boundary_z1
-- etldoc: ne_10m_admin_1_states_provinces_lines -> boundary_z1
-- etldoc: osm_border_disp_linestring_gen11 -> boundary_z1
-- etldoc: ne_50m_admin_0_boundary_lines_land_gen_z1 -> boundary_z1
-- etldoc: ne_10m_admin_1_states_provinces_lines_gen_z1 -> boundary_z1
-- etldoc: osm_border_disp_linestring_gen_z1 -> boundary_z1
CREATE OR REPLACE VIEW boundary_z1 AS
(
SELECT geometry,
2 AS admin_level,
admin_level,
NULL::text AS adm0_l,
NULL::text AS adm0_r,
(CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed,
(CASE WHEN featurecla LIKE 'Disputed%' THEN 'ne50m_' || ogc_fid ELSE NULL END) AS disputed_name,
NULL AS claimed_by,
FALSE AS maritime
FROM ne_50m_admin_0_boundary_lines_land
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_50m_admin_0_boundary_lines_land_gen_z1
UNION ALL
SELECT geometry,
4 AS admin_level,
admin_level,
NULL::text AS adm0_l,
NULL::text AS adm0_r,
FALSE AS disputed,
NULL AS disputed_name,
NULL AS claimed_by,
FALSE AS maritime
FROM ne_10m_admin_1_states_provinces_lines
WHERE min_zoom <= 7
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_10m_admin_1_states_provinces_lines_gen_z1
UNION ALL
SELECT geometry,
admin_level,
@ -295,35 +396,70 @@ SELECT geometry,
edit_name(name) AS disputed_name,
claimed_by,
maritime
FROM osm_border_disp_linestring_gen11
FROM osm_border_disp_linestring_gen_z1
);
-- etldoc: ne_50m_admin_0_boundary_lines_land -> boundary_z3
-- etldoc: ne_10m_admin_1_states_provinces_lines -> boundary_z3
-- etldoc: osm_border_disp_linestring_gen11 -> boundary_z3
-- etldoc: ne_50m_admin_0_boundary_lines_land_gen_z2 -> boundary_z2
-- etldoc: ne_10m_admin_1_states_provinces_lines_gen_z2 -> boundary_z2
-- etldoc: osm_border_disp_linestring_gen_z2 -> boundary_z2
CREATE OR REPLACE VIEW boundary_z2 AS
(
SELECT geometry,
admin_level,
NULL::text AS adm0_l,
NULL::text AS adm0_r,
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_50m_admin_0_boundary_lines_land_gen_z2
UNION ALL
SELECT geometry,
admin_level,
NULL::text AS adm0_l,
NULL::text AS adm0_r,
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_10m_admin_1_states_provinces_lines_gen_z2
UNION ALL
SELECT geometry,
admin_level,
NULL::text AS adm0_l,
NULL::text AS adm0_r,
TRUE AS disputed,
edit_name(name) AS disputed_name,
claimed_by,
maritime
FROM osm_border_disp_linestring_gen_z2
);
-- etldoc: ne_50m_admin_0_boundary_lines_land_gen_z3 -> boundary_z3
-- etldoc: ne_10m_admin_1_states_provinces_lines_gen_z3 -> boundary_z3
-- etldoc: osm_border_disp_linestring_gen_z3 -> boundary_z3
CREATE OR REPLACE VIEW boundary_z3 AS
(
SELECT geometry,
2 AS admin_level,
admin_level,
NULL::text AS adm0_l,
NULL::text AS adm0_r,
(CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed,
(CASE WHEN featurecla LIKE 'Disputed%' THEN 'ne50m_' || ogc_fid ELSE NULL END) AS disputed_name,
NULL AS claimed_by,
FALSE AS maritime
FROM ne_50m_admin_0_boundary_lines_land
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_50m_admin_0_boundary_lines_land_gen_z3
UNION ALL
SELECT geometry,
4 AS admin_level,
admin_level,
NULL::text AS adm0_l,
NULL::text AS adm0_r,
FALSE AS disputed,
NULL AS disputed_name,
NULL AS claimed_by,
FALSE AS maritime
FROM ne_10m_admin_1_states_provinces_lines
WHERE min_zoom <= 7
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_10m_admin_1_states_provinces_lines_gen_z3
UNION ALL
SELECT geometry,
admin_level,
@ -333,47 +469,44 @@ SELECT geometry,
edit_name(name) AS disputed_name,
claimed_by,
maritime
FROM osm_border_disp_linestring_gen11
FROM osm_border_disp_linestring_gen_z3
);
-- etldoc: ne_10m_admin_0_boundary_lines_land -> boundary_z4
-- etldoc: ne_10m_admin_1_states_provinces_lines -> boundary_z4
-- etldoc: osm_border_linestring_gen10 -> boundary_z4
-- etldoc: osm_border_disp_linestring_gen10 -> boundary_z4
-- etldoc: ne_10m_admin_0_boundary_lines_land_gen_z4 -> boundary_z4
-- etldoc: ne_10m_admin_1_states_provinces_lines_gen_z4 -> boundary_z4
-- etldoc: osm_border_linestring_gen_z4 -> boundary_z4
-- etldoc: osm_border_disp_linestring_gen_z4 -> boundary_z4
CREATE OR REPLACE VIEW boundary_z4 AS
(
SELECT geometry,
2 AS admin_level,
adm0_a3_l AS adm0_l,
adm0_a3_r AS adm0_r,
(CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed,
(CASE WHEN featurecla LIKE 'Disputed%' THEN 'ne10m_' || ogc_fid ELSE NULL END) AS disputed_name,
NULL AS claimed_by,
FALSE AS maritime
FROM ne_10m_admin_0_boundary_lines_land
WHERE featurecla <> 'Lease limit'
UNION ALL
SELECT geometry,
4 AS admin_level,
admin_level,
NULL::text AS adm0_l,
NULL::text AS adm0_r,
FALSE AS disputed,
NULL AS disputed_name,
NULL AS claimed_by,
FALSE AS maritime
FROM ne_10m_admin_1_states_provinces_lines
WHERE min_zoom <= 7
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_10m_admin_0_boundary_lines_land_gen_z4
UNION ALL
SELECT geometry,
admin_level,
NULL::text AS adm0_l,
NULL::text AS adm0_r,
disputed,
disputed_name,
claimed_by,
maritime
FROM ne_10m_admin_1_states_provinces_lines_gen_z4
UNION ALL
SELECT geometry,
admin_level,
adm0_l,
adm0_r,
disputed,
NULL AS disputed_name,
NULL AS claimed_by,
NULL::text AS disputed_name,
NULL::text AS claimed_by,
maritime
FROM osm_border_linestring_gen10
FROM osm_border_linestring_gen_z4
WHERE maritime = TRUE
AND admin_level <= 2
UNION ALL
@ -385,11 +518,11 @@ SELECT geometry,
edit_name(name) AS disputed_name,
claimed_by,
maritime
FROM osm_border_disp_linestring_gen10
FROM osm_border_disp_linestring_gen_z4
);
-- etldoc: osm_border_linestring_gen9 -> boundary_z5
-- etldoc: osm_border_disp_linestring_gen9 -> boundary_z5
-- etldoc: osm_border_linestring_gen_z5 -> boundary_z5
-- etldoc: osm_border_disp_linestring_gen_z5 -> boundary_z5
CREATE OR REPLACE VIEW boundary_z5 AS
(
SELECT geometry,
@ -397,13 +530,13 @@ SELECT geometry,
adm0_l,
adm0_r,
disputed,
NULL AS disputed_name,
NULL AS claimed_by,
NULL::text AS disputed_name,
NULL::text AS claimed_by,
maritime
FROM osm_border_linestring_gen9
FROM osm_border_linestring_gen_z5
WHERE admin_level <= 4
-- already not included in osm_border_linestring_adm
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen9)
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen_z5)
UNION ALL
SELECT geometry,
admin_level,
@ -413,11 +546,11 @@ SELECT geometry,
edit_name(name) AS disputed_name,
claimed_by,
maritime
FROM osm_border_disp_linestring_gen9
FROM osm_border_disp_linestring_gen_z5
);
-- etldoc: osm_border_linestring_gen8 -> boundary_z6
-- etldoc: osm_border_disp_linestring_gen8 -> boundary_z6
-- etldoc: osm_border_linestring_gen_z6 -> boundary_z6
-- etldoc: osm_border_disp_linestring_gen_z6 -> boundary_z6
CREATE OR REPLACE VIEW boundary_z6 AS
(
SELECT geometry,
@ -425,12 +558,12 @@ SELECT geometry,
adm0_l,
adm0_r,
disputed,
NULL AS disputed_name,
NULL AS claimed_by,
NULL::text AS disputed_name,
NULL::text AS claimed_by,
maritime
FROM osm_border_linestring_gen8
FROM osm_border_linestring_gen_z6
WHERE admin_level <= 4
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen8)
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen_z6)
UNION ALL
SELECT geometry,
admin_level,
@ -440,11 +573,11 @@ SELECT geometry,
edit_name(name) AS disputed_name,
claimed_by,
maritime
FROM osm_border_disp_linestring_gen8
FROM osm_border_disp_linestring_gen_z6
);
-- etldoc: osm_border_linestring_gen7 -> boundary_z7
-- etldoc: osm_border_disp_linestring_gen7 -> boundary_z7
-- etldoc: osm_border_linestring_gen_z7 -> boundary_z7
-- etldoc: osm_border_disp_linestring_gen_z7 -> boundary_z7
CREATE OR REPLACE VIEW boundary_z7 AS
(
SELECT geometry,
@ -452,12 +585,12 @@ SELECT geometry,
adm0_l,
adm0_r,
disputed,
NULL AS disputed_name,
NULL AS claimed_by,
NULL::text AS disputed_name,
NULL::text AS claimed_by,
maritime
FROM osm_border_linestring_gen7
FROM osm_border_linestring_gen_z7
WHERE admin_level <= 6
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen7)
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen_z7)
UNION ALL
SELECT geometry,
admin_level,
@ -467,11 +600,11 @@ SELECT geometry,
edit_name(name) AS disputed_name,
claimed_by,
maritime
FROM osm_border_disp_linestring_gen7
FROM osm_border_disp_linestring_gen_z7
);
-- etldoc: osm_border_linestring_gen6 -> boundary_z8
-- etldoc: osm_border_disp_linestring_gen6 -> boundary_z8
-- etldoc: osm_border_linestring_gen_z8 -> boundary_z8
-- etldoc: osm_border_disp_linestring_gen_z8 -> boundary_z8
CREATE OR REPLACE VIEW boundary_z8 AS
(
SELECT geometry,
@ -479,12 +612,12 @@ SELECT geometry,
adm0_l,
adm0_r,
disputed,
NULL AS disputed_name,
NULL AS claimed_by,
NULL::text AS disputed_name,
NULL::text AS claimed_by,
maritime
FROM osm_border_linestring_gen6
FROM osm_border_linestring_gen_z8
WHERE admin_level <= 6
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen6)
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen_z8)
UNION ALL
SELECT geometry,
admin_level,
@ -494,11 +627,11 @@ SELECT geometry,
edit_name(name) AS disputed_name,
claimed_by,
maritime
FROM osm_border_disp_linestring_gen6
FROM osm_border_disp_linestring_gen_z8
);
-- etldoc: osm_border_linestring_gen5 -> boundary_z9
-- etldoc: osm_border_disp_linestring_gen5 -> boundary_z9
-- etldoc: osm_border_linestring_gen_z9 -> boundary_z9
-- etldoc: osm_border_disp_linestring_gen_z9 -> boundary_z9
CREATE OR REPLACE VIEW boundary_z9 AS
(
SELECT geometry,
@ -506,12 +639,12 @@ SELECT geometry,
adm0_l,
adm0_r,
disputed,
NULL AS disputed_name,
NULL AS claimed_by,
NULL::text AS disputed_name,
NULL::text AS claimed_by,
maritime
FROM osm_border_linestring_gen5
FROM osm_border_linestring_gen_z9
WHERE admin_level <= 6
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen5)
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen_z9)
UNION ALL
SELECT geometry,
admin_level,
@ -521,11 +654,11 @@ SELECT geometry,
edit_name(name) AS disputed_name,
claimed_by,
maritime
FROM osm_border_disp_linestring_gen5
FROM osm_border_disp_linestring_gen_z9
);
-- etldoc: osm_border_linestring_gen4 -> boundary_z10
-- etldoc: osm_border_disp_linestring_gen4 -> boundary_z10
-- etldoc: osm_border_linestring_gen_z10 -> boundary_z10
-- etldoc: osm_border_disp_linestring_gen_z10 -> boundary_z10
CREATE OR REPLACE VIEW boundary_z10 AS
(
SELECT geometry,
@ -533,12 +666,12 @@ SELECT geometry,
adm0_l,
adm0_r,
disputed,
NULL AS disputed_name,
NULL AS claimed_by,
NULL::text AS disputed_name,
NULL::text AS claimed_by,
maritime
FROM osm_border_linestring_gen4
FROM osm_border_linestring_gen_z10
WHERE admin_level <= 6
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen4)
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen_z10)
UNION ALL
SELECT geometry,
admin_level,
@ -548,11 +681,11 @@ SELECT geometry,
edit_name(name) AS disputed_name,
claimed_by,
maritime
FROM osm_border_disp_linestring_gen4
FROM osm_border_disp_linestring_gen_z10
);
-- etldoc: osm_border_linestring_gen3 -> boundary_z11
-- etldoc: osm_border_disp_linestring_gen3 -> boundary_z11
-- etldoc: osm_border_linestring_gen_z11 -> boundary_z11
-- etldoc: osm_border_disp_linestring_gen_z11 -> boundary_z11
CREATE OR REPLACE VIEW boundary_z11 AS
(
SELECT geometry,
@ -560,12 +693,12 @@ SELECT geometry,
adm0_l,
adm0_r,
disputed,
NULL AS disputed_name,
NULL AS claimed_by,
NULL::text AS disputed_name,
NULL::text AS claimed_by,
maritime
FROM osm_border_linestring_gen3
FROM osm_border_linestring_gen_z11
WHERE admin_level <= 8
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen3)
-- AND osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen_z11)
UNION ALL
SELECT geometry,
admin_level,
@ -575,11 +708,11 @@ SELECT geometry,
edit_name(name) AS disputed_name,
claimed_by,
maritime
FROM osm_border_disp_linestring_gen3
FROM osm_border_disp_linestring_gen_z11
);
-- etldoc: osm_border_linestring_gen2 -> boundary_z12
-- etldoc: osm_border_disp_linestring_gen2 -> boundary_z12
-- etldoc: osm_border_linestring_gen_z12 -> boundary_z12
-- etldoc: osm_border_disp_linestring_gen_z12 -> boundary_z12
CREATE OR REPLACE VIEW boundary_z12 AS
(
SELECT geometry,
@ -587,11 +720,11 @@ SELECT geometry,
adm0_l,
adm0_r,
disputed,
NULL AS disputed_name,
NULL AS claimed_by,
NULL::text AS disputed_name,
NULL::text AS claimed_by,
maritime
FROM osm_border_linestring_gen2
--WHERE osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen2)
FROM osm_border_linestring_gen_z12
--WHERE osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen_z12)
UNION ALL
SELECT geometry,
admin_level,
@ -601,11 +734,11 @@ SELECT geometry,
edit_name(name) AS disputed_name,
claimed_by,
maritime
FROM osm_border_disp_linestring_gen2
FROM osm_border_disp_linestring_gen_z12
);
-- etldoc: osm_border_linestring_gen1 -> boundary_z13
-- etldoc: osm_border_disp_linestring_gen1 -> boundary_z13
-- etldoc: osm_border_linestring_gen_z13 -> boundary_z13
-- etldoc: osm_border_disp_linestring_gen_z13 -> boundary_z13
CREATE OR REPLACE VIEW boundary_z13 AS
(
SELECT geometry,
@ -613,11 +746,11 @@ SELECT geometry,
adm0_l,
adm0_r,
disputed,
NULL AS disputed_name,
NULL AS claimed_by,
NULL::text AS disputed_name,
NULL::text AS claimed_by,
maritime
FROM osm_border_linestring_gen1
--WHERE osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen1)
FROM osm_border_linestring_gen_z13
--WHERE osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen_z13)
UNION ALL
SELECT geometry,
admin_level,
@ -627,11 +760,11 @@ SELECT geometry,
edit_name(name) AS disputed_name,
claimed_by,
maritime
FROM osm_border_disp_linestring_gen1
FROM osm_border_disp_linestring_gen_z13
);
-- etldoc: layer_boundary[shape=record fillcolor=lightpink, style="rounded,filled",
-- etldoc: label="<sql> layer_boundary |<z0> z0 |<z1_2> z1_2 | <z3> z3 | <z4> z4 | <z5> z5 | <z6> z6 | <z7> z7 | <z8> z8 | <z9> z9 |<z10> z10 |<z11> z11 |<z12> z12|<z13> z13+"]
-- etldoc: label="<sql> layer_boundary |<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+"]
CREATE OR REPLACE FUNCTION layer_boundary(bbox geometry, zoom_level int)
RETURNS TABLE
(
@ -654,11 +787,17 @@ FROM (
WHERE geometry && bbox
AND zoom_level = 0
UNION ALL
-- etldoc: boundary_z1 -> layer_boundary:z1_2
-- etldoc: boundary_z1 -> layer_boundary:z1
SELECT *
FROM boundary_z1
WHERE geometry && bbox
AND zoom_level BETWEEN 1 AND 2
AND zoom_level = 1
UNION ALL
-- etldoc: boundary_z2 -> layer_boundary:z2
SELECT *
FROM boundary_z2
WHERE geometry && bbox
AND zoom_level = 2
UNION ALL
-- etldoc: boundary_z3 -> layer_boundary:z3
SELECT *

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 538 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 668 KiB

Wyświetl plik

@ -1,70 +1,82 @@
generalized_tables:
# etldoc: osm_border_disp_linestring -> osm_border_disp_linestring_gen11
border_disp_linestring_gen11:
source: border_disp_linestring
# etldoc: osm_border_disp_linestring_gen_z2 -> osm_border_disp_linestring_gen_z1
border_disp_linestring_gen_z1:
source: border_disp_linestring_gen_z2
sql_filter: admin_level = 2
tolerance: 9600
tolerance: ZRES2
# etldoc: osm_border_disp_linestring -> osm_border_disp_linestring_gen10
border_disp_linestring_gen10:
source: border_disp_linestring
# etldoc: osm_border_disp_linestring_gen_z3 -> osm_border_disp_linestring_gen_z2
border_disp_linestring_gen_z2:
source: border_disp_linestring_gen_z3
sql_filter: admin_level = 2
tolerance: 4800
tolerance: ZRES3
# etldoc: osm_border_disp_linestring -> osm_border_disp_linestring_gen9
border_disp_linestring_gen9:
source: border_disp_linestring
# etldoc: osm_border_disp_linestring_gen_z4 -> osm_border_disp_linestring_gen_z3
border_disp_linestring_gen_z3:
source: border_disp_linestring_gen_z4
sql_filter: admin_level = 2
tolerance: 2400
tolerance: ZRES4
# etldoc: osm_border_disp_linestring -> osm_border_disp_linestring_gen8
border_disp_linestring_gen8:
source: border_disp_linestring
# etldoc: osm_border_disp_linestring_gen_z5 -> osm_border_disp_linestring_gen_z4
border_disp_linestring_gen_z4:
source: border_disp_linestring_gen_z5
sql_filter: admin_level = 2
tolerance: 1200
tolerance: ZRES5
# etldoc: osm_border_disp_linestring -> osm_border_disp_linestring_gen7
border_disp_linestring_gen7:
source: border_disp_linestring
# etldoc: osm_border_disp_linestring_gen_z6 -> osm_border_disp_linestring_gen_z5
border_disp_linestring_gen_z5:
source: border_disp_linestring_gen_z6
sql_filter: admin_level = 2
tolerance: 600
tolerance: ZRES6
# etldoc: osm_border_disp_linestring -> osm_border_disp_linestring_gen6
border_disp_linestring_gen6:
source: border_disp_linestring
# etldoc: osm_border_disp_linestring_gen_z7 -> osm_border_disp_linestring_gen_z6
border_disp_linestring_gen_z6:
source: border_disp_linestring_gen_z7
sql_filter: admin_level = 2
tolerance: 300
tolerance: ZRES7
# etldoc: osm_border_disp_linestring -> osm_border_disp_linestring_gen5
border_disp_linestring_gen5:
source: border_disp_linestring
# etldoc: osm_border_disp_linestring_gen_z8 -> osm_border_disp_linestring_gen_z7
border_disp_linestring_gen_z7:
source: border_disp_linestring_gen_z8
sql_filter: admin_level = 2
tolerance: 160
tolerance: ZRES8
# etldoc: osm_border_disp_linestring -> osm_border_disp_linestring_gen4
border_disp_linestring_gen4:
source: border_disp_linestring
# etldoc: osm_border_disp_linestring_gen_z9 -> osm_border_disp_linestring_gen_z8
border_disp_linestring_gen_z8:
source: border_disp_linestring_gen_z9
sql_filter: admin_level = 2
tolerance: 80
tolerance: ZRES9
# etldoc: osm_border_disp_linestring -> osm_border_disp_linestring_gen3
border_disp_linestring_gen3:
source: border_disp_linestring
# etldoc: osm_border_disp_linestring_gen_z10 -> osm_border_disp_linestring_gen_z9
border_disp_linestring_gen_z9:
source: border_disp_linestring_gen_z10
sql_filter: admin_level = 2
tolerance: 40
tolerance: ZRES10
# etldoc: osm_border_disp_linestring -> osm_border_disp_linestring_gen2
border_disp_linestring_gen2:
source: border_disp_linestring
# etldoc: osm_border_disp_linestring_gen_z11 -> osm_border_disp_linestring_gen_z10
border_disp_linestring_gen_z10:
source: border_disp_linestring_gen_z11
sql_filter: admin_level = 2
tolerance: 20
tolerance: ZRES11
# etldoc: osm_border_disp_linestring -> osm_border_disp_linestring_gen1
border_disp_linestring_gen1:
# etldoc: osm_border_disp_linestring_gen_z12 -> osm_border_disp_linestring_gen_z11
border_disp_linestring_gen_z11:
source: border_disp_linestring_gen_z12
sql_filter: admin_level = 2
tolerance: ZRES12
# etldoc: osm_border_disp_linestring_gen_z13 -> osm_border_disp_linestring_gen_z12
border_disp_linestring_gen_z12:
source: border_disp_linestring_gen_z13
sql_filter: admin_level = 2
tolerance: ZRES13
# etldoc: osm_border_disp_linestring -> osm_border_disp_linestring_gen_z13
border_disp_linestring_gen_z13:
source: border_disp_linestring
sql_filter: admin_level = 2
tolerance: 10
tolerance: ZRES14
# etldoc: osm_border_disp_relation -> osm_border_disp_linestring
border_disp_linestring:

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 177 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 366 KiB

Wyświetl plik

@ -62,7 +62,7 @@ SELECT subclass,
CREATE INDEX ON osm_landcover_gen_z13 USING GIST (geometry);
-- etldoc: osm_landcover_polygon -> osm_landcover_gen_z12
-- etldoc: osm_landcover_gen_z13 -> osm_landcover_gen_z12
CREATE TABLE simplify_vw_z12 AS
(
SELECT subclass,
@ -111,7 +111,7 @@ SELECT subclass,
CREATE INDEX ON osm_landcover_gen_z12 USING GIST (geometry);
-- etldoc: osm_landcover_polygon -> osm_landcover_gen_z11
-- etldoc: osm_landcover_gen_z12 -> osm_landcover_gen_z11
CREATE TABLE simplify_vw_z11 AS
(
SELECT subclass,
@ -160,7 +160,7 @@ SELECT subclass,
CREATE INDEX ON osm_landcover_gen_z11 USING GIST (geometry);
-- etldoc: osm_landcover_polygon -> osm_landcover_gen_z10
-- etldoc: osm_landcover_gen_z11 -> osm_landcover_gen_z10
CREATE TABLE simplify_vw_z10 AS
(
SELECT subclass,
@ -209,7 +209,7 @@ SELECT subclass,
CREATE INDEX ON osm_landcover_gen_z10 USING GIST (geometry);
-- etldoc: osm_landcover_polygon -> osm_landcover_gen_z9
-- etldoc: osm_landcover_gen_z10 -> osm_landcover_gen_z9
CREATE TABLE simplify_vw_z9 AS
(
SELECT subclass,
@ -270,7 +270,7 @@ SELECT subclass,
CREATE INDEX ON osm_landcover_gen_z9 USING GIST (geometry);
-- etldoc: osm_landcover_polygon -> osm_landcover_gen_z8
-- etldoc: osm_landcover_gen_z9 -> osm_landcover_gen_z8
CREATE TABLE simplify_vw_z8 AS
(
SELECT subclass,
@ -308,7 +308,7 @@ SELECT subclass,
CREATE INDEX ON osm_landcover_gen_z8 USING GIST (geometry);
-- etldoc: osm_landcover_polygon -> osm_landcover_gen_z7
-- etldoc: osm_landcover_gen_z8 -> osm_landcover_gen_z7
CREATE TABLE simplify_vw_z7 AS
(
SELECT subclass,

Wyświetl plik

@ -18,36 +18,237 @@ $$ LANGUAGE SQL IMMUTABLE
-- STRICT
PARALLEL SAFE;
-- etldoc: ne_110m_glaciated_areas -> landcover_z0
-- 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, 'glacier'::text AS subclass
FROM ne_110m_glaciated_areas
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 -> landcover_z2
SELECT geometry, 'glacier'::text AS subclass
FROM ne_50m_glaciated_areas
-- 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 -> landcover_z2
SELECT geometry, 'ice_shelf'::text AS subclass
FROM ne_50m_antarctic_ice_shelves_polys
-- 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 -> landcover_z5
SELECT geometry, 'glacier'::text AS subclass
FROM ne_10m_glaciated_areas
-- 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 -> landcover_z5
SELECT geometry, 'ice_shelf'::text AS subclass
FROM ne_10m_antarctic_ice_shelves_polys
-- etldoc: ne_10m_antarctic_ice_shelves_polys_gen_z5 -> landcover_z5
SELECT
geometry,
subclass
FROM ne_10m_antarctic_ice_shelves_polys_gen_z5
);
-- etldoc: layer_landcover[shape=record fillcolor=lightpink, style="rounded, filled", label="layer_landcover | <z0_1> z0-z1 | <z2_4> z2-z4 | <z5_6> z5-z6 |<z7> z7 |<z8> z8 |<z9> z9 |<z10> z10 |<z11> z11 |<z12> z12|<z13> z13|<z14_> z14+" ] ;
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+" ] ;
CREATE OR REPLACE FUNCTION layer_landcover(bbox geometry, zoom_level int)
RETURNS TABLE
@ -62,25 +263,53 @@ SELECT geometry,
landcover_class(subclass) AS class,
subclass
FROM (
-- etldoc: landcover_z0 -> layer_landcover:z0_1
-- etldoc: landcover_z0 -> layer_landcover:z0
SELECT geometry,
subclass
FROM landcover_z0
WHERE zoom_level BETWEEN 0 AND 1
WHERE zoom_level = 0
AND geometry && bbox
UNION ALL
-- etldoc: landcover_z2 -> layer_landcover:z2_4
-- etldoc: landcover_z1 -> layer_landcover:z1
SELECT geometry,
subclass
FROM landcover_z1
WHERE zoom_level = 1
AND geometry && bbox
UNION ALL
-- etldoc: landcover_z2 -> layer_landcover:z2
SELECT geometry,
subclass
FROM landcover_z2
WHERE zoom_level BETWEEN 2 AND 4
WHERE zoom_level = 2
AND geometry && bbox
UNION ALL
-- etldoc: landcover_z5 -> layer_landcover:z5_6
-- etldoc: landcover_z3 -> layer_landcover:z3
SELECT geometry,
subclass
FROM landcover_z3
WHERE zoom_level = 3
AND geometry && bbox
UNION ALL
-- etldoc: landcover_z4 -> layer_landcover:z4
SELECT geometry,
subclass
FROM landcover_z4
WHERE zoom_level = 4
AND geometry && bbox
UNION ALL
-- etldoc: landcover_z5 -> layer_landcover:z5
SELECT geometry,
subclass
FROM landcover_z5
WHERE zoom_level BETWEEN 5 AND 6
WHERE zoom_level = 5
AND geometry && bbox
UNION ALL
-- etldoc: landcover_z6 -> layer_landcover:z6
SELECT geometry,
subclass
FROM landcover_z6
WHERE zoom_level = 6
AND geometry && bbox
UNION ALL
-- etldoc: osm_landcover_gen_z7 -> layer_landcover:z7
@ -141,4 +370,4 @@ FROM (
) AS zoom_levels;
$$ LANGUAGE SQL STABLE
-- STRICT
PARALLEL SAFE;
PARALLEL SAFE;

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 158 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 176 KiB

Wyświetl plik

@ -1,146 +1,42 @@
-- etldoc: ne_50m_urban_areas -> landuse_z4
CREATE OR REPLACE VIEW landuse_z4 AS
-- ne_50m_urban_areas
-- etldoc: ne_50m_urban_areas -> ne_50m_urban_areas_gen_z5
DROP MATERIALIZED VIEW IF EXISTS ne_50m_urban_areas_gen_z5 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_urban_areas_gen_z5 AS
(
SELECT NULL::bigint AS osm_id,
geometry,
SELECT
NULL::bigint AS osm_id,
ST_Simplify(geometry, ZRes(7)) as geometry,
'residential'::text AS landuse,
NULL::text AS amenity,
NULL::text AS leisure,
NULL::text AS tourism,
NULL::text AS place,
NULL::text AS waterway
NULL::text AS waterway,
scalerank
FROM ne_50m_urban_areas
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_urban_areas_gen_z5_idx ON ne_50m_urban_areas_gen_z5 USING gist (geometry);
-- etldoc: ne_50m_urban_areas_gen_z5 -> ne_50m_urban_areas_gen_z4
DROP MATERIALIZED VIEW IF EXISTS ne_50m_urban_areas_gen_z4 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_urban_areas_gen_z4 AS
(
SELECT
osm_id,
ST_Simplify(geometry, ZRes(6)) as geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM ne_50m_urban_areas_gen_z5
WHERE scalerank <= 2
);
-- etldoc: ne_50m_urban_areas -> landuse_z5
CREATE OR REPLACE VIEW landuse_z5 AS
(
SELECT NULL::bigint AS osm_id,
geometry,
'residential'::text AS landuse,
NULL::text AS amenity,
NULL::text AS leisure,
NULL::text AS tourism,
NULL::text AS place,
NULL::text AS waterway
FROM ne_50m_urban_areas
);
-- etldoc: osm_landuse_polygon_gen7 -> landuse_z6
CREATE OR REPLACE VIEW landuse_z6 AS
(
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen7
);
-- etldoc: osm_landuse_polygon_gen6 -> landuse_z8
CREATE OR REPLACE VIEW landuse_z8 AS
(
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen6
);
-- etldoc: osm_landuse_polygon_gen5 -> landuse_z9
CREATE OR REPLACE VIEW landuse_z9 AS
(
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen5
);
-- etldoc: osm_landuse_polygon_gen4 -> landuse_z10
CREATE OR REPLACE VIEW landuse_z10 AS
(
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen4
);
-- etldoc: osm_landuse_polygon_gen3 -> landuse_z11
CREATE OR REPLACE VIEW landuse_z11 AS
(
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen3
);
-- etldoc: osm_landuse_polygon_gen2 -> landuse_z12
CREATE OR REPLACE VIEW landuse_z12 AS
(
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen2
);
-- etldoc: osm_landuse_polygon_gen1 -> landuse_z13
CREATE OR REPLACE VIEW landuse_z13 AS
(
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen1
);
-- etldoc: osm_landuse_polygon -> landuse_z14
CREATE OR REPLACE VIEW landuse_z14 AS
(
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon
);
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_urban_areas_gen_z4_idx ON ne_50m_urban_areas_gen_z4 USING gist (geometry);
-- etldoc: layer_landuse[shape=record fillcolor=lightpink, style="rounded,filled",
-- etldoc: label="layer_landuse |<z4> z4|<z5>z5|<z6>z6|<z7>z7| <z8> z8 |<z9> z9 |<z10> z10 |<z11> z11|<z12> z12|<z13> z13|<z14> z14+" ] ;
-- etldoc: label="layer_landuse |<z4> z4|<z5> z5|<z6> z6|<z7> z7|<z8> z8|<z9> z9|<z10> z10|<z11> z11|<z12> z12|<z13> z13|<z14> z14+" ] ;
CREATE OR REPLACE FUNCTION layer_landuse(bbox geometry, zoom_level int)
RETURNS TABLE
@ -162,55 +58,136 @@ SELECT osm_id,
NULLIF(waterway, '')
) AS class
FROM (
-- etldoc: landuse_z4 -> layer_landuse:z4
SELECT *
FROM landuse_z4
-- etldoc: ne_50m_urban_areas_gen_z4 -> layer_landuse:z4
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM ne_50m_urban_areas_gen_z4
WHERE zoom_level = 4
UNION ALL
-- etldoc: landuse_z5 -> layer_landuse:z5
SELECT *
FROM landuse_z5
-- etldoc: ne_50m_urban_areas_gen_z5 -> layer_landuse:z5
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM ne_50m_urban_areas_gen_z5
WHERE zoom_level = 5
UNION ALL
-- etldoc: landuse_z6 -> layer_landuse:z6
-- etldoc: landuse_z6 -> layer_landuse:z7
SELECT *
FROM landuse_z6
WHERE zoom_level BETWEEN 6 AND 7
-- etldoc: osm_landuse_polygon_gen_z6 -> layer_landuse:z6
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen_z6
WHERE zoom_level = 6
UNION ALL
-- etldoc: landuse_z8 -> layer_landuse:z8
SELECT *
FROM landuse_z8
-- etldoc: osm_landuse_polygon_gen_z7 -> layer_landuse:z7
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen_z7
WHERE zoom_level = 7
UNION ALL
-- etldoc: osm_landuse_polygon_gen_z8 -> layer_landuse:z8
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen_z8
WHERE zoom_level = 8
UNION ALL
-- etldoc: landuse_z9 -> layer_landuse:z9
SELECT *
FROM landuse_z9
-- etldoc: osm_landuse_polygon_gen_z9 -> layer_landuse:z9
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen_z9
WHERE zoom_level = 9
UNION ALL
-- etldoc: landuse_z10 -> layer_landuse:z10
SELECT *
FROM landuse_z10
-- etldoc: osm_landuse_polygon_gen_z10 -> layer_landuse:z10
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen_z10
WHERE zoom_level = 10
UNION ALL
-- etldoc: landuse_z11 -> layer_landuse:z11
SELECT *
FROM landuse_z11
-- etldoc: osm_landuse_polygon_gen_z11 -> layer_landuse:z11
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen_z11
WHERE zoom_level = 11
UNION ALL
-- etldoc: landuse_z12 -> layer_landuse:z12
SELECT *
FROM landuse_z12
-- etldoc: osm_landuse_polygon_gen_z12 -> layer_landuse:z12
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen_z12
WHERE zoom_level = 12
UNION ALL
-- etldoc: landuse_z13 -> layer_landuse:z13
SELECT *
FROM landuse_z13
-- etldoc: osm_landuse_polygon_gen_z13 -> layer_landuse:z13
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon_gen_z13
WHERE zoom_level = 13
UNION ALL
-- etldoc: landuse_z14 -> layer_landuse:z14
SELECT *
FROM landuse_z14
-- etldoc: osm_landuse_polygon -> layer_landuse:z14
SELECT osm_id,
geometry,
landuse,
amenity,
leisure,
tourism,
place,
waterway
FROM osm_landuse_polygon
WHERE zoom_level >= 14
) AS zoom_levels
WHERE geometry && bbox;

Wyświetl plik

@ -1,35 +1,41 @@
generalized_tables:
# etldoc: imposm3 -> osm_landuse_polygon_gen7
landuse_polygon_gen7:
source: landuse_polygon_gen6
# etldoc: osm_landuse_polygon_gen_z7 -> osm_landuse_polygon_gen_z6
landuse_polygon_gen_z6:
source: landuse_polygon_gen_z7
tolerance: ZRES6
sql_filter: area>power(ZRES6,2)
# etldoc: osm_landuse_polygon_gen_z8 -> osm_landuse_polygon_gen_z7
landuse_polygon_gen_z7:
source: landuse_polygon_gen_z8
tolerance: ZRES7
# etldoc: imposm3 -> osm_landuse_polygon_gen6
landuse_polygon_gen6:
source: landuse_polygon_gen5
sql_filter: area>power(ZRES6,2)
# etldoc: osm_landuse_polygon_gen_z9 -> osm_landuse_polygon_gen_z8
landuse_polygon_gen_z8:
source: landuse_polygon_gen_z9
sql_filter: area>power(ZRES6,2) AND (landuse='residential' OR place='suburb' OR place='neighbourhood')
tolerance: ZRES8
# etldoc: imposm3 -> osm_landuse_polygon_gen5
landuse_polygon_gen5:
source: landuse_polygon_gen4
# etldoc: osm_landuse_polygon_gen_z10 -> osm_landuse_polygon_gen_z9
landuse_polygon_gen_z9:
source: landuse_polygon_gen_z10
sql_filter: area>power(ZRES7,2)
tolerance: ZRES9
# etldoc: imposm3 -> osm_landuse_polygon_gen4
landuse_polygon_gen4:
source: landuse_polygon_gen3
# etldoc: osm_landuse_polygon_gen_z11 -> osm_landuse_polygon_gen_z10
landuse_polygon_gen_z10:
source: landuse_polygon_gen_z11
sql_filter: area>power(ZRES8,2)
tolerance: ZRES10
# etldoc: imposm3 -> osm_landuse_polygon_gen3
landuse_polygon_gen3:
source: landuse_polygon_gen2
# etldoc: osm_landuse_polygon_gen_z12 -> osm_landuse_polygon_gen_z11
landuse_polygon_gen_z11:
source: landuse_polygon_gen_z12
sql_filter: area>power(ZRES9,2)
tolerance: ZRES11
# etldoc: imposm3 -> osm_landuse_polygon_gen2
landuse_polygon_gen2:
source: landuse_polygon_gen1
# etldoc: osm_landuse_polygon_gen_z13 -> osm_landuse_polygon_gen_z12
landuse_polygon_gen_z12:
source: landuse_polygon_gen_z13
sql_filter: area>power(ZRES10,2)
tolerance: ZRES12
# etldoc: imposm3 -> osm_landuse_polygon_gen1
landuse_polygon_gen1:
# etldoc: osm_landuse_polygon -> osm_landuse_polygon_gen_z13
landuse_polygon_gen_z13:
source: landuse_polygon
sql_filter: area>power(ZRES11,2) AND ST_IsValid(geometry)
tolerance: ZRES13

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 138 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 144 KiB

Wyświetl plik

@ -1,48 +1,48 @@
generalized_tables:
# etldoc: imposm3 -> osm_park_polygon_gen8
park_polygon_gen8:
source: park_polygon_gen7
# etldoc: osm_park_polygon_gen_z7 -> osm_park_polygon_gen_z6
park_polygon_gen_z6:
source: park_polygon_gen_z7
sql_filter: area>power(ZRES5,2)
tolerance: ZRES8
# etldoc: imposm3 -> osm_park_polygon_gen7
park_polygon_gen7:
source: park_polygon_gen6
# etldoc: osm_park_polygon_gen_z8 -> osm_park_polygon_gen_z7
park_polygon_gen_z7:
source: park_polygon_gen_z8
sql_filter: area>power(ZRES6,2)
tolerance: ZRES8
# etldoc: imposm3 -> osm_park_polygon_gen6
park_polygon_gen6:
source: park_polygon_gen5
# etldoc: osm_park_polygon_gen_z9 -> osm_park_polygon_gen_z8
park_polygon_gen_z8:
source: park_polygon_gen_z9
sql_filter: area>power(ZRES7,2)
tolerance: ZRES9
# etldoc: imposm3 -> osm_park_polygon_gen5
park_polygon_gen5:
source: park_polygon_gen4
# etldoc: osm_park_polygon_gen_z10 -> osm_park_polygon_gen_z9
park_polygon_gen_z9:
source: park_polygon_gen_z10
sql_filter: area>power(ZRES8,2)
tolerance: ZRES10
# etldoc: imposm3 -> osm_park_polygon_gen4
park_polygon_gen4:
source: park_polygon_gen3
# etldoc: osm_park_polygon_gen_z11 -> osm_park_polygon_gen_z10
park_polygon_gen_z10:
source: park_polygon_gen_z11
sql_filter: area>power(ZRES9,2)
tolerance: ZRES11
# etldoc: imposm3 -> osm_park_polygon_gen3
park_polygon_gen3:
source: park_polygon_gen2
# etldoc: osm_park_polygon_gen_z12 -> osm_park_polygon_gen_z11
park_polygon_gen_z11:
source: park_polygon_gen_z12
sql_filter: area>power(ZRES10,2)
tolerance: ZRES11
# etldoc: imposm3 -> osm_park_polygon_gen2
park_polygon_gen2:
source: park_polygon_gen1
# etldoc: osm_park_polygon_gen_z13 -> osm_park_polygon_gen_z12
park_polygon_gen_z12:
source: park_polygon_gen_z13
sql_filter: area>power(ZRES11,2)
tolerance: ZRES12
# etldoc: imposm3 -> osm_park_polygon_gen1
park_polygon_gen1:
# etldoc: osm_park_polygon -> osm_park_polygon_gen_z13
park_polygon_gen_z13:
source: park_polygon
sql_filter: area>power(ZRES12,2) AND ST_IsValid(geometry)
tolerance: ZRES13

Wyświetl plik

@ -37,7 +37,7 @@ FROM (
tags,
NULL::int AS rank
FROM (
-- etldoc: osm_park_polygon_gen8 -> layer_park:z6
-- etldoc: osm_park_polygon_gen_z6 -> layer_park:z6
SELECT osm_id,
geometry,
name,
@ -47,11 +47,11 @@ FROM (
leisure,
boundary,
protection_title
FROM osm_park_polygon_gen8
FROM osm_park_polygon_gen_z6
WHERE zoom_level = 6
AND geometry && bbox
UNION ALL
-- etldoc: osm_park_polygon_gen7 -> layer_park:z7
-- etldoc: osm_park_polygon_gen_z7 -> layer_park:z7
SELECT osm_id,
geometry,
name,
@ -61,11 +61,11 @@ FROM (
leisure,
boundary,
protection_title
FROM osm_park_polygon_gen7
FROM osm_park_polygon_gen_z7
WHERE zoom_level = 7
AND geometry && bbox
UNION ALL
-- etldoc: osm_park_polygon_gen6 -> layer_park:z8
-- etldoc: osm_park_polygon_gen_z8 -> layer_park:z8
SELECT osm_id,
geometry,
name,
@ -75,11 +75,11 @@ FROM (
leisure,
boundary,
protection_title
FROM osm_park_polygon_gen6
FROM osm_park_polygon_gen_z8
WHERE zoom_level = 8
AND geometry && bbox
UNION ALL
-- etldoc: osm_park_polygon_gen5 -> layer_park:z9
-- etldoc: osm_park_polygon_gen_z9 -> layer_park:z9
SELECT osm_id,
geometry,
name,
@ -89,11 +89,11 @@ FROM (
leisure,
boundary,
protection_title
FROM osm_park_polygon_gen5
FROM osm_park_polygon_gen_z9
WHERE zoom_level = 9
AND geometry && bbox
UNION ALL
-- etldoc: osm_park_polygon_gen4 -> layer_park:z10
-- etldoc: osm_park_polygon_gen_z10 -> layer_park:z10
SELECT osm_id,
geometry,
name,
@ -103,11 +103,11 @@ FROM (
leisure,
boundary,
protection_title
FROM osm_park_polygon_gen4
FROM osm_park_polygon_gen_z10
WHERE zoom_level = 10
AND geometry && bbox
UNION ALL
-- etldoc: osm_park_polygon_gen3 -> layer_park:z11
-- etldoc: osm_park_polygon_gen_z11 -> layer_park:z11
SELECT osm_id,
geometry,
name,
@ -117,11 +117,11 @@ FROM (
leisure,
boundary,
protection_title
FROM osm_park_polygon_gen3
FROM osm_park_polygon_gen_z11
WHERE zoom_level = 11
AND geometry && bbox
UNION ALL
-- etldoc: osm_park_polygon_gen2 -> layer_park:z12
-- etldoc: osm_park_polygon_gen_z12 -> layer_park:z12
SELECT osm_id,
geometry,
name,
@ -131,11 +131,11 @@ FROM (
leisure,
boundary,
protection_title
FROM osm_park_polygon_gen2
FROM osm_park_polygon_gen_z12
WHERE zoom_level = 12
AND geometry && bbox
UNION ALL
-- etldoc: osm_park_polygon_gen1 -> layer_park:z13
-- etldoc: osm_park_polygon_gen_z13 -> layer_park:z13
SELECT osm_id,
geometry,
name,
@ -145,7 +145,7 @@ FROM (
leisure,
boundary,
protection_title
FROM osm_park_polygon_gen1
FROM osm_park_polygon_gen_z13
WHERE zoom_level = 13
AND geometry && bbox
UNION ALL
@ -184,7 +184,7 @@ FROM (
area DESC
)::int AS "rank"
FROM (
-- etldoc: osm_park_polygon_gen8 -> layer_park:z6
-- etldoc: osm_park_polygon_gen_z6 -> layer_park:z6
SELECT osm_id,
geometry_point,
name,
@ -195,13 +195,13 @@ FROM (
boundary,
protection_title,
area
FROM osm_park_polygon_gen8
FROM osm_park_polygon_gen_z6
WHERE zoom_level = 6
AND geometry_point && bbox
AND area > 70000*2^(20-zoom_level)
UNION ALL
-- etldoc: osm_park_polygon_gen7 -> layer_park:z7
-- etldoc: osm_park_polygon_gen_z7 -> layer_park:z7
SELECT osm_id,
geometry_point,
name,
@ -212,13 +212,13 @@ FROM (
boundary,
protection_title,
area
FROM osm_park_polygon_gen7
FROM osm_park_polygon_gen_z7
WHERE zoom_level = 7
AND geometry_point && bbox
AND area > 70000*2^(20-zoom_level)
UNION ALL
-- etldoc: osm_park_polygon_gen6 -> layer_park:z8
-- etldoc: osm_park_polygon_gen_z8 -> layer_park:z8
SELECT osm_id,
geometry_point,
name,
@ -229,13 +229,13 @@ FROM (
boundary,
protection_title,
area
FROM osm_park_polygon_gen6
FROM osm_park_polygon_gen_z8
WHERE zoom_level = 8
AND geometry_point && bbox
AND area > 70000*2^(20-zoom_level)
UNION ALL
-- etldoc: osm_park_polygon_gen5 -> layer_park:z9
-- etldoc: osm_park_polygon_gen_z9 -> layer_park:z9
SELECT osm_id,
geometry_point,
name,
@ -246,13 +246,13 @@ FROM (
boundary,
protection_title,
area
FROM osm_park_polygon_gen5
FROM osm_park_polygon_gen_z9
WHERE zoom_level = 9
AND geometry_point && bbox
AND area > 70000*2^(20-zoom_level)
UNION ALL
-- etldoc: osm_park_polygon_gen4 -> layer_park:z10
-- etldoc: osm_park_polygon_gen_z10 -> layer_park:z10
SELECT osm_id,
geometry_point,
name,
@ -263,13 +263,13 @@ FROM (
boundary,
protection_title,
area
FROM osm_park_polygon_gen4
FROM osm_park_polygon_gen_z10
WHERE zoom_level = 10
AND geometry_point && bbox
AND area > 70000*2^(20-zoom_level)
UNION ALL
-- etldoc: osm_park_polygon_gen3 -> layer_park:z11
-- etldoc: osm_park_polygon_gen_z11 -> layer_park:z11
SELECT osm_id,
geometry_point,
name,
@ -280,13 +280,13 @@ FROM (
boundary,
protection_title,
area
FROM osm_park_polygon_gen3
FROM osm_park_polygon_gen_z11
WHERE zoom_level = 11
AND geometry_point && bbox
AND area > 70000*2^(20-zoom_level)
UNION ALL
-- etldoc: osm_park_polygon_gen2 -> layer_park:z12
-- etldoc: osm_park_polygon_gen_z12 -> layer_park:z12
SELECT osm_id,
geometry_point,
name,
@ -297,13 +297,13 @@ FROM (
boundary,
protection_title,
area
FROM osm_park_polygon_gen2
FROM osm_park_polygon_gen_z12
WHERE zoom_level = 12
AND geometry_point && bbox
AND area > 70000*2^(20-zoom_level)
UNION ALL
-- etldoc: osm_park_polygon_gen1 -> layer_park:z13
-- etldoc: osm_park_polygon_gen_z13 -> layer_park:z13
SELECT osm_id,
geometry_point,
name,
@ -314,7 +314,7 @@ FROM (
boundary,
protection_title,
area
FROM osm_park_polygon_gen1
FROM osm_park_polygon_gen_z13
WHERE zoom_level = 13
AND geometry_point && bbox
AND area > 70000*2^(20-zoom_level)

Wyświetl plik

@ -1,41 +1,41 @@
ALTER TABLE osm_park_polygon
ADD COLUMN IF NOT EXISTS geometry_point geometry;
ALTER TABLE osm_park_polygon_gen1
ALTER TABLE osm_park_polygon_gen_z13
ADD COLUMN IF NOT EXISTS geometry_point geometry;
ALTER TABLE osm_park_polygon_gen2
ALTER TABLE osm_park_polygon_gen_z12
ADD COLUMN IF NOT EXISTS geometry_point geometry;
ALTER TABLE osm_park_polygon_gen3
ALTER TABLE osm_park_polygon_gen_z11
ADD COLUMN IF NOT EXISTS geometry_point geometry;
ALTER TABLE osm_park_polygon_gen4
ALTER TABLE osm_park_polygon_gen_z10
ADD COLUMN IF NOT EXISTS geometry_point geometry;
ALTER TABLE osm_park_polygon_gen5
ALTER TABLE osm_park_polygon_gen_z9
ADD COLUMN IF NOT EXISTS geometry_point geometry;
ALTER TABLE osm_park_polygon_gen6
ALTER TABLE osm_park_polygon_gen_z8
ADD COLUMN IF NOT EXISTS geometry_point geometry;
ALTER TABLE osm_park_polygon_gen7
ALTER TABLE osm_park_polygon_gen_z7
ADD COLUMN IF NOT EXISTS geometry_point geometry;
ALTER TABLE osm_park_polygon_gen8
ALTER TABLE osm_park_polygon_gen_z6
ADD COLUMN IF NOT EXISTS geometry_point geometry;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen1;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen2;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen3;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen4;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen5;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen6;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen7;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen8;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen_z13;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen_z12;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen_z11;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen_z10;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen_z9;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen_z8;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen_z7;
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen_z6;
-- etldoc: osm_park_polygon -> osm_park_polygon
-- etldoc: osm_park_polygon_gen1 -> osm_park_polygon_gen1
-- etldoc: osm_park_polygon_gen2 -> osm_park_polygon_gen2
-- etldoc: osm_park_polygon_gen3 -> osm_park_polygon_gen3
-- etldoc: osm_park_polygon_gen4 -> osm_park_polygon_gen4
-- etldoc: osm_park_polygon_gen5 -> osm_park_polygon_gen5
-- etldoc: osm_park_polygon_gen6 -> osm_park_polygon_gen6
-- etldoc: osm_park_polygon_gen7 -> osm_park_polygon_gen7
-- etldoc: osm_park_polygon_gen8 -> osm_park_polygon_gen8
-- etldoc: osm_park_polygon_gen_z13 -> osm_park_polygon_gen_z13
-- etldoc: osm_park_polygon_gen_z12 -> osm_park_polygon_gen_z12
-- etldoc: osm_park_polygon_gen_z11 -> osm_park_polygon_gen_z11
-- etldoc: osm_park_polygon_gen_z10 -> osm_park_polygon_gen_z10
-- etldoc: osm_park_polygon_gen_z9 -> osm_park_polygon_gen_z9
-- etldoc: osm_park_polygon_gen_z8 -> osm_park_polygon_gen_z8
-- etldoc: osm_park_polygon_gen_z7 -> osm_park_polygon_gen_z7
-- etldoc: osm_park_polygon_gen_z6 -> osm_park_polygon_gen_z6
CREATE OR REPLACE FUNCTION update_osm_park_polygon() RETURNS void AS
$$
BEGIN
@ -43,35 +43,35 @@ BEGIN
SET tags = update_tags(tags, geometry),
geometry_point = st_centroid(geometry);
UPDATE osm_park_polygon_gen1
UPDATE osm_park_polygon_gen_z13
SET tags = update_tags(tags, geometry),
geometry_point = st_centroid(geometry);
UPDATE osm_park_polygon_gen2
UPDATE osm_park_polygon_gen_z12
SET tags = update_tags(tags, geometry),
geometry_point = st_centroid(geometry);
UPDATE osm_park_polygon_gen3
UPDATE osm_park_polygon_gen_z11
SET tags = update_tags(tags, geometry),
geometry_point = st_centroid(geometry);
UPDATE osm_park_polygon_gen4
UPDATE osm_park_polygon_gen_z10
SET tags = update_tags(tags, geometry),
geometry_point = st_centroid(geometry);
UPDATE osm_park_polygon_gen5
UPDATE osm_park_polygon_gen_z9
SET tags = update_tags(tags, geometry),
geometry_point = st_centroid(geometry);
UPDATE osm_park_polygon_gen6
UPDATE osm_park_polygon_gen_z8
SET tags = update_tags(tags, geometry),
geometry_point = st_centroid(geometry);
UPDATE osm_park_polygon_gen7
UPDATE osm_park_polygon_gen_z7
SET tags = update_tags(tags, geometry),
geometry_point = st_centroid(geometry);
UPDATE osm_park_polygon_gen8
UPDATE osm_park_polygon_gen_z6
SET tags = update_tags(tags, geometry),
geometry_point = st_centroid(geometry);
@ -80,14 +80,14 @@ $$ LANGUAGE plpgsql;
SELECT update_osm_park_polygon();
CREATE INDEX IF NOT EXISTS osm_park_polygon_point_geom_idx ON osm_park_polygon USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen1_point_geom_idx ON osm_park_polygon_gen1 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen2_point_geom_idx ON osm_park_polygon_gen2 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen3_point_geom_idx ON osm_park_polygon_gen3 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen4_point_geom_idx ON osm_park_polygon_gen4 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen5_point_geom_idx ON osm_park_polygon_gen5 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen6_point_geom_idx ON osm_park_polygon_gen6 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen7_point_geom_idx ON osm_park_polygon_gen7 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen8_point_geom_idx ON osm_park_polygon_gen8 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen_z13_point_geom_idx ON osm_park_polygon_gen_z13 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen_z12_point_geom_idx ON osm_park_polygon_gen_z12 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen_z11_point_geom_idx ON osm_park_polygon_gen_z11 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen_z10_point_geom_idx ON osm_park_polygon_gen_z10 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen_z9_point_geom_idx ON osm_park_polygon_gen_z9 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen_z8_point_geom_idx ON osm_park_polygon_gen_z8 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen_z7_point_geom_idx ON osm_park_polygon_gen_z7 USING gist (geometry_point);
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen_z6_point_geom_idx ON osm_park_polygon_gen_z6 USING gist (geometry_point);
CREATE OR REPLACE FUNCTION update_osm_park_polygon_row()
@ -109,48 +109,48 @@ EXECUTE PROCEDURE update_osm_park_polygon_row();
CREATE TRIGGER update_row
BEFORE INSERT OR UPDATE
ON osm_park_polygon_gen1
ON osm_park_polygon_gen_z13
FOR EACH ROW
EXECUTE PROCEDURE update_osm_park_polygon_row();
CREATE TRIGGER update_row
BEFORE INSERT OR UPDATE
ON osm_park_polygon_gen2
ON osm_park_polygon_gen_z12
FOR EACH ROW
EXECUTE PROCEDURE update_osm_park_polygon_row();
CREATE TRIGGER update_row
BEFORE INSERT OR UPDATE
ON osm_park_polygon_gen3
ON osm_park_polygon_gen_z11
FOR EACH ROW
EXECUTE PROCEDURE update_osm_park_polygon_row();
CREATE TRIGGER update_row
BEFORE INSERT OR UPDATE
ON osm_park_polygon_gen4
ON osm_park_polygon_gen_z10
FOR EACH ROW
EXECUTE PROCEDURE update_osm_park_polygon_row();
CREATE TRIGGER update_row
BEFORE INSERT OR UPDATE
ON osm_park_polygon_gen5
ON osm_park_polygon_gen_z9
FOR EACH ROW
EXECUTE PROCEDURE update_osm_park_polygon_row();
CREATE TRIGGER update_row
BEFORE INSERT OR UPDATE
ON osm_park_polygon_gen6
ON osm_park_polygon_gen_z8
FOR EACH ROW
EXECUTE PROCEDURE update_osm_park_polygon_row();
CREATE TRIGGER update_row
BEFORE INSERT OR UPDATE
ON osm_park_polygon_gen7
ON osm_park_polygon_gen_z7
FOR EACH ROW
EXECUTE PROCEDURE update_osm_park_polygon_row();
CREATE TRIGGER update_row
BEFORE INSERT OR UPDATE
ON osm_park_polygon_gen8
ON osm_park_polygon_gen_z6
FOR EACH ROW
EXECUTE PROCEDURE update_osm_park_polygon_row();

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 491 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 531 KiB

Wyświetl plik

@ -1,55 +1,61 @@
generalized_tables:
# etldoc: imposm3 -> osm_railway_linestring_gen5
railway_linestring_gen5:
source: railway_linestring_gen4
# etldoc: osm_railway_linestring_gen_z9 -> osm_railway_linestring_gen_z8
railway_linestring_gen_z8:
source: railway_linestring_gen_z9
tolerance: ZRES9
# etldoc: imposm3 -> osm_railway_linestring_gen4
railway_linestring_gen4:
source: railway_linestring_gen3
# etldoc: osm_railway_linestring_gen_z10 -> osm_railway_linestring_gen_z9
railway_linestring_gen_z9:
source: railway_linestring_gen_z10
tolerance: ZRES10
# etldoc: imposm3 -> osm_railway_linestring_gen3
railway_linestring_gen3:
source: railway_linestring_gen2
# etldoc: osm_railway_linestring_gen_z11 -> osm_railway_linestring_gen_z10
railway_linestring_gen_z10:
source: railway_linestring_gen_z11
tolerance: ZRES11
# etldoc: imposm3 -> osm_railway_linestring_gen2
railway_linestring_gen2:
source: railway_linestring_gen1
# etldoc: osm_railway_linestring_gen_z12 -> osm_railway_linestring_gen_z11
railway_linestring_gen_z11:
source: railway_linestring_gen_z12
tolerance: ZRES12
# etldoc: imposm3 -> osm_railway_linestring_gen1
railway_linestring_gen1:
# etldoc: osm_railway_linestring -> osm_railway_linestring_gen_z12
railway_linestring_gen_z12:
source: railway_linestring
sql_filter: railway IN ('rail', 'narrow_gauge', 'light_rail') AND service='' AND ST_IsValid(geometry)
tolerance: ZRES13
# etldoc: imposm3 -> osm_aerialway_linestring_gen1
aerialway_linestring_gen1:
# etldoc: osm_aerialway_linestring -> osm_aerialway_linestring_gen_z12
aerialway_linestring_gen_z12:
source: aerialway_linestring
sql_filter: ST_IsValid(geometry)
tolerance: ZRES13
# etldoc: imposm3 -> osm_shipway_linestring_gen2
shipway_linestring_gen2:
source: shipway_linestring_gen1
# etldoc: osm_shipway_linestring_gen_z12 -> osm_shipway_linestring_gen_z11
shipway_linestring_gen_z11:
source: shipway_linestring_gen_z12
tolerance: ZRES12
# etldoc: imposm3 -> osm_shipway_linestring_gen1
shipway_linestring_gen1:
# etldoc: osm_shipway_linestring -> osm_shipway_linestring_gen_z12
shipway_linestring_gen_z12:
source: shipway_linestring
sql_filter: ST_IsValid(geometry)
tolerance: ZRES13
# etldoc: imposm3 -> osm_highway_linestring_gen2
highway_linestring_gen2:
source: highway_linestring_gen1
# etldoc: osm_highway_linestring_gen_z10 -> osm_highway_linestring_gen_z9
highway_linestring_gen_z9:
source: highway_linestring_gen_z10
sql_filter: (highway IN ('motorway', 'trunk', 'primary', 'secondary', 'motorway_link', 'trunk_link', 'primary_link', 'secondary_link') OR highway = 'construction' AND construction IN ('motorway', 'trunk', 'primary', 'secondary', 'motorway_link', 'trunk_link', 'primary_link', 'secondary_link')) AND NOT is_area
tolerance: ZRES10
# etldoc: osm_highway_linestring_gen_z11 -> osm_highway_linestring_gen_z10
highway_linestring_gen_z10:
source: highway_linestring_gen_z11
sql_filter: (highway IN ('motorway', 'trunk', 'primary', 'secondary', 'motorway_link', 'trunk_link', 'primary_link', 'secondary_link') OR highway = 'construction' AND construction IN ('motorway', 'trunk', 'primary', 'secondary', 'motorway_link', 'trunk_link', 'primary_link', 'secondary_link')) AND NOT is_area
tolerance: ZRES11
# etldoc: imposm3 -> osm_highway_linestring_gen1
highway_linestring_gen1:
# etldoc: osm_highway_linestring -> osm_highway_linestring_gen_z11
highway_linestring_gen_z11:
source: highway_linestring
sql_filter: (highway IN ('motorway', 'trunk', 'primary', 'secondary', 'tertiary', 'motorway_link', 'trunk_link', 'primary_link', 'secondary_link', 'tertiary_link') OR highway = 'construction' AND construction IN ('motorway', 'trunk', 'primary', 'secondary', 'tertiary', 'motorway_link', 'trunk_link', 'primary_link', 'secondary_link', 'tertiary_link')) AND NOT is_area AND ST_IsValid(geometry)
tolerance: ZRES12

Wyświetl plik

@ -64,7 +64,7 @@ SELECT osm_id,
NULLIF(mtb_scale, '') AS mtb_scale,
NULLIF(surface, '') AS surface
FROM (
-- etldoc: osm_transportation_merge_linestring_gen7 -> layer_transportation:z4
-- etldoc: osm_transportation_merge_linestring_gen_z4 -> layer_transportation:z4
SELECT osm_id,
geometry,
highway,
@ -89,11 +89,11 @@ FROM (
NULL AS mtb_scale,
NULL AS surface,
z_order
FROM osm_transportation_merge_linestring_gen7
FROM osm_transportation_merge_linestring_gen_z4
WHERE zoom_level = 4
UNION ALL
-- etldoc: osm_transportation_merge_linestring_gen6 -> layer_transportation:z5
-- etldoc: osm_transportation_merge_linestring_gen_z5 -> layer_transportation:z5
SELECT osm_id,
geometry,
highway,
@ -118,11 +118,11 @@ FROM (
NULL AS mtb_scale,
NULL AS surface,
z_order
FROM osm_transportation_merge_linestring_gen6
FROM osm_transportation_merge_linestring_gen_z5
WHERE zoom_level = 5
UNION ALL
-- etldoc: osm_transportation_merge_linestring_gen5 -> layer_transportation:z6
-- etldoc: osm_transportation_merge_linestring_gen_z6 -> layer_transportation:z6
SELECT osm_id,
geometry,
highway,
@ -147,11 +147,11 @@ FROM (
NULL AS mtb_scale,
NULL AS surface,
z_order
FROM osm_transportation_merge_linestring_gen5
FROM osm_transportation_merge_linestring_gen_z6
WHERE zoom_level = 6
UNION ALL
-- etldoc: osm_transportation_merge_linestring_gen4 -> layer_transportation:z7
-- etldoc: osm_transportation_merge_linestring_gen_z7 -> layer_transportation:z7
SELECT osm_id,
geometry,
highway,
@ -176,11 +176,11 @@ FROM (
NULL AS mtb_scale,
NULL AS surface,
z_order
FROM osm_transportation_merge_linestring_gen4
FROM osm_transportation_merge_linestring_gen_z7
WHERE zoom_level = 7
UNION ALL
-- etldoc: osm_transportation_merge_linestring_gen3 -> layer_transportation:z8
-- etldoc: osm_transportation_merge_linestring_gen_z8 -> layer_transportation:z8
SELECT osm_id,
geometry,
highway,
@ -205,12 +205,11 @@ FROM (
NULL AS mtb_scale,
NULL AS surface,
z_order
FROM osm_transportation_merge_linestring_gen3
FROM osm_transportation_merge_linestring_gen_z8
WHERE zoom_level = 8
UNION ALL
-- etldoc: osm_highway_linestring_gen2 -> layer_transportation:z9
-- etldoc: osm_highway_linestring_gen2 -> layer_transportation:z10
-- etldoc: osm_highway_linestring_gen_z9 -> layer_transportation:z9
SELECT osm_id,
geometry,
highway,
@ -235,12 +234,12 @@ FROM (
mtb_scale,
NULL AS surface,
z_order
FROM osm_highway_linestring_gen2
WHERE zoom_level BETWEEN 9 AND 10
AND st_length(geometry) > zres(11)
FROM osm_highway_linestring_gen_z9
WHERE zoom_level = 9
AND ST_Length(geometry) > ZRes(11)
UNION ALL
-- etldoc: osm_highway_linestring_gen1 -> layer_transportation:z11
-- etldoc: osm_highway_linestring_gen_z10 -> layer_transportation:z10
SELECT osm_id,
geometry,
highway,
@ -265,14 +264,44 @@ FROM (
mtb_scale,
NULL AS surface,
z_order
FROM osm_highway_linestring_gen1
FROM osm_highway_linestring_gen_z10
WHERE zoom_level = 10
AND ST_Length(geometry) > ZRes(11)
UNION ALL
-- etldoc: osm_highway_linestring_gen_z11 -> layer_transportation:z11
SELECT osm_id,
geometry,
highway,
construction,
NULL AS railway,
NULL AS aerialway,
NULL AS shipway,
NULL AS public_transport,
NULL AS service,
is_bridge,
is_tunnel,
is_ford,
NULL::boolean AS is_ramp,
NULL::int AS is_oneway,
NULL AS man_made,
layer,
NULL::int AS level,
NULL::boolean AS indoor,
bicycle,
foot,
horse,
mtb_scale,
NULL AS surface,
z_order
FROM osm_highway_linestring_gen_z11
WHERE zoom_level = 11
AND st_length(geometry) > zres(12)
AND ST_Length(geometry) > ZRes(12)
UNION ALL
-- etldoc: osm_highway_linestring -> layer_transportation:z12
-- etldoc: osm_highway_linestring -> layer_transportation:z13
-- etldoc: osm_highway_linestring -> layer_transportation:z14_
-- etldoc: osm_highway_linestring -> layer_transportation:z12
-- etldoc: osm_highway_linestring -> layer_transportation:z13
-- etldoc: osm_highway_linestring -> layer_transportation:z14_
SELECT osm_id,
geometry,
highway,
@ -320,7 +349,7 @@ FROM (
)
UNION ALL
-- etldoc: osm_railway_linestring_gen5 -> layer_transportation:z8
-- etldoc: osm_railway_linestring_gen_z8 -> layer_transportation:z8
SELECT osm_id,
geometry,
NULL AS highway,
@ -345,14 +374,14 @@ FROM (
NULL AS mtb_scale,
NULL AS surface,
z_order
FROM osm_railway_linestring_gen5
FROM osm_railway_linestring_gen_z8
WHERE zoom_level = 8
AND railway = 'rail'
AND service = ''
AND usage = 'main'
UNION ALL
-- etldoc: osm_railway_linestring_gen4 -> layer_transportation:z9
-- etldoc: osm_railway_linestring_gen_z9 -> layer_transportation:z9
SELECT osm_id,
geometry,
NULL AS highway,
@ -377,14 +406,14 @@ FROM (
NULL AS mtb_scale,
NULL AS surface,
z_order
FROM osm_railway_linestring_gen4
FROM osm_railway_linestring_gen_z9
WHERE zoom_level = 9
AND railway = 'rail'
AND service = ''
AND usage = 'main'
UNION ALL
-- etldoc: osm_railway_linestring_gen3 -> layer_transportation:z10
-- etldoc: osm_railway_linestring_gen_z10 -> layer_transportation:z10
SELECT osm_id,
geometry,
NULL AS highway,
@ -409,13 +438,13 @@ FROM (
NULL AS mtb_scale,
NULL AS surface,
z_order
FROM osm_railway_linestring_gen3
FROM osm_railway_linestring_gen_z10
WHERE zoom_level = 10
AND railway IN ('rail', 'narrow_gauge')
AND service = ''
UNION ALL
-- etldoc: osm_railway_linestring_gen2 -> layer_transportation:z11
-- etldoc: osm_railway_linestring_gen_z11 -> layer_transportation:z11
SELECT osm_id,
geometry,
NULL AS highway,
@ -440,13 +469,13 @@ FROM (
NULL AS mtb_scale,
NULL AS surface,
z_order
FROM osm_railway_linestring_gen2
FROM osm_railway_linestring_gen_z11
WHERE zoom_level = 11
AND railway IN ('rail', 'narrow_gauge', 'light_rail')
AND service = ''
UNION ALL
-- etldoc: osm_railway_linestring_gen1 -> layer_transportation:z12
-- etldoc: osm_railway_linestring_gen_z12 -> layer_transportation:z12
SELECT osm_id,
geometry,
NULL AS highway,
@ -471,14 +500,14 @@ FROM (
NULL AS mtb_scale,
NULL AS surface,
z_order
FROM osm_railway_linestring_gen1
FROM osm_railway_linestring_gen_z12
WHERE zoom_level = 12
AND railway IN ('rail', 'narrow_gauge', 'light_rail')
AND service = ''
UNION ALL
-- etldoc: osm_railway_linestring -> layer_transportation:z13
-- etldoc: osm_railway_linestring -> layer_transportation:z14_
-- etldoc: osm_railway_linestring -> layer_transportation:z13
-- etldoc: osm_railway_linestring -> layer_transportation:z14_
SELECT osm_id,
geometry,
NULL AS highway,
@ -505,11 +534,12 @@ FROM (
z_order
FROM osm_railway_linestring
WHERE zoom_level = 13
AND railway IN ('rail', 'narrow_gauge', 'light_rail') AND service = ''
OR zoom_level >= 14
AND railway IN ('rail', 'narrow_gauge', 'light_rail')
AND service = ''
OR zoom_level >= 14
UNION ALL
-- etldoc: osm_aerialway_linestring_gen1 -> layer_transportation:z12
-- etldoc: osm_aerialway_linestring_gen_z12 -> layer_transportation:z12
SELECT osm_id,
geometry,
NULL AS highway,
@ -534,12 +564,12 @@ FROM (
NULL AS mtb_scale,
NULL AS surface,
z_order
FROM osm_aerialway_linestring_gen1
FROM osm_aerialway_linestring_gen_z12
WHERE zoom_level = 12
UNION ALL
-- etldoc: osm_aerialway_linestring -> layer_transportation:z13
-- etldoc: osm_aerialway_linestring -> layer_transportation:z14_
-- etldoc: osm_aerialway_linestring -> layer_transportation:z13
-- etldoc: osm_aerialway_linestring -> layer_transportation:z14_
SELECT osm_id,
geometry,
NULL AS highway,
@ -568,7 +598,7 @@ FROM (
WHERE zoom_level >= 13
UNION ALL
-- etldoc: osm_shipway_linestring_gen2 -> layer_transportation:z11
-- etldoc: osm_shipway_linestring_gen_z11 -> layer_transportation:z11
SELECT osm_id,
geometry,
NULL AS highway,
@ -593,11 +623,11 @@ FROM (
NULL AS mtb_scale,
NULL AS surface,
z_order
FROM osm_shipway_linestring_gen2
FROM osm_shipway_linestring_gen_z11
WHERE zoom_level = 11
UNION ALL
-- etldoc: osm_shipway_linestring_gen1 -> layer_transportation:z12
-- etldoc: osm_shipway_linestring_gen_z12 -> layer_transportation:z12
SELECT osm_id,
geometry,
NULL AS highway,
@ -622,12 +652,12 @@ FROM (
NULL AS mtb_scale,
NULL AS surface,
z_order
FROM osm_shipway_linestring_gen1
FROM osm_shipway_linestring_gen_z12
WHERE zoom_level = 12
UNION ALL
-- etldoc: osm_shipway_linestring -> layer_transportation:z13
-- etldoc: osm_shipway_linestring -> layer_transportation:z14_
-- etldoc: osm_shipway_linestring -> layer_transportation:z13
-- etldoc: osm_shipway_linestring -> layer_transportation:z14_
SELECT osm_id,
geometry,
NULL AS highway,
@ -660,8 +690,8 @@ FROM (
-- careful to net get false positives here because
-- it is possible that closed linestrings appear both as
-- highway linestrings and as polygon
-- etldoc: osm_highway_polygon -> layer_transportation:z13
-- etldoc: osm_highway_polygon -> layer_transportation:z14_
-- etldoc: osm_highway_polygon -> layer_transportation:z13
-- etldoc: osm_highway_polygon -> layer_transportation:z14_
SELECT osm_id,
geometry,
highway,

Wyświetl plik

@ -1,11 +1,3 @@
DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring CASCADE;
DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen3 CASCADE;
DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen4 CASCADE;
DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen5 CASCADE;
DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen6 CASCADE;
DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen7 CASCADE;
DROP TRIGGER IF EXISTS trigger_flag_transportation ON osm_highway_linestring;
DROP TRIGGER IF EXISTS trigger_refresh ON transportation.updates;
@ -21,6 +13,7 @@ CREATE INDEX IF NOT EXISTS osm_highway_linestring_highway_partial_idx
WHERE highway IN ('motorway', 'trunk', 'primary', 'construction');
-- etldoc: osm_highway_linestring -> osm_transportation_merge_linestring
DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring CASCADE;
CREATE MATERIALIZED VIEW osm_transportation_merge_linestring AS
(
SELECT (ST_Dump(geometry)).geom AS geometry,
@ -52,73 +45,113 @@ CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_highway_partial_i
ON osm_transportation_merge_linestring (highway, construction)
WHERE highway IN ('motorway', 'trunk', 'primary', 'construction');
-- etldoc: osm_transportation_merge_linestring -> osm_transportation_merge_linestring_gen3
CREATE MATERIALIZED VIEW osm_transportation_merge_linestring_gen3 AS
-- etldoc: osm_transportation_merge_linestring -> osm_transportation_merge_linestring_gen_z8
DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen_z8 CASCADE;
CREATE MATERIALIZED VIEW osm_transportation_merge_linestring_gen_z8 AS
(
SELECT ST_Simplify(geometry, 120) AS geometry, osm_id, highway, construction, is_bridge, is_tunnel, is_ford, z_order
SELECT ST_Simplify(geometry, ZRes(10)) AS geometry,
osm_id,
highway,
construction,
is_bridge,
is_tunnel,
is_ford,
z_order
FROM osm_transportation_merge_linestring
WHERE highway IN ('motorway', 'trunk', 'primary')
OR highway = 'construction' AND construction IN ('motorway', 'trunk', 'primary')
) /* DELAY_MATERIALIZED_VIEW_CREATION */;
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen3_geometry_idx
ON osm_transportation_merge_linestring_gen3 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen3_highway_partial_idx
ON osm_transportation_merge_linestring_gen3 (highway, construction)
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen_z8_geometry_idx
ON osm_transportation_merge_linestring_gen_z8 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen_z8_highway_partial_idx
ON osm_transportation_merge_linestring_gen_z8 (highway, construction)
WHERE highway IN ('motorway', 'trunk', 'primary', 'construction');
-- etldoc: osm_transportation_merge_linestring_gen3 -> osm_transportation_merge_linestring_gen4
CREATE MATERIALIZED VIEW osm_transportation_merge_linestring_gen4 AS
-- etldoc: osm_transportation_merge_linestring_gen_z8 -> osm_transportation_merge_linestring_gen_z7
DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen_z7 CASCADE;
CREATE MATERIALIZED VIEW osm_transportation_merge_linestring_gen_z7 AS
(
SELECT ST_Simplify(geometry, 200) AS geometry, osm_id, highway, construction, is_bridge, is_tunnel, is_ford, z_order
FROM osm_transportation_merge_linestring_gen3
SELECT ST_Simplify(geometry, ZRes(9)) AS geometry,
osm_id,
highway,
construction,
is_bridge,
is_tunnel,
is_ford,
z_order
FROM osm_transportation_merge_linestring_gen_z8
WHERE (highway IN ('motorway', 'trunk', 'primary') OR
highway = 'construction' AND construction IN ('motorway', 'trunk', 'primary'))
AND ST_Length(geometry) > 50
) /* DELAY_MATERIALIZED_VIEW_CREATION */;
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen4_geometry_idx
ON osm_transportation_merge_linestring_gen4 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen4_highway_partial_idx
ON osm_transportation_merge_linestring_gen4 (highway, construction)
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen_z7_geometry_idx
ON osm_transportation_merge_linestring_gen_z7 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen_z7_highway_partial_idx
ON osm_transportation_merge_linestring_gen_z7 (highway, construction)
WHERE highway IN ('motorway', 'trunk', 'primary', 'construction');
-- etldoc: osm_transportation_merge_linestring_gen4 -> osm_transportation_merge_linestring_gen5
CREATE MATERIALIZED VIEW osm_transportation_merge_linestring_gen5 AS
-- etldoc: osm_transportation_merge_linestring_gen_z7 -> osm_transportation_merge_linestring_gen_z6
DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen_z6 CASCADE;
CREATE MATERIALIZED VIEW osm_transportation_merge_linestring_gen_z6 AS
(
SELECT ST_Simplify(geometry, 500) AS geometry, osm_id, highway, construction, is_bridge, is_tunnel, is_ford, z_order
FROM osm_transportation_merge_linestring_gen4
SELECT ST_Simplify(geometry, ZRes(8)) AS geometry,
osm_id,
highway,
construction,
is_bridge,
is_tunnel,
is_ford,
z_order
FROM osm_transportation_merge_linestring_gen_z7
WHERE (highway IN ('motorway', 'trunk') OR highway = 'construction' AND construction IN ('motorway', 'trunk'))
AND ST_Length(geometry) > 100
) /* DELAY_MATERIALIZED_VIEW_CREATION */;
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen5_geometry_idx
ON osm_transportation_merge_linestring_gen5 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen5_highway_partial_idx
ON osm_transportation_merge_linestring_gen5 (highway, construction)
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen_z6_geometry_idx
ON osm_transportation_merge_linestring_gen_z6 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen_z6_highway_partial_idx
ON osm_transportation_merge_linestring_gen_z6 (highway, construction)
WHERE highway IN ('motorway', 'trunk', 'construction');
-- etldoc: osm_transportation_merge_linestring_gen5 -> osm_transportation_merge_linestring_gen6
CREATE MATERIALIZED VIEW osm_transportation_merge_linestring_gen6 AS
-- etldoc: osm_transportation_merge_linestring_gen_z6 -> osm_transportation_merge_linestring_gen_z5
DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen_z5 CASCADE;
CREATE MATERIALIZED VIEW osm_transportation_merge_linestring_gen_z5 AS
(
SELECT ST_Simplify(geometry, 1000) AS geometry, osm_id, highway, construction, is_bridge, is_tunnel, is_ford, z_order
FROM osm_transportation_merge_linestring_gen5
SELECT ST_Simplify(geometry, ZRes(7)) AS geometry,
osm_id,
highway,
construction,
is_bridge,
is_tunnel,
is_ford,
z_order
FROM osm_transportation_merge_linestring_gen_z6
WHERE (highway IN ('motorway', 'trunk') OR highway = 'construction' AND construction IN ('motorway', 'trunk'))
AND ST_Length(geometry) > 500
) /* DELAY_MATERIALIZED_VIEW_CREATION */;
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen6_geometry_idx
ON osm_transportation_merge_linestring_gen6 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen6_highway_partial_idx
ON osm_transportation_merge_linestring_gen6 (highway, construction)
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen_z5_geometry_idx
ON osm_transportation_merge_linestring_gen_z5 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen_z5_highway_partial_idx
ON osm_transportation_merge_linestring_gen_z5 (highway, construction)
WHERE highway IN ('motorway', 'trunk', 'construction');
-- etldoc: osm_transportation_merge_linestring_gen6 -> osm_transportation_merge_linestring_gen7
CREATE MATERIALIZED VIEW osm_transportation_merge_linestring_gen7 AS
-- etldoc: osm_transportation_merge_linestring_gen_z5 -> osm_transportation_merge_linestring_gen_z4
DROP MATERIALIZED VIEW IF EXISTS osm_transportation_merge_linestring_gen_z4 CASCADE;
CREATE MATERIALIZED VIEW osm_transportation_merge_linestring_gen_z4 AS
(
SELECT ST_Simplify(geometry, 2000) AS geometry, osm_id, highway, construction, is_bridge, is_tunnel, is_ford, z_order
FROM osm_transportation_merge_linestring_gen6
SELECT ST_Simplify(geometry, ZRes(6)) AS geometry,
osm_id,
highway,
construction,
is_bridge,
is_tunnel,
is_ford,
z_order
FROM osm_transportation_merge_linestring_gen_z5
WHERE (highway = 'motorway' OR highway = 'construction' AND construction = 'motorway')
AND ST_Length(geometry) > 1000
) /* DELAY_MATERIALIZED_VIEW_CREATION */;
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen7_geometry_idx
ON osm_transportation_merge_linestring_gen7 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_transportation_merge_linestring_gen_z4_geometry_idx
ON osm_transportation_merge_linestring_gen_z4 USING gist (geometry);
-- Handle updates
@ -146,11 +179,11 @@ DECLARE
BEGIN
RAISE LOG 'Refresh transportation';
REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring;
REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen3;
REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen4;
REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen5;
REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen6;
REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen7;
REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen_z8;
REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen_z7;
REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen_z6;
REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen_z5;
REFRESH MATERIALIZED VIEW osm_transportation_merge_linestring_gen_z4;
-- noinspection SqlWithoutWhere
DELETE FROM transportation.updates;
@ -170,4 +203,4 @@ CREATE CONSTRAINT TRIGGER trigger_refresh
ON transportation.updates
INITIALLY DEFERRED
FOR EACH ROW
EXECUTE PROCEDURE transportation.refresh();
EXECUTE PROCEDURE transportation.refresh();

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 340 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 225 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 323 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 416 KiB

Wyświetl plik

@ -1,39 +1,38 @@
generalized_tables:
# etldoc: imposm3 -> osm_water_polygon_gen6
water_polygon_gen6:
source: water_polygon_gen5
# etldoc: osm_water_polygon_gen_z7 -> osm_water_polygon_gen_z6
water_polygon_gen_z6:
source: water_polygon_gen_z7
sql_filter: area>power(ZRES5,2)
tolerance: ZRES7
# etldoc: imposm3 -> osm_water_polygon_gen5
water_polygon_gen5:
source: water_polygon_gen4
# etldoc: osm_water_polygon_gen_z8 -> osm_water_polygon_gen_z7
water_polygon_gen_z7:
source: water_polygon_gen_z8
sql_filter: area>power(ZRES6,2)
tolerance: ZRES8
# etldoc: imposm3 -> osm_water_polygon_gen4
water_polygon_gen4:
source: water_polygon_gen3
# etldoc: osm_water_polygon_gen_z9 -> osm_water_polygon_gen_z8
water_polygon_gen_z8:
source: water_polygon_gen_z9
sql_filter: area>power(ZRES7,2)
tolerance: ZRES9
# etldoc: imposm3 -> osm_water_polygon_gen3
water_polygon_gen3:
source: water_polygon_gen2
# etldoc: osm_water_polygon_gen_z10 -> osm_water_polygon_gen_z9
water_polygon_gen_z9:
source: water_polygon_gen_z10
sql_filter: area>power(ZRES8,2)
tolerance: ZRES10
# etldoc: imposm3 -> osm_water_polygon_gen2
water_polygon_gen2:
source: water_polygon_gen1
# etldoc: osm_water_polygon_gen_z11 -> osm_water_polygon_gen_z10
water_polygon_gen_z10:
source: water_polygon_gen_z11
sql_filter: area>power(ZRES9,2)
tolerance: ZRES11
# etldoc: imposm3 -> osm_water_polygon_gen1
water_polygon_gen1:
# etldoc: osm_water_polygon -> osm_water_polygon_gen_z11
water_polygon_gen_z11:
source: water_polygon
sql_filter: area>power(ZRES10,2) AND ST_IsValid(geometry)
sql_filter: area>power(ZRES10,2)
tolerance: ZRES12
tunnel_field: &tunnel

Wyświetl plik

@ -26,77 +26,117 @@ TRUNCATE TABLE osm_ocean_polygon;
DO
$$
BEGIN
DROP TABLE IF EXISTS osm_ocean_polygon_gen1 CASCADE;
DROP TABLE IF EXISTS osm_ocean_polygon_gen_z11 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_ocean_polygon_union -> osm_ocean_polygon_gen1
DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen1 CASCADE;
CREATE MATERIALIZED VIEW osm_ocean_polygon_gen1 AS
-- etldoc: osm_ocean_polygon_union -> osm_ocean_polygon_gen_z11
DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen_z11 CASCADE;
CREATE MATERIALIZED VIEW osm_ocean_polygon_gen_z11 AS
(
SELECT ST_Simplify(geometry, 20) AS geometry
SELECT ST_Simplify(geometry, ZRes(13)) AS geometry
FROM osm_ocean_polygon_union
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen1_idx ON osm_ocean_polygon_gen1 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen_z11_idx ON osm_ocean_polygon_gen_z11 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;
DROP TABLE IF EXISTS osm_ocean_polygon_gen_z10 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_ocean_polygon_union -> osm_ocean_polygon_gen2
DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen2 CASCADE;
CREATE MATERIALIZED VIEW osm_ocean_polygon_gen2 AS
-- etldoc: osm_ocean_polygon_gen_z11 -> osm_ocean_polygon_gen_z10
DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen_z10 CASCADE;
CREATE MATERIALIZED VIEW osm_ocean_polygon_gen_z10 AS
(
SELECT ST_Simplify(geometry, 40) AS geometry
FROM osm_ocean_polygon_union
SELECT ST_Simplify(geometry, ZRes(12)) AS geometry
FROM osm_ocean_polygon_gen_z11
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen2_idx ON osm_ocean_polygon_gen2 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen_z10_idx ON osm_ocean_polygon_gen_z10 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;
DROP TABLE IF EXISTS osm_ocean_polygon_gen_z9 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_ocean_polygon_union -> osm_ocean_polygon_gen3
DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen3 CASCADE;
CREATE MATERIALIZED VIEW osm_ocean_polygon_gen3 AS
-- etldoc: osm_ocean_polygon_gen_z10 -> osm_ocean_polygon_gen_z9
DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen_z9 CASCADE;
CREATE MATERIALIZED VIEW osm_ocean_polygon_gen_z9 AS
(
SELECT ST_Simplify(geometry, 80) AS geometry
FROM osm_ocean_polygon_union
SELECT ST_Simplify(geometry, ZRes(11)) AS geometry
FROM osm_ocean_polygon_gen_z10
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen3_idx ON osm_ocean_polygon_gen3 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen_z9_idx ON osm_ocean_polygon_gen_z9 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;
DROP TABLE IF EXISTS osm_ocean_polygon_gen_z8 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_ocean_polygon_union -> osm_ocean_polygon_gen4
DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen4 CASCADE;
CREATE MATERIALIZED VIEW osm_ocean_polygon_gen4 AS
-- etldoc: osm_ocean_polygon_gen_z9 -> osm_ocean_polygon_gen_z8
DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen_z8 CASCADE;
CREATE MATERIALIZED VIEW osm_ocean_polygon_gen_z8 AS
(
SELECT ST_Simplify(geometry, 160) AS geometry
FROM osm_ocean_polygon_union
SELECT ST_Simplify(geometry, ZRes(10)) AS geometry
FROM osm_ocean_polygon_gen_z9
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen4_idx ON osm_ocean_polygon_gen4 USING gist (geometry);
CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen_z8_idx ON osm_ocean_polygon_gen_z8 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_gen_z7 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_ocean_polygon_gen_z8 -> osm_ocean_polygon_gen_z7
DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen_z7 CASCADE;
CREATE MATERIALIZED VIEW osm_ocean_polygon_gen_z7 AS
(
SELECT ST_Simplify(geometry, ZRes(9)) AS geometry
FROM osm_ocean_polygon_gen_z8
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen_z7_idx ON osm_ocean_polygon_gen_z7 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_gen_z6 CASCADE;
EXCEPTION
WHEN wrong_object_type THEN
END;
$$ LANGUAGE plpgsql;
-- etldoc: osm_ocean_polygon_gen_z7 -> osm_ocean_polygon_gen_z6
DROP MATERIALIZED VIEW IF EXISTS osm_ocean_polygon_gen_z6 CASCADE;
CREATE MATERIALIZED VIEW osm_ocean_polygon_gen_z6 AS
(
SELECT ST_Simplify(geometry, ZRes(8)) AS geometry
FROM osm_ocean_polygon_gen_z7
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS osm_ocean_polygon_gen_z6_idx ON osm_ocean_polygon_gen_z6 USING gist (geometry);

Wyświetl plik

@ -18,220 +18,401 @@ $$ LANGUAGE SQL IMMUTABLE
STRICT
PARALLEL SAFE;
CREATE OR REPLACE VIEW water_z0 AS
-- ne_10m_ocean
-- etldoc: ne_10m_ocean -> ne_10m_ocean_gen_z5
DROP MATERIALIZED VIEW IF EXISTS ne_10m_ocean_gen_z5 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_ocean_gen_z5 AS
(
-- etldoc: ne_110m_ocean -> water_z0
SELECT geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_110m_ocean
UNION ALL
-- etldoc: ne_110m_lakes -> water_z0
SELECT geometry,
'lake'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_110m_lakes
);
CREATE OR REPLACE VIEW water_z1 AS
(
-- etldoc: ne_110m_ocean -> water_z1
SELECT geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_110m_ocean
UNION ALL
-- etldoc: ne_110m_lakes -> water_z1
SELECT geometry,
'lake'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_110m_lakes
);
CREATE OR REPLACE VIEW water_z2 AS
(
-- etldoc: ne_50m_ocean -> water_z2
SELECT geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_50m_ocean
UNION ALL
-- etldoc: ne_50m_lakes -> water_z2
SELECT geometry,
'lake'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_50m_lakes
);
CREATE OR REPLACE VIEW water_z4 AS
(
-- etldoc: ne_50m_ocean -> water_z4
SELECT geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_50m_ocean
UNION ALL
-- etldoc: ne_10m_lakes -> water_z4
SELECT geometry,
'lake'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_10m_lakes
);
CREATE OR REPLACE VIEW water_z5 AS
(
-- etldoc: ne_10m_ocean -> water_z5
SELECT geometry,
SELECT ST_Simplify(geometry, ZRes(7)) AS geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_10m_ocean
UNION ALL
-- etldoc: ne_10m_lakes -> water_z5
SELECT geometry,
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_ocean_gen_z5_idx ON ne_10m_ocean_gen_z5 USING gist (geometry);
-- ne_10m_lakes
-- etldoc: ne_10m_lakes -> ne_10m_lakes_gen_z5
DROP MATERIALIZED VIEW IF EXISTS ne_10m_lakes_gen_z5 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_lakes_gen_z5 AS
(
SELECT ST_Simplify(geometry, ZRes(7)) AS geometry,
'lake'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_10m_lakes
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_lakes_gen_z5_idx ON ne_10m_lakes_gen_z5 USING gist (geometry);
-- etldoc: ne_10m_lakes -> ne_10m_lakes_gen_z4
DROP MATERIALIZED VIEW IF EXISTS ne_10m_lakes_gen_z4 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_lakes_gen_z4 AS
(
SELECT ST_Simplify(geometry, ZRes(6)) AS geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_10m_lakes_gen_z5
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_lakes_gen_z4_idx ON ne_10m_lakes_gen_z4 USING gist (geometry);
-- ne_50m_ocean
-- etldoc: ne_50m_ocean -> ne_50m_ocean_gen_z4
DROP MATERIALIZED VIEW IF EXISTS ne_50m_ocean_gen_z4 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_ocean_gen_z4 AS
(
SELECT ST_Simplify(geometry, ZRes(6)) AS geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_50m_ocean
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_ocean_gen_z4_idx ON ne_50m_ocean_gen_z4 USING gist (geometry);
-- etldoc: ne_50m_ocean_gen_z4 -> ne_50m_ocean_gen_z3
DROP MATERIALIZED VIEW IF EXISTS ne_50m_ocean_gen_z3 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_ocean_gen_z3 AS
(
SELECT ST_Simplify(geometry, ZRes(5)) AS geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_50m_ocean_gen_z4
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_ocean_gen_z3_idx ON ne_50m_ocean_gen_z3 USING gist (geometry);
-- etldoc: ne_50m_ocean_gen_z3 -> ne_50m_ocean_gen_z2
DROP MATERIALIZED VIEW IF EXISTS ne_50m_ocean_gen_z2 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_ocean_gen_z2 AS
(
SELECT ST_Simplify(geometry, ZRes(4)) AS geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_50m_ocean_gen_z3
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_ocean_gen_z2_idx ON ne_50m_ocean_gen_z2 USING gist (geometry);
-- ne_50m_lakes
-- etldoc: ne_50m_lakes -> ne_50m_lakes_gen_z3
DROP MATERIALIZED VIEW IF EXISTS ne_50m_lakes_gen_z3 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_lakes_gen_z3 AS
(
SELECT ST_Simplify(geometry, ZRes(5)) AS geometry,
'lakes'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_50m_lakes
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_lakes_gen_z3_idx ON ne_50m_lakes_gen_z3 USING gist (geometry);
-- etldoc: ne_50m_lakes_gen_z3 -> ne_50m_lakes_gen_z2
DROP MATERIALIZED VIEW IF EXISTS ne_50m_lakes_gen_z2 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_lakes_gen_z2 AS
(
SELECT ST_Simplify(geometry, ZRes(4)) AS geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_50m_lakes_gen_z3
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_lakes_gen_z2_idx ON ne_50m_lakes_gen_z2 USING gist (geometry);
--ne_110m_ocean
-- etldoc: ne_110m_ocean -> ne_110m_ocean_gen_z1
DROP MATERIALIZED VIEW IF EXISTS ne_110m_ocean_gen_z1 CASCADE;
CREATE MATERIALIZED VIEW ne_110m_ocean_gen_z1 AS
(
SELECT ST_Simplify(geometry, ZRes(3)) AS geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_110m_ocean
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_110m_ocean_gen_z1_idx ON ne_110m_ocean_gen_z1 USING gist (geometry);
-- etldoc: ne_110m_ocean_gen_z1 -> ne_110m_ocean_gen_z0
DROP MATERIALIZED VIEW IF EXISTS ne_110m_ocean_gen_z0 CASCADE;
CREATE MATERIALIZED VIEW ne_110m_ocean_gen_z0 AS
(
SELECT ST_Simplify(geometry, ZRes(2)) AS geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_110m_ocean_gen_z1
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_110m_ocean_gen_z0_idx ON ne_110m_ocean_gen_z0 USING gist (geometry);
-- ne_110m_lakes
-- etldoc: ne_110m_lakes -> ne_110m_lakes_gen_z1
DROP MATERIALIZED VIEW IF EXISTS ne_110m_lakes_gen_z1 CASCADE;
CREATE MATERIALIZED VIEW ne_110m_lakes_gen_z1 AS
(
SELECT ST_Simplify(geometry, ZRes(3)) AS geometry,
'lakes'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM ne_110m_lakes
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_110m_lakes_gen_z1_idx ON ne_110m_lakes_gen_z1 USING gist (geometry);
-- etldoc: ne_110m_lakes_gen_z1 -> ne_110m_lakes_gen_z0
DROP MATERIALIZED VIEW IF EXISTS ne_110m_lakes_gen_z0 CASCADE;
CREATE MATERIALIZED VIEW ne_110m_lakes_gen_z0 AS
(
SELECT ST_Simplify(geometry, ZRes(2)) AS geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_110m_lakes_gen_z1
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_110m_lakes_gen_z0_idx ON ne_110m_lakes_gen_z0 USING gist (geometry);
CREATE OR REPLACE VIEW water_z0 AS
(
-- etldoc: ne_110m_ocean_gen_z0 -> water_z0
SELECT geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_110m_ocean_gen_z0
UNION ALL
-- etldoc: ne_110m_lakes_gen_z0 -> water_z0
SELECT geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_110m_lakes_gen_z0
);
CREATE OR REPLACE VIEW water_z1 AS
(
-- etldoc: ne_110m_ocean_gen_z1 -> water_z1
SELECT geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_110m_ocean_gen_z1
UNION ALL
-- etldoc: ne_110m_lakes_gen_z1 -> water_z1
SELECT geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_110m_lakes_gen_z1
);
CREATE OR REPLACE VIEW water_z2 AS
(
-- etldoc: ne_50m_ocean_gen_z2 -> water_z2
SELECT geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_50m_ocean_gen_z2
UNION ALL
-- etldoc: ne_50m_lakes_gen_z2 -> water_z2
SELECT geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_50m_lakes_gen_z2
);
CREATE OR REPLACE VIEW water_z3 AS
(
-- etldoc: ne_50m_ocean_gen_z3 -> water_z3
SELECT geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_50m_ocean_gen_z3
UNION ALL
-- etldoc: ne_50m_lakes_gen_z3 -> water_z3
SELECT geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_50m_lakes_gen_z3
);
CREATE OR REPLACE VIEW water_z4 AS
(
-- etldoc: ne_50m_ocean_gen_z4 -> water_z4
SELECT geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_50m_ocean_gen_z4
UNION ALL
-- etldoc: ne_10m_lakes_gen_z4 -> water_z4
SELECT geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_10m_lakes_gen_z4
);
CREATE OR REPLACE VIEW water_z5 AS
(
-- etldoc: ne_10m_ocean_gen_z5 -> water_z5
SELECT geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_10m_ocean_gen_z5
UNION ALL
-- etldoc: ne_10m_lakes_gen_z5 -> water_z5
SELECT geometry,
class,
is_intermittent,
is_bridge,
is_tunnel
FROM ne_10m_lakes_gen_z5
);
CREATE OR REPLACE VIEW water_z6 AS
(
-- etldoc: osm_ocean_polygon_gen4 -> water_z6
-- etldoc: osm_ocean_polygon_gen_z6 -> water_z6
SELECT geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_ocean_polygon_gen4
FROM osm_ocean_polygon_gen_z6
UNION ALL
-- etldoc: osm_water_polygon_gen6 -> water_z6
-- etldoc: osm_water_polygon_gen_z6 -> water_z6
SELECT geometry,
water_class(waterway) AS class,
is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_water_polygon_gen6
FROM osm_water_polygon_gen_z6
WHERE "natural" != 'bay'
);
CREATE OR REPLACE VIEW water_z7 AS
(
-- etldoc: osm_ocean_polygon_gen4 -> water_z7
-- etldoc: osm_ocean_polygon_gen_z7 -> water_z7
SELECT geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_ocean_polygon_gen4
FROM osm_ocean_polygon_gen_z7
UNION ALL
-- etldoc: osm_water_polygon_gen5 -> water_z7
-- etldoc: osm_water_polygon_gen_z7 -> water_z7
SELECT geometry,
water_class(waterway) AS class,
is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_water_polygon_gen5
FROM osm_water_polygon_gen_z7
WHERE "natural" != 'bay'
);
CREATE OR REPLACE VIEW water_z8 AS
(
-- etldoc: osm_ocean_polygon_gen4 -> water_z8
-- etldoc: osm_ocean_polygon_gen_z8 -> water_z8
SELECT geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_ocean_polygon_gen4
FROM osm_ocean_polygon_gen_z8
UNION ALL
-- etldoc: osm_water_polygon_gen4 -> water_z8
-- etldoc: osm_water_polygon_gen_z8 -> water_z8
SELECT geometry,
water_class(waterway) AS class,
is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_water_polygon_gen4
FROM osm_water_polygon_gen_z8
WHERE "natural" != 'bay'
);
CREATE OR REPLACE VIEW water_z9 AS
(
-- etldoc: osm_ocean_polygon_gen3 -> water_z9
-- etldoc: osm_ocean_polygon_gen_z9 -> water_z9
SELECT geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_ocean_polygon_gen3
FROM osm_ocean_polygon_gen_z9
UNION ALL
-- etldoc: osm_water_polygon_gen3 -> water_z9
-- etldoc: osm_water_polygon_gen_z9 -> water_z9
SELECT geometry,
water_class(waterway) AS class,
is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_water_polygon_gen3
FROM osm_water_polygon_gen_z9
WHERE "natural" != 'bay'
);
CREATE OR REPLACE VIEW water_z10 AS
(
-- etldoc: osm_ocean_polygon_gen2 -> water_z10
-- etldoc: osm_ocean_polygon_gen_z10 -> water_z10
SELECT geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_ocean_polygon_gen2
FROM osm_ocean_polygon_gen_z10
UNION ALL
-- etldoc: osm_water_polygon_gen2 -> water_z10
-- etldoc: osm_water_polygon_gen_z10 -> water_z10
SELECT geometry,
water_class(waterway) AS class,
is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_water_polygon_gen2
FROM osm_water_polygon_gen_z10
WHERE "natural" != 'bay'
);
CREATE OR REPLACE VIEW water_z11 AS
(
-- etldoc: osm_ocean_polygon_gen1 -> water_z11
-- etldoc: osm_ocean_polygon_gen_z11 -> water_z11
SELECT geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_ocean_polygon_gen1
FROM osm_ocean_polygon_gen_z11
UNION ALL
-- etldoc: osm_water_polygon_gen1 -> water_z11
-- etldoc: osm_water_polygon_gen_z11 -> water_z11
SELECT geometry,
water_class(waterway) AS class,
is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_water_polygon_gen1
FROM osm_water_polygon_gen_z11
WHERE "natural" != 'bay'
);
@ -255,48 +436,8 @@ FROM osm_water_polygon
WHERE "natural" != 'bay'
);
CREATE OR REPLACE VIEW water_z13 AS
(
-- etldoc: osm_ocean_polygon_union -> water_z13
SELECT geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_ocean_polygon_union
UNION ALL
-- etldoc: osm_water_polygon -> water_z13
SELECT geometry,
water_class(waterway) AS class,
is_intermittent,
is_bridge,
is_tunnel
FROM osm_water_polygon
WHERE "natural" != 'bay'
);
CREATE OR REPLACE VIEW water_z14 AS
(
-- etldoc: osm_ocean_polygon_union -> water_z14
SELECT geometry,
'ocean'::text AS class,
NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel
FROM osm_ocean_polygon_union
UNION ALL
-- etldoc: osm_water_polygon -> water_z14
SELECT geometry,
water_class(waterway) AS class,
is_intermittent,
is_bridge,
is_tunnel
FROM osm_water_polygon
WHERE "natural" != 'bay'
);
-- etldoc: layer_water [shape=record fillcolor=lightpink, style="rounded,filled",
-- etldoc: label="layer_water |<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+" ] ;
-- etldoc: label="layer_water |<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+" ] ;
CREATE OR REPLACE FUNCTION layer_water(bbox geometry, zoom_level int)
RETURNS TABLE
@ -324,10 +465,14 @@ FROM (
WHERE zoom_level = 1
UNION ALL
-- etldoc: water_z2 -> layer_water:z2
-- etldoc: water_z2 -> layer_water:z3
SELECT *
FROM water_z2
WHERE zoom_level BETWEEN 2 AND 3
WHERE zoom_level = 2
UNION ALL
-- etldoc: water_z3 -> layer_water:z3
SELECT *
FROM water_z3
WHERE zoom_level = 3
UNION ALL
-- etldoc: water_z4 -> layer_water:z4
SELECT *
@ -372,17 +517,7 @@ FROM (
-- etldoc: water_z12 -> layer_water:z12
SELECT *
FROM water_z12
WHERE zoom_level = 12
UNION ALL
-- etldoc: water_z13 -> layer_water:z13
SELECT *
FROM water_z13
WHERE zoom_level = 13
UNION ALL
-- etldoc: water_z14 -> layer_water:z14_
SELECT *
FROM water_z14
WHERE zoom_level >= 14
WHERE zoom_level >= 12
) AS zoom_levels
WHERE geometry && bbox;
$$ LANGUAGE SQL STABLE

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 132 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 98 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 169 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 249 KiB

Wyświetl plik

@ -36,41 +36,50 @@ FROM (
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_names ON osm_important_waterway_linestring (name);
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_geometry_idx ON osm_important_waterway_linestring USING gist (geometry);
-- etldoc: osm_important_waterway_linestring -> osm_important_waterway_linestring_gen1
CREATE OR REPLACE VIEW osm_important_waterway_linestring_gen1_view AS
SELECT ST_Simplify(geometry, 60) AS geometry, name, name_en, name_de, tags
-- etldoc: osm_important_waterway_linestring -> osm_important_waterway_linestring_gen_z11
DROP MATERIALIZED VIEW IF EXISTS osm_important_waterway_linestring_gen_z11 CASCADE;
CREATE MATERIALIZED VIEW osm_important_waterway_linestring_gen_z11 AS
(
SELECT ST_Simplify(geometry, ZRes(12)) AS geometry,
name,
name_en,
name_de,
tags
FROM osm_important_waterway_linestring
WHERE ST_Length(geometry) > 1000;
WHERE ST_Length(geometry) > 1000
);
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen_z11_name_idx ON osm_important_waterway_linestring_gen_z11 (name);
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen_z11_geometry_idx ON osm_important_waterway_linestring_gen_z11 USING gist (geometry);
CREATE TABLE IF NOT EXISTS osm_important_waterway_linestring_gen1 AS
SELECT *
FROM osm_important_waterway_linestring_gen1_view;
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen1_name_idx ON osm_important_waterway_linestring_gen1 (name);
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen1_geometry_idx ON osm_important_waterway_linestring_gen1 USING gist (geometry);
-- etldoc: osm_important_waterway_linestring_gen_z11 -> osm_important_waterway_linestring_gen_z10
DROP MATERIALIZED VIEW IF EXISTS osm_important_waterway_linestring_gen_z10 CASCADE;
CREATE MATERIALIZED VIEW osm_important_waterway_linestring_gen_z10 AS
(
SELECT ST_Simplify(geometry, ZRes(11)) AS geometry,
name,
name_en,
name_de,
tags
FROM osm_important_waterway_linestring_gen_z11
WHERE ST_Length(geometry) > 4000
);
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen_z10_name_idx ON osm_important_waterway_linestring_gen_z10 (name);
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen_z10_geometry_idx ON osm_important_waterway_linestring_gen_z10 USING gist (geometry);
-- etldoc: osm_important_waterway_linestring_gen1 -> osm_important_waterway_linestring_gen2
CREATE OR REPLACE VIEW osm_important_waterway_linestring_gen2_view AS
SELECT ST_Simplify(geometry, 100) AS geometry, name, name_en, name_de, tags
FROM osm_important_waterway_linestring_gen1
WHERE ST_Length(geometry) > 4000;
CREATE TABLE IF NOT EXISTS osm_important_waterway_linestring_gen2 AS
SELECT *
FROM osm_important_waterway_linestring_gen2_view;
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen2_name_idx ON osm_important_waterway_linestring_gen2 (name);
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen2_geometry_idx ON osm_important_waterway_linestring_gen2 USING gist (geometry);
-- etldoc: osm_important_waterway_linestring_gen2 -> osm_important_waterway_linestring_gen3
CREATE OR REPLACE VIEW osm_important_waterway_linestring_gen3_view AS
SELECT ST_Simplify(geometry, 200) AS geometry, name, name_en, name_de, tags
FROM osm_important_waterway_linestring_gen2
WHERE ST_Length(geometry) > 8000;
CREATE TABLE IF NOT EXISTS osm_important_waterway_linestring_gen3 AS
SELECT *
FROM osm_important_waterway_linestring_gen3_view;
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen3_name_idx ON osm_important_waterway_linestring_gen3 (name);
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen3_geometry_idx ON osm_important_waterway_linestring_gen3 USING gist (geometry);
-- etldoc: osm_important_waterway_linestring_gen_z10 -> osm_important_waterway_linestring_gen_z9
DROP MATERIALIZED VIEW IF EXISTS osm_important_waterway_linestring_gen_z9 CASCADE;
CREATE MATERIALIZED VIEW osm_important_waterway_linestring_gen_z9 AS
(
SELECT ST_Simplify(geometry, ZRes(10)) AS geometry,
name,
name_en,
name_de,
tags
FROM osm_important_waterway_linestring_gen_z10
WHERE ST_Length(geometry) > 8000
);
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen_z9_name_idx ON osm_important_waterway_linestring_gen_z9 (name);
CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen_z9_geometry_idx ON osm_important_waterway_linestring_gen_z9 USING gist (geometry);
-- Handle updates
@ -178,47 +187,14 @@ BEGIN
GROUP BY w.name, w.name_en, w.name_de, slice_language_tags(w.tags)
) AS waterway_union;
-- REFRESH sm_important_waterway_linestring_gen1
DELETE
FROM osm_important_waterway_linestring_gen1 AS w
USING changes_compact AS c
WHERE w.name = c.name
AND w.name_en IS NOT DISTINCT FROM c.name_en
AND w.name_de IS NOT DISTINCT FROM c.name_de
AND w.tags IS NOT DISTINCT FROM c.tags;
-- REFRESH osm_important_waterway_linestring_gen_z11
REFRESH MATERIALIZED VIEW osm_important_waterway_linestring_gen_z11;
INSERT INTO osm_important_waterway_linestring_gen1
SELECT w.*
FROM osm_important_waterway_linestring_gen1_view AS w
NATURAL JOIN changes_compact AS c;
-- REFRESH osm_important_waterway_linestring_gen_z10
REFRESH MATERIALIZED VIEW osm_important_waterway_linestring_gen_z10;
-- REFRESH osm_important_waterway_linestring_gen2
DELETE
FROM osm_important_waterway_linestring_gen2 AS w
USING changes_compact AS c
WHERE w.name = c.name
AND w.name_en IS NOT DISTINCT FROM c.name_en
AND w.name_de IS NOT DISTINCT FROM c.name_de
AND w.tags IS NOT DISTINCT FROM c.tags;
INSERT INTO osm_important_waterway_linestring_gen2
SELECT w.*
FROM osm_important_waterway_linestring_gen2_view AS w
NATURAL JOIN changes_compact AS c;
-- REFRESH osm_important_waterway_linestring_gen3
DELETE
FROM osm_important_waterway_linestring_gen3 AS w
USING changes_compact AS c
WHERE w.name = c.name
AND w.name_en IS NOT DISTINCT FROM c.name_en
AND w.name_de IS NOT DISTINCT FROM c.name_de
AND w.tags IS NOT DISTINCT FROM c.tags;
INSERT INTO osm_important_waterway_linestring_gen3
SELECT w.*
FROM osm_important_waterway_linestring_gen3_view AS w
NATURAL JOIN changes_compact AS c;
-- REFRESH osm_important_waterway_linestring_gen_z9
REFRESH MATERIALIZED VIEW osm_important_waterway_linestring_gen_z9;
DROP TABLE changes_compact;
-- noinspection SqlWithoutWhere

Wyświetl plik

@ -7,11 +7,12 @@ SELECT CASE
$$ LANGUAGE SQL IMMUTABLE
STRICT
PARALLEL SAFE;
-- etldoc: ne_110m_rivers_lake_centerlines -> waterway_z3
CREATE OR REPLACE VIEW waterway_z3 AS
-- ne_110m_rivers_lake_centerlines
-- etldoc: ne_110m_rivers_lake_centerlines -> ne_110m_rivers_lake_centerlines_gen_z3
DROP MATERIALIZED VIEW IF EXISTS ne_110m_rivers_lake_centerlines_gen_z3 CASCADE;
CREATE MATERIALIZED VIEW ne_110m_rivers_lake_centerlines_gen_z3 AS
(
SELECT geometry,
SELECT ST_Simplify(geometry, ZRes(5)) as geometry,
'river'::text AS class,
NULL::text AS name,
NULL::text AS name_en,
@ -22,12 +23,15 @@ SELECT geometry,
NULL::boolean AS is_intermittent
FROM ne_110m_rivers_lake_centerlines
WHERE featurecla = 'River'
);
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_110m_rivers_lake_centerlines_gen_z3_idx ON ne_110m_rivers_lake_centerlines_gen_z3 USING gist (geometry);
-- etldoc: ne_50m_rivers_lake_centerlines -> waterway_z4
CREATE OR REPLACE VIEW waterway_z4 AS
-- ne_50m_rivers_lake_centerlines
-- etldoc: ne_50m_rivers_lake_centerlines -> ne_50m_rivers_lake_centerlines_gen_z5
DROP MATERIALIZED VIEW IF EXISTS ne_50m_rivers_lake_centerlines_gen_z5 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_rivers_lake_centerlines_gen_z5 AS
(
SELECT geometry,
SELECT ST_Simplify(geometry, ZRes(7)) as geometry,
'river'::text AS class,
NULL::text AS name,
NULL::text AS name_en,
@ -38,12 +42,32 @@ SELECT geometry,
NULL::boolean AS is_intermittent
FROM ne_50m_rivers_lake_centerlines
WHERE featurecla = 'River'
);
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_rivers_lake_centerlines_gen_z5_idx ON ne_50m_rivers_lake_centerlines_gen_z5 USING gist (geometry);
-- etldoc: ne_10m_rivers_lake_centerlines -> waterway_z6
CREATE OR REPLACE VIEW waterway_z6 AS
-- etldoc: ne_50m_rivers_lake_centerlines_gen_z5 -> ne_50m_rivers_lake_centerlines_gen_z4
DROP MATERIALIZED VIEW IF EXISTS ne_50m_rivers_lake_centerlines_gen_z4 CASCADE;
CREATE MATERIALIZED VIEW ne_50m_rivers_lake_centerlines_gen_z4 AS
(
SELECT geometry,
SELECT ST_Simplify(geometry, ZRes(6)) as geometry,
class,
name,
name_en,
name_de,
tags,
is_bridge,
is_tunnel,
is_intermittent
FROM ne_50m_rivers_lake_centerlines_gen_z5
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_50m_rivers_lake_centerlines_gen_z4_idx ON ne_50m_rivers_lake_centerlines_gen_z4 USING gist (geometry);
-- ne_10m_rivers_lake_centerlines
-- etldoc: ne_10m_rivers_lake_centerlines -> ne_10m_rivers_lake_centerlines_gen_z8
DROP MATERIALIZED VIEW IF EXISTS ne_10m_rivers_lake_centerlines_gen_z8 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_rivers_lake_centerlines_gen_z8 AS
(
SELECT ST_Simplify(geometry, ZRes(10)) as geometry,
'river'::text AS class,
NULL::text AS name,
NULL::text AS name_en,
@ -54,9 +78,135 @@ SELECT geometry,
NULL::boolean AS is_intermittent
FROM ne_10m_rivers_lake_centerlines
WHERE featurecla = 'River'
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_rivers_lake_centerlines_gen_z8_idx ON ne_10m_rivers_lake_centerlines_gen_z8 USING gist (geometry);
-- etldoc: ne_10m_rivers_lake_centerlines_gen_z8 -> ne_10m_rivers_lake_centerlines_gen_z7
DROP MATERIALIZED VIEW IF EXISTS ne_10m_rivers_lake_centerlines_gen_z7 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_rivers_lake_centerlines_gen_z7 AS
(
SELECT ST_Simplify(geometry, ZRes(9)) as geometry,
class,
name,
name_en,
name_de,
tags,
is_bridge,
is_tunnel,
is_intermittent
FROM ne_10m_rivers_lake_centerlines_gen_z8
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_rivers_lake_centerlines_gen_z7_idx ON ne_10m_rivers_lake_centerlines_gen_z7 USING gist (geometry);
-- etldoc: ne_10m_rivers_lake_centerlines_gen_z7 -> ne_10m_rivers_lake_centerlines_gen_z6
DROP MATERIALIZED VIEW IF EXISTS ne_10m_rivers_lake_centerlines_gen_z6 CASCADE;
CREATE MATERIALIZED VIEW ne_10m_rivers_lake_centerlines_gen_z6 AS
(
SELECT ST_Simplify(geometry, ZRes(8)) as geometry,
class,
name,
name_en,
name_de,
tags,
is_bridge,
is_tunnel,
is_intermittent
FROM ne_10m_rivers_lake_centerlines_gen_z7
) /* DELAY_MATERIALIZED_VIEW_CREATION */ ;
CREATE INDEX IF NOT EXISTS ne_10m_rivers_lake_centerlines_gen_z6_idx ON ne_10m_rivers_lake_centerlines_gen_z6 USING gist (geometry);
-- etldoc: ne_110m_rivers_lake_centerlines_gen_z3 -> waterway_z3
CREATE OR REPLACE VIEW waterway_z3 AS
(
SELECT geometry,
class,
name,
name_en,
name_de,
tags,
is_bridge,
is_tunnel,
is_intermittent
FROM ne_110m_rivers_lake_centerlines_gen_z3
);
-- etldoc: osm_important_waterway_linestring_gen3 -> waterway_z9
-- etldoc: ne_50m_rivers_lake_centerlines_gen_z4 -> waterway_z4
CREATE OR REPLACE VIEW waterway_z4 AS
(
SELECT geometry,
class,
name,
name_en,
name_de,
tags,
is_bridge,
is_tunnel,
is_intermittent
FROM ne_50m_rivers_lake_centerlines_gen_z4
);
-- etldoc: ne_50m_rivers_lake_centerlines_gen_z5 -> waterway_z5
CREATE OR REPLACE VIEW waterway_z5 AS
(
SELECT geometry,
class,
name,
name_en,
name_de,
tags,
is_bridge,
is_tunnel,
is_intermittent
FROM ne_50m_rivers_lake_centerlines_gen_z5
);
-- etldoc: ne_10m_rivers_lake_centerlines_gen_z6 -> waterway_z6
CREATE OR REPLACE VIEW waterway_z6 AS
(
SELECT geometry,
class,
name,
name_en,
name_de,
tags,
is_bridge,
is_tunnel,
is_intermittent
FROM ne_10m_rivers_lake_centerlines_gen_z6
);
-- etldoc: ne_10m_rivers_lake_centerlines_gen_z7 -> waterway_z7
CREATE OR REPLACE VIEW waterway_z7 AS
(
SELECT geometry,
class,
name,
name_en,
name_de,
tags,
is_bridge,
is_tunnel,
is_intermittent
FROM ne_10m_rivers_lake_centerlines_gen_z7
);
-- etldoc: ne_10m_rivers_lake_centerlines_gen_z8 -> waterway_z8
CREATE OR REPLACE VIEW waterway_z8 AS
(
SELECT geometry,
class,
name,
name_en,
name_de,
tags,
is_bridge,
is_tunnel,
is_intermittent
FROM ne_10m_rivers_lake_centerlines_gen_z8
);
-- etldoc: osm_important_waterway_linestring_gen_z9 -> waterway_z9
CREATE OR REPLACE VIEW waterway_z9 AS
(
SELECT geometry,
@ -68,10 +218,10 @@ SELECT geometry,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel,
NULL::boolean AS is_intermittent
FROM osm_important_waterway_linestring_gen3
FROM osm_important_waterway_linestring_gen_z9
);
-- etldoc: osm_important_waterway_linestring_gen2 -> waterway_z10
-- etldoc: osm_important_waterway_linestring_gen_z10 -> waterway_z10
CREATE OR REPLACE VIEW waterway_z10 AS
(
SELECT geometry,
@ -83,10 +233,10 @@ SELECT geometry,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel,
NULL::boolean AS is_intermittent
FROM osm_important_waterway_linestring_gen2
FROM osm_important_waterway_linestring_gen_z10
);
-- etldoc:osm_important_waterway_linestring_gen1 -> waterway_z11
-- etldoc:osm_important_waterway_linestring_gen_z11 -> waterway_z11
CREATE OR REPLACE VIEW waterway_z11 AS
(
SELECT geometry,
@ -98,7 +248,7 @@ SELECT geometry,
NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel,
NULL::boolean AS is_intermittent
FROM osm_important_waterway_linestring_gen1
FROM osm_important_waterway_linestring_gen_z11
);
-- etldoc: osm_waterway_linestring -> waterway_z12
@ -149,7 +299,7 @@ FROM osm_waterway_linestring
);
-- etldoc: layer_waterway[shape=record fillcolor=lightpink, style="rounded,filled",
-- etldoc: label="layer_waterway | <z3> z3 |<z4_5> z4-z5 |<z6_8> z6-8 | <z9> z9 |<z10> z10 |<z11> z11 |<z12> z12|<z13> z13|<z14> z14+" ];
-- etldoc: label="layer_waterway | <z3> z3 |<z4> z4 |<z5> z5 |<z6> z6 |<z7> z7 |<z8> z8 | <z9> z9 |<z10> z10 |<z11> z11 |<z12> z12|<z13> z13|<z14> z14+" ];
CREATE OR REPLACE FUNCTION layer_waterway(bbox geometry, zoom_level int)
RETURNS TABLE
@ -179,15 +329,30 @@ FROM (
FROM waterway_z3
WHERE zoom_level = 3
UNION ALL
-- etldoc: waterway_z4 -> layer_waterway:z4_5
-- etldoc: waterway_z4 -> layer_waterway:z4
SELECT *
FROM waterway_z4
WHERE zoom_level BETWEEN 4 AND 5
WHERE zoom_level = 4
UNION ALL
-- etldoc: waterway_z6 -> layer_waterway:z6_8
-- etldoc: waterway_z5 -> layer_waterway:z5
SELECT *
FROM waterway_z5
WHERE zoom_level = 5
UNION ALL
-- etldoc: waterway_z6 -> layer_waterway:z6
SELECT *
FROM waterway_z6
WHERE zoom_level BETWEEN 6 AND 8
WHERE zoom_level = 6
UNION ALL
-- etldoc: waterway_z7 -> layer_waterway:z7
SELECT *
FROM waterway_z7
WHERE zoom_level = 7
UNION ALL
-- etldoc: waterway_z8 -> layer_waterway:z8
SELECT *
FROM waterway_z8
WHERE zoom_level = 8
UNION ALL
-- etldoc: waterway_z9 -> layer_waterway:z9
SELECT *