Show boundaries with high admin level later
This commit is contained in:
parent
89eb088131
commit
e792b8486c
@ -76,16 +76,29 @@ CREATE OR REPLACE VIEW boundary_z8 AS (
|
|||||||
SELECT way AS geom, level AS admin_level,
|
SELECT way AS geom, level AS admin_level,
|
||||||
NULL AS scalerank, NULL AS class
|
NULL AS scalerank, NULL AS class
|
||||||
FROM admin_line
|
FROM admin_line
|
||||||
WHERE level <= 4
|
WHERE level <= 4 AND ST_Length(way) > 10000
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE OR REPLACE VIEW boundary_z10 AS (
|
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 <= 6
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW boundary_z11 AS (
|
||||||
SELECT way AS geom, level AS admin_level,
|
SELECT way AS geom, level AS admin_level,
|
||||||
NULL AS scalerank, NULL AS class
|
NULL AS scalerank, NULL AS class
|
||||||
FROM admin_line
|
FROM admin_line
|
||||||
WHERE level <= 8
|
WHERE level <= 8
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW boundary_z12 AS (
|
||||||
|
SELECT way AS geom, level AS admin_level,
|
||||||
|
NULL AS scalerank, NULL AS class
|
||||||
|
FROM admin_line
|
||||||
|
);
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION layer_boundary (bbox geometry, zoom_level int)
|
CREATE OR REPLACE FUNCTION layer_boundary (bbox geometry, zoom_level int)
|
||||||
RETURNS TABLE(geom geometry, admin_level int, scalerank int, class text) AS $$
|
RETURNS TABLE(geom geometry, admin_level int, scalerank int, class text) AS $$
|
||||||
SELECT geom, admin_level, scalerank::int, class FROM (
|
SELECT geom, admin_level, scalerank::int, class FROM (
|
||||||
@ -111,12 +124,12 @@ RETURNS TABLE(geom geometry, admin_level int, scalerank int, class text) AS $$
|
|||||||
FROM boundary_z10 WHERE geom && bbox AND zoom_level = 10
|
FROM boundary_z10 WHERE geom && bbox AND zoom_level = 10
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT ST_Simplify(geom, 100) AS geom, admin_level, scalerank, class
|
SELECT ST_Simplify(geom, 100) AS geom, admin_level, scalerank, class
|
||||||
FROM boundary_z10 WHERE geom && bbox AND zoom_level = 11
|
FROM boundary_z11 WHERE geom && bbox AND zoom_level = 11
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT ST_Simplify(geom, 50) AS geom, admin_level, scalerank, class
|
SELECT ST_Simplify(geom, 50) AS geom, admin_level, scalerank, class
|
||||||
FROM boundary_z10 WHERE geom && bbox AND zoom_level = 12
|
FROM boundary_z12 WHERE geom && bbox AND zoom_level = 12
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT geom, admin_level, scalerank, class
|
SELECT geom, admin_level, scalerank, class
|
||||||
FROM boundary_z10 WHERE geom && bbox AND zoom_level >= 13
|
FROM boundary_z12 WHERE geom && bbox AND zoom_level >= 13
|
||||||
) AS zoom_levels;
|
) AS zoom_levels;
|
||||||
$$ LANGUAGE SQL IMMUTABLE;
|
$$ LANGUAGE SQL IMMUTABLE;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user