Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
math1985 committed Feb 4, 2018
1 parent 106c79f commit 75ac5be
Show file tree
Hide file tree
Showing 2 changed files with 97 additions and 26 deletions.
46 changes: 29 additions & 17 deletions admin.mss
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@admin-boundaries: #ac46ac;
@admin-boundaries-maritime: darken(@water-color,15%);
@admin-boundaries-maritime: darken(@water-color,10%);

/* For performance reasons, the admin border layers are split into three groups
for low, middle and high zoom levels.
Expand All @@ -8,16 +8,19 @@ overlapping borders correctly.
*/

#admin-low-zoom[zoom < 11],
#admin-low-zoom-maritime[zoom < 11],
#admin-mid-zoom[zoom >= 11][zoom < 13],
#admin-high-zoom[zoom >= 13] {
#admin-mid-zoom-maritime[zoom >= 11][zoom < 13],
#admin-high-zoom[zoom >= 13],
#admin-high-zoom-maritime[zoom >= 13] {
[admin_level = '2'] {
[zoom >= 4] {
background/line-join: bevel;
background/line-color: white;
background/line-width: 1.2;
line-join: bevel;
line-color: @admin-boundaries;
[maritime = 'yes'] {
.admin-maritime {
line-color: @admin-boundaries-maritime;
}
line-width: 1.2;
Expand Down Expand Up @@ -47,7 +50,7 @@ overlapping borders correctly.
background/line-width: 0.6;
line-join: bevel;
line-color: @admin-boundaries;
[maritime = 'yes'] {
.admin-maritime {
line-color: @admin-boundaries-maritime;
}
line-width: 0.6;
Expand All @@ -70,7 +73,7 @@ overlapping borders correctly.
background/line-color: white;
background/line-width: 0.4;
line-color: @admin-boundaries;
[maritime = 'yes'] {
.admin-maritime {
line-color: @admin-boundaries-maritime;
}
line-join: bevel;
Expand Down Expand Up @@ -114,19 +117,23 @@ overlapping borders correctly.
The SQL has `ORDER BY admin_level`, so the boundary with the lowest
admin_level is rendered on top, and therefore the only visible boundary.
*/
opacity: 0.4;
comp-op: darken;
.admin { /* exclude maritime borders */
opacity: 0.4;
comp-op: darken;
}
}

#admin-mid-zoom[zoom >= 11][zoom < 13],
#admin-high-zoom[zoom >= 13] {
#admin-mid-zoom-maritime[zoom >= 11][zoom < 13],
#admin-high-zoom[zoom >= 13],
#admin-high-zoom-maritime[zoom >= 13] {
[admin_level = '5'][zoom >= 11] {
background/line-join: bevel;
background/line-color: white;
background/line-width: 2;
line-join: bevel;
line-color: @admin-boundaries;
[maritime = 'yes'] {
.admin-maritime {
line-color: @admin-boundaries-maritime;
}
line-width: 2;
Expand All @@ -139,7 +146,7 @@ overlapping borders correctly.
background/line-width: 2;
line-join: bevel;
line-color: @admin-boundaries;
[maritime = 'yes'] {
.admin-maritime {
line-color: @admin-boundaries-maritime;
}
line-width: 2;
Expand All @@ -154,19 +161,22 @@ overlapping borders correctly.
background/line-width: 1.5;
line-join: bevel;
line-color: @admin-boundaries;
[maritime = 'yes'] {
.admin-maritime {
line-color: @admin-boundaries-maritime;
}
line-width: 1.5;
line-dasharray: 5,2;
line-clip: false;
}
}
opacity: 0.5;
comp-op: darken;
.admin { /* exclude maritime borders */
opacity: 0.5;
comp-op: darken;
}
}

#admin-high-zoom[zoom >= 13] {
#admin-high-zoom[zoom >= 13],
#admin-high-zoom-maritime[zoom >= 13] {
[admin_level = '9'],
[admin_level = '10'] {
[zoom >= 13] {
Expand All @@ -175,16 +185,18 @@ overlapping borders correctly.
background/line-width: 2;
line-join: bevel;
line-color: @admin-boundaries;
[maritime = 'yes'] {
.admin-maritime {
line-color: @admin-boundaries-maritime;
}
line-width: 2;
line-dasharray: 2,3;
line-clip: false;
}
}
opacity: 0.5;
comp-op: darken;
.admin { /* exclude maritime borders */
opacity: 0.5;
comp-op: darken;
}
}

#admin-text[zoom >= 16] {
Expand Down
77 changes: 68 additions & 9 deletions project.mml
Original file line number Diff line number Diff line change
Expand Up @@ -1123,61 +1123,120 @@ Layer:
properties:
minzoom: 11
- id: admin-low-zoom
class: admin
geometry: linestring
<<: *extents
Datasource:
<<: *osm2pgsql
table: |-
(SELECT
way,
admin_level,
tags->'maritime' as maritime
admin_level
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:
minzoom: 4
maxzoom: 10
- id: admin-low-zoom-maritime
class: admin-maritime
geometry: linestring
<<: *extents
Datasource:
<<: *osm2pgsql
table: |-
(SELECT
way,
admin_level
FROM planet_osm_roads
WHERE boundary = 'administrative'
AND admin_level IN ('0', '1', '2', '3', '4')
AND osm_id > 0
AND tags->'maritime' = 'yes'
ORDER BY admin_level DESC
) AS admin_low_zoom_maritime
properties:
minzoom: 4
maxzoom: 10
- id: admin-mid-zoom
class: admin
geometry: linestring
<<: *extents
Datasource:
<<: *osm2pgsql
table: |-
(SELECT
way,
admin_level,
boundary
admin_level
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:
minzoom: 11
maxzoom: 12
- id: admin-mid-zoom-maritime
class: admin-maritime
geometry: linestring
<<: *extents
Datasource:
<<: *osm2pgsql
table: |-
(SELECT
way,
admin_level
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 tags->'maritime' = 'yes'
ORDER BY admin_level DESC
) AS admin_mid_zoom_maritime
properties:
minzoom: 11
maxzoom: 12
- id: admin-high-zoom
class: admin
geometry: linestring
<<: *extents
Datasource:
<<: *osm2pgsql
table: |-
(SELECT
way,
admin_level,
boundary
admin_level
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:
minzoom: 13
- id: admin-high-zoom
class: admin-maritime
geometry: linestring
<<: *extents
Datasource:
<<: *osm2pgsql
table: |-
(SELECT
way,
admin_level
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 tags->'maritime' = 'yes'
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_maritime
properties:
minzoom: 13
- id: power-minorline
geometry: linestring
<<: *extents
Expand Down

0 comments on commit 75ac5be

Please sign in to comment.