diff --git a/data.yml b/data.yml index 0d6d9fb..e813cc0 100644 --- a/data.yml +++ b/data.yml @@ -98,7 +98,25 @@ Layer: UNION ALL SELECT * FROM boundary_z5 WHERE z(!scale_denominator!) BETWEEN 5 AND 6 UNION ALL - SELECT * FROM boundary_z7 WHERE z(!scale_denominator!) >= 7 + SELECT * FROM boundary_z7 WHERE z(!scale_denominator!) = 7 + UNION ALL + SELECT ST_Simplify(geom, 400) AS geom, admin_level, scalerank, class + FROM boundary_z8 WHERE z(!scale_denominator!) = 8 + UNION ALL + SELECT ST_Simplify(geom, 320) AS geom, admin_level, scalerank, class + FROM boundary_z8 WHERE z(!scale_denominator!) = 9 + UNION ALL + SELECT ST_Simplify(geom, 150) AS geom, admin_level, scalerank, class + FROM boundary_z10 WHERE z(!scale_denominator!) = 10 + UNION ALL + SELECT ST_Simplify(geom, 100) AS geom, admin_level, scalerank, class + FROM boundary_z10 WHERE z(!scale_denominator!) = 11 + UNION ALL + SELECT ST_Simplify(geom, 50) AS geom, admin_level, scalerank, class + FROM boundary_z10 WHERE z(!scale_denominator!) = 12 + UNION ALL + SELECT geom, admin_level, scalerank, class + FROM boundary_z10 WHERE z(!scale_denominator!) >= 13 ) AS admin WHERE geom && !bbox! ) AS data diff --git a/schema/layers/boundary.sql b/schema/layers/boundary.sql index afaf5ab..350cd7c 100644 --- a/schema/layers/boundary.sql +++ b/schema/layers/boundary.sql @@ -71,3 +71,17 @@ CREATE OR REPLACE VIEW boundary_z7 AS ( WHERE featurecla = 'Adm-1 boundary' ); + +CREATE OR REPLACE VIEW boundary_z8 AS ( + SELECT way AS geom, level AS admin_level, + NULL AS scalerank, NULL AS class + FROM admin_line + WHERE level <= 4 +); + +CREATE OR REPLACE VIEW boundary_z10 AS ( + SELECT way AS geom, level AS admin_level, + NULL AS scalerank, NULL AS class + FROM admin_line + WHERE level <= 8 +);