diff --git a/layers/landcover/landcover.sql b/layers/landcover/landcover.sql index d7860c3..6c26813 100644 --- a/layers/landcover/landcover.sql +++ b/layers/landcover/landcover.sql @@ -41,6 +41,11 @@ CREATE OR REPLACE VIEW landcover_z5 AS ( SELECT NULL::bigint AS osm_id, geometry, NULL::text AS landuse, 'ice_shelf'::text AS "natural", NULL::text AS leisure, NULL::text AS wetland FROM ne_10m_antarctic_ice_shelves_polys ); +CREATE OR REPLACE VIEW landcover_z7 AS ( + -- etldoc: osm_landcover_polygon_gen7 -> landcover_z7 + SELECT osm_id, geometry, landuse, "natural", leisure, wetland FROM osm_landcover_polygon_gen7 +); + CREATE OR REPLACE VIEW landcover_z8 AS ( -- etldoc: osm_landcover_polygon_gen6 -> landcover_z8 SELECT osm_id, geometry, landuse, "natural", leisure, wetland FROM osm_landcover_polygon_gen6 @@ -96,9 +101,13 @@ RETURNS TABLE(osm_id bigint, geometry geometry, class text, subclass text) AS $$ SELECT * FROM landcover_z2 WHERE zoom_level BETWEEN 2 AND 4 AND geometry && bbox UNION ALL - -- etldoc: landcover_z5 -> layer_landcover:z5_7 + -- etldoc: landcover_z5 -> layer_landcover:z5_6 SELECT * FROM landcover_z5 - WHERE zoom_level BETWEEN 5 AND 7 AND geometry && bbox + WHERE zoom_level BETWEEN 5 AND 6 AND geometry && bbox + UNION ALL + -- etldoc: landcover_z7 -> layer_landcover:z7 + SELECT * + FROM landcover_z7 WHERE zoom_level = 7 AND geometry && bbox UNION ALL -- etldoc: landcover_z8 -> layer_landcover:z8 SELECT * diff --git a/layers/landcover/mapping.yaml b/layers/landcover/mapping.yaml index 00b0c3b..b9f4511 100644 --- a/layers/landcover/mapping.yaml +++ b/layers/landcover/mapping.yaml @@ -1,6 +1,12 @@ generalized_tables: + # etldoc: imposm3 -> osm_landcover_polygon_gen7 + landcover_polygon_gen7: + source: landcover_polygon_gen6 + sql_filter: area>power(ZRES5,2) + tolerance: ZRES7 + # etldoc: imposm3 -> osm_landcover_polygon_gen6 landcover_polygon_gen6: source: landcover_polygon_gen5 diff --git a/layers/place/city.sql b/layers/place/city.sql index 879a1b9..de7977a 100644 --- a/layers/place/city.sql +++ b/layers/place/city.sql @@ -38,14 +38,14 @@ RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, name_de )::int AS gridrank FROM osm_city_point WHERE geometry && bbox - AND ((zoom_level = 8 AND place <= 'town'::city_place - OR (zoom_level BETWEEN 9 AND 10 AND place <= 'village'::city_place) + AND ((zoom_level = 7 AND place <= 'town'::city_place + OR (zoom_level BETWEEN 8 AND 10 AND place <= 'village'::city_place) OR (zoom_level BETWEEN 11 AND 13 AND place <= 'suburb'::city_place) OR (zoom_level >= 14) )) ) AS ranked_places - WHERE (zoom_level = 8 AND (gridrank <= 4 OR "rank" IS NOT NULL)) + WHERE (zoom_level BETWEEN 7 AND 8 AND (gridrank <= 4 OR "rank" IS NOT NULL)) OR (zoom_level = 9 AND (gridrank <= 8 OR "rank" IS NOT NULL)) OR (zoom_level = 10 AND (gridrank <= 12 OR "rank" IS NOT NULL)) OR (zoom_level BETWEEN 11 AND 12 AND (gridrank <= 14 OR "rank" IS NOT NULL))