From ab68fdd149e84c907b3fbc4c3a5edc4afeeb113c Mon Sep 17 00:00:00 2001 From: math1985 Date: Mon, 20 Nov 2017 16:25:31 +0100 Subject: [PATCH] Render maritime admin boundaries less prominently This requires rendering admin boundaries based on the individual lines, rather than the entire polygons. * This fixes #621 * This possibly impacts solutions to #723, #2234m and #2663. --- admin.mss | 22 ++++++++++++++++++++++ project.mml | 15 +++++++++------ 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/admin.mss b/admin.mss index 38febb600f..be68a95f36 100644 --- a/admin.mss +++ b/admin.mss @@ -1,4 +1,5 @@ @admin-boundaries: #ac46ac; +@admin-boundaries-maritime: darken(@water-color,15%); /* For performance reasons, the admin border layers are split into three groups for low, middle and high zoom levels. @@ -16,6 +17,9 @@ overlapping borders correctly. background/line-width: 1.2; line-join: bevel; line-color: @admin-boundaries; + [maritime = 'yes'] { + line-color: @admin-boundaries-maritime; + } line-width: 1.2; } [zoom >= 5] { @@ -43,6 +47,9 @@ overlapping borders correctly. background/line-width: 0.6; line-join: bevel; line-color: @admin-boundaries; + [maritime = 'yes'] { + line-color: @admin-boundaries-maritime; + } line-width: 0.6; } [zoom >= 7] { @@ -63,6 +70,9 @@ overlapping borders correctly. background/line-color: white; background/line-width: 0.4; line-color: @admin-boundaries; + [maritime = 'yes'] { + line-color: @admin-boundaries-maritime; + } line-join: bevel; line-width: 0.4; line-clip: false; @@ -116,6 +126,9 @@ overlapping borders correctly. background/line-width: 2; line-join: bevel; line-color: @admin-boundaries; + [maritime = 'yes'] { + line-color: @admin-boundaries-maritime; + } line-width: 2; line-dasharray: 6,3,2,3,2,3; line-clip: false; @@ -126,6 +139,9 @@ overlapping borders correctly. background/line-width: 2; line-join: bevel; line-color: @admin-boundaries; + [maritime = 'yes'] { + line-color: @admin-boundaries-maritime; + } line-width: 2; line-dasharray: 6,3,2,3; line-clip: false; @@ -138,6 +154,9 @@ overlapping borders correctly. background/line-width: 1.5; line-join: bevel; line-color: @admin-boundaries; + [maritime = 'yes'] { + line-color: @admin-boundaries-maritime; + } line-width: 1.5; line-dasharray: 5,2; line-clip: false; @@ -156,6 +175,9 @@ overlapping borders correctly. background/line-width: 2; line-join: bevel; line-color: @admin-boundaries; + [maritime = 'yes'] { + line-color: @admin-boundaries-maritime; + } line-width: 2; line-dasharray: 2,3; line-clip: false; diff --git a/project.mml b/project.mml index ccd57748f9..755439bcb5 100644 --- a/project.mml +++ b/project.mml @@ -1093,11 +1093,12 @@ Layer: table: |- (SELECT way, - admin_level + admin_level, + tags->'maritime' as maritime FROM planet_osm_roads WHERE boundary = 'administrative' AND admin_level IN ('0', '1', '2', '3', '4') - AND osm_id < 0 + AND osm_id > 0 ORDER BY admin_level DESC ) AS admin_low_zoom properties: @@ -1111,11 +1112,12 @@ Layer: table: |- (SELECT way, - admin_level + admin_level, + boundary FROM planet_osm_roads WHERE boundary = 'administrative' AND admin_level IN ('0', '1', '2', '3', '4', '5', '6', '7', '8') - AND osm_id < 0 + AND osm_id > 0 ORDER BY admin_level DESC ) AS admin_mid_zoom properties: @@ -1129,11 +1131,12 @@ Layer: table: |- (SELECT way, - admin_level + admin_level, + boundary FROM planet_osm_roads WHERE boundary = 'administrative' AND admin_level IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10') - AND osm_id < 0 + AND osm_id > 0 ORDER BY admin_level::integer DESC -- With 10 as a valid value, we need to do a numeric ordering, not a text ordering ) AS admin_high_zoom properties: