From e5ecec231c945365c91182ed92c759bd9aebef0a Mon Sep 17 00:00:00 2001 From: Florimond Date: Sun, 10 May 2020 18:36:04 +0200 Subject: [PATCH 01/10] Optimize #roads_low, 140 xml lines of rules to 92, kind of useless, but just to practice. --- roads.mss | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/roads.mss b/roads.mss index 05373e44..ca5a6c31 100644 --- a/roads.mss +++ b/roads.mss @@ -6,26 +6,18 @@ // and trunks. #roads_low[zoom>=5][zoom<=8] { - [type='railway'] { - line-color: @rail-line; - } + line-color: @motorway-trunk-fill; - [type='motorway'] { - line-color: @motorway-trunk-fill; - [bicycle='yes'] { - line-color: @motorway-trunk-cycle-fill; - } - } - [type='trunk'] { + [type='motorway'][bicycle='yes'], + [type='trunk'][bicycle!='no']{ line-color: @motorway-trunk-cycle-fill; - [bicycle='no'] { - line-color: @motorway-trunk-fill; - } } - [zoom >= 5] { - line-width: 0.3; + [type='railway'] { + line-color: @rail-line; } + + line-width: 0.3; [zoom >= 6] { line-width: 0.4; } @@ -2395,4 +2387,4 @@ [zoom >= 18] { line-width: 14; } -} +}/**/ From 92c61dade6a3e1c905c373bb37e6dd796203be6c Mon Sep 17 00:00:00 2001 From: Florimond Date: Mon, 11 May 2020 00:11:42 +0200 Subject: [PATCH 02/10] Remove link and "highway=railway" (useless and doesn't exist) from #roads_med and optimize code. --- project.mml | 6 +++--- roads.mss | 51 ++++++++++++--------------------------------------- 2 files changed, 15 insertions(+), 42 deletions(-) diff --git a/project.mml b/project.mml index 177a0f80..99e4dc8d 100644 --- a/project.mml +++ b/project.mml @@ -748,13 +748,13 @@ Layer: CASE WHEN bicycle IS NOT NULL THEN bicycle WHEN tags->'motorroad' IN ('yes') THEN 'no' - WHEN highway NOT IN ('motorway', 'motorway_link') AND tags->'vehicle' IS NOT NULL THEN tags->'vehicle' - WHEN highway NOT IN ('motorway', 'motorway_link') AND access IS NOT NULL THEN access + WHEN highway NOT IN ('motorway') AND tags->'vehicle' IS NOT NULL THEN tags->'vehicle' + WHEN highway NOT IN ('motorway') AND access IS NOT NULL THEN access ELSE NULL END AS can_bicycle FROM planet_osm_roads WHERE (railway IN ('rail') - OR highway IN ('motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'secondary', 'railway')) + OR highway IN ('motorway', 'trunk', 'primary', 'secondary')) AND way && !bbox! ORDER BY CASE WHEN railway IS NOT NULL THEN 0 diff --git a/roads.mss b/roads.mss index ca5a6c31..a5412c60 100644 --- a/roads.mss +++ b/roads.mss @@ -33,61 +33,34 @@ // as well. #roads_med[zoom >= 9] { + line-color: @motorway-trunk-fill; - [type='railway'] { - line-width: 1; - line-color: @rail-line; - } - - [type='motorway'], - [type='motorway_link'] { - line-color: @motorway-trunk-fill; - [can_bicycle='yes'] { - line-color: @motorway-trunk-cycle-fill; - } - } - [type='trunk'], - [type='trunk_link'] { - line-color: @motorway-trunk-cycle-fill; - [can_bicycle='no'] { - line-color: @motorway-trunk-fill; - } + [type='motorway'][can_bicycle='yes'], + [type='trunk'][can_bicycle!='no'] { + line-color: @motorway-trunk-cycle-fill; } [type='primary'] { line-color: @primary-case; } - [type='secondary'], - [type='tertiary'] { + [type='secondary'] { line-color: @standard-case; } - [type='motorway'], - [type='trunk'], - [type='primary'], - [type='motorway_link'], - [type='trunk_link'] { - line-width: 1; + [type='railway'] { + line-color: @rail-line; } - [type='secondary'], - [type='tertiary'] + + line-width: 1; + [type='secondary'] { line-width: 0.6; - } - - [zoom >= 10] { - [type='motorway'], - [type='trunk'], - [type='primary'], - [type='motorway_link'], - [type='trunk_link'], - [type='secondary'], - [type='tertiary'] { + [zoom >= 10] { line-width: 1; } } } - +/* // At higher levels the roads become more complex. We're now showing //more than just automobile routes - railways, footways, and cycleways //come in as well. From b1ff7c4710b52614142e45eee61d763252b9c420 Mon Sep 17 00:00:00 2001 From: Florimond Date: Wed, 13 May 2020 15:39:52 +0200 Subject: [PATCH 03/10] Optimize road outline and bicycle routes. --- roads.mss | 553 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 310 insertions(+), 243 deletions(-) diff --git a/roads.mss b/roads.mss index a5412c60..810116cd 100644 --- a/roads.mss +++ b/roads.mss @@ -60,7 +60,7 @@ } } } -/* + // At higher levels the roads become more complex. We're now showing //more than just automobile routes - railways, footways, and cycleways //come in as well. @@ -415,241 +415,261 @@ #roads_high::outline[zoom>=11], #tunnel::outline[zoom>=11], #bridge::outline[zoom>=11] { - line-cap: round; - line-join: round; - line-color: @standard-case; - [type='motorway'], - [type='motorway_link'], [type='trunk'], - [type='trunk_link'] { - line-color: @motorway-trunk-case; - } [type='primary'], - [type='primary_link'] { - line-color: @primary-case; - } [type='secondary'], - [type='secondary_link'] { - line-color: @secondary-case; - } [type='tertiary'], + [type='living_street'], + [type='road'], + [type='unclassified'], + [type='residential'], [type='tertiary_link'], - [type='unclassified'] { - line-color: @tertiary-case; - } - [type='pedestrian'], - [type='living_street'] { - line-color: @pedestrian-case; - } + [type='secondary_link'], + [type='primary_link'], + [type='trunk_link'], + [type='motorway_link'], + [type='service'], + [type='pedestrian'] + { + line-cap: round; + line-join: round; + line-color: @standard-case; - // -- widths -- - line-width: 0; - [zoom>=11] { - [type='motorway'], [type='trunk'] { line-width: @rdz11_motorway_trunk + (2 * @rdz11_motorway_trunk_outline); } - [type='primary'] { line-width: @rdz11_primary + (2 * @rdz11_primary_outline); } - [type='secondary'] { line-width: @rdz11_secondary + (2 * @rdz11_secondary_outline); } - [type='tertiary'] { line-width: @rdz11_tertiary + (2 * @rdz11_tertiary_outline); } - [type='living_street'] { line-width: @rdz11_living_street + (2 * @rdz11_living_street_outline); } - [type='road'] { line-width: @rdz11_road + (2 * @rdz11_road_outline); } - [type='unclassified'] { line-width: @rdz11_unclassified + (2 * @rdz11_unclassified_outline); } - [type='residential'] { line-width: @rdz11_residential + (2 * @rdz11_residential_outline); } - [type='tertiary_link'] { line-width: @rdz11_tertiary_link + (2 * @rdz11_tertiary_link_outline); } - [type='secondary_link'] { line-width: @rdz11_secondary_link + (2 * @rdz11_secondary_link_outline); } - [type='primary_link'] { line-width: @rdz11_primary_link + (2 * @rdz11_primary_link_outline); } - [type='trunk_link'] { line-width: @rdz11_trunk_link + (2 * @rdz11_trunk_link_outline); } - [type='motorway_link'] { line-width: @rdz11_motorway_link + (2 * @rdz11_motorway_link_outline); } - // No minor bridges yet - [type='service'] { line-width: @rdz11_service + (2 * @rdz11_service_outline); } - // bridleway, footway are not shown at Z11 - [type='pedestrian'] { line-width: @rdz11_pedestrian + (2 * @rdz11_pedestrian_outline); } - } - [zoom>=12] { - [type='motorway'], [type='trunk'] { line-width: @rdz12_motorway_trunk + (2 * @rdz12_motorway_trunk_outline); } - [type='primary'] { line-width: @rdz12_primary + (2 * @rdz12_primary_outline); } - [type='secondary'] { line-width: @rdz12_secondary + (2 * @rdz12_secondary_outline); } - [type='tertiary'] { line-width: @rdz12_tertiary + (2 * @rdz12_tertiary_outline); } - [type='living_street'] { line-width: @rdz12_living_street + (2 * @rdz12_living_street_outline); } - [type='road'] { line-width: @rdz12_road + (2 * @rdz12_road_outline); } - [type='unclassified'] { line-width: @rdz12_unclassified + (2 * @rdz12_unclassified_outline); } - [type='residential'] { line-width: @rdz12_residential + (2 * @rdz12_residential_outline); } - [type='tertiary_link'] { line-width: @rdz12_tertiary_link + (2 * @rdz12_tertiary_link_outline); } - [type='secondary_link'] { line-width: @rdz12_secondary_link + (2 * @rdz12_secondary_link_outline); } - [type='primary_link'] { line-width: @rdz12_primary_link + (2 * @rdz12_primary_link_outline); } - [type='trunk_link'] { line-width: @rdz12_trunk_link + (2 * @rdz12_trunk_link_outline); } - [type='motorway_link'] { line-width: @rdz12_motorway_link + (2 * @rdz12_motorway_link_outline); } - // No minor bridges yet - [type='service'] { line-width: @rdz12_service + (2 * @rdz12_service_outline); } - [type='pedestrian'] { line-width: @rdz12_pedestrian + (2 * @rdz12_pedestrian_outline); } - } - [zoom>=13] { - [type='motorway'], [type='trunk'] { line-width: @rdz13_motorway_trunk + (2 * @rdz13_motorway_trunk_outline); } - [type='primary'] { line-width: @rdz13_primary + (2 * @rdz13_primary_outline); } - [type='secondary'] { line-width: @rdz13_secondary + (2 * @rdz13_secondary_outline); } - [type='living_street'] { line-width: @rdz13_living_street + (2 * @rdz13_living_street_outline); } - [type='road'] { line-width: @rdz13_road + (2 * @rdz13_road_outline); } - [type='unclassified'] { line-width: @rdz13_unclassified + (2 * @rdz13_unclassified_outline); } - [type='residential'] { line-width: @rdz13_residential + (2 * @rdz13_residential_outline); } - [type='tertiary_link'] { line-width: @rdz13_tertiary_link + (2 * @rdz13_tertiary_link_outline); } - [type='secondary_link'] { line-width: @rdz13_secondary_link + (2 * @rdz13_secondary_link_outline); } - [type='primary_link'] { line-width: @rdz13_primary_link + (2 * @rdz13_primary_link_outline); } - [type='trunk_link'] { line-width: @rdz13_trunk_link + (2 * @rdz13_trunk_link_outline); } - [type='motorway_link'] { line-width: @rdz13_motorway_link + (2 * @rdz13_motorway_link_outline); } - [type='tertiary'] { line-width: @rdz13_tertiary + (2 * @rdz13_tertiary_outline); } - // No minor bridges yet - [type='service'] { line-width: @rdz13_service + (2 * @rdz13_service_outline); } - [type='pedestrian'] { line-width: @rdz13_pedestrian + (2 * @rdz13_pedestrian_outline); } - } - [zoom>=14] { - [type='motorway'], [type='trunk'] { line-width: @rdz14_motorway_trunk + (2 * @rdz14_motorway_trunk_outline); } - [type='primary'] { line-width: @rdz14_primary + (2 * @rdz14_primary_outline); } - [type='secondary'] { line-width: @rdz14_secondary + (2 * @rdz14_secondary_outline); } - [type='tertiary'] { line-width: @rdz14_tertiary + (2 * @rdz14_tertiary_outline); } - [type='living_street'] { line-width: @rdz14_living_street + (2 * @rdz14_living_street_outline); } - [type='road'] { line-width: @rdz14_road + (2 * @rdz14_road_outline); } - [type='unclassified'] { line-width: @rdz14_unclassified + (2 * @rdz14_unclassified_outline); } - [type='residential'] { line-width: @rdz14_residential + (2 * @rdz14_residential_outline); } - [type='tertiary_link'] { line-width: @rdz14_tertiary_link + (2 * @rdz14_tertiary_link_outline); } - [type='secondary_link'] { line-width: @rdz14_secondary_link + (2 * @rdz14_secondary_link_outline); } - [type='primary_link'] { line-width: @rdz14_primary_link + (2 * @rdz14_primary_link_outline); } - [type='trunk_link'] { line-width: @rdz14_trunk_link + (2 * @rdz14_trunk_link_outline); } - [type='motorway_link'] { line-width: @rdz14_motorway_link + (2 * @rdz14_motorway_link_outline); } - // No minor bridges yet - [type='service'] { line-width: @rdz14_service + (2 * @rdz14_service_outline); } - [type='pedestrian'] { line-width: @rdz14_pedestrian + (2 * @rdz14_pedestrian_outline); } - } - [zoom>=15] { - [type='motorway'], [type='trunk'] { line-width: @rdz15_motorway_trunk + (2 * @rdz15_motorway_trunk_outline); } - [type='primary'] { line-width: @rdz15_primary + (2 * @rdz15_primary_outline); } - [type='secondary'] { line-width: @rdz15_secondary + (2 * @rdz15_secondary_outline); } - [type='tertiary'] { line-width: @rdz15_tertiary + (2 * @rdz15_tertiary_outline); } - [type='living_street'] { line-width: @rdz15_living_street + (2 * @rdz15_living_street_outline); } - [type='road'] { line-width: @rdz15_road + (2 * @rdz15_road_outline); } - [type='unclassified'] { line-width: @rdz15_unclassified + (2 * @rdz15_unclassified_outline); } - [type='residential'] { line-width: @rdz15_residential + (2 * @rdz15_residential_outline); } - [type='tertiary_link'] { line-width: @rdz15_tertiary_link + (2 * @rdz15_tertiary_link_outline); } - [type='secondary_link'] { line-width: @rdz15_secondary_link + (2 * @rdz15_secondary_link_outline); } - [type='primary_link'] { line-width: @rdz15_primary_link + (2 * @rdz15_primary_link_outline); } - [type='trunk_link'] { line-width: @rdz15_trunk_link + (2 * @rdz15_trunk_link_outline); } - [type='motorway_link'] { line-width: @rdz15_motorway_link + (2 * @rdz15_motorway_link_outline); } - [type='service'] { line-width: @rdz15_service + (2 * @rdz15_service_outline); } - [type='pedestrian'] { line-width: @rdz15_pedestrian + (2 * @rdz15_pedestrian_outline); } - } - [zoom>=16] { - [type='motorway'], [type='trunk'] { line-width: @rdz16_motorway_trunk + (2 * @rdz16_motorway_trunk_outline); } - [type='primary'] { line-width: @rdz16_primary + (2 * @rdz16_primary_outline); } - [type='secondary'] { line-width: @rdz16_secondary + (2 * @rdz16_secondary_outline); } - [type='tertiary'] { line-width: @rdz16_tertiary + (2 * @rdz16_tertiary_outline); } - [type='living_street'] { line-width: @rdz16_living_street + (2 * @rdz16_living_street_outline); } - [type='road'] { line-width: @rdz16_road + (2 * @rdz16_road_outline); } - [type='unclassified'] { line-width: @rdz16_unclassified + (2 * @rdz16_unclassified_outline); } - [type='residential'] { line-width: @rdz16_residential + (2 * @rdz16_residential_outline); } - [type='tertiary_link'] { line-width: @rdz16_tertiary_link + (2 * @rdz16_tertiary_link_outline); } - [type='secondary_link'] { line-width: @rdz16_secondary_link + (2 * @rdz16_secondary_link_outline); } - [type='primary_link'] { line-width: @rdz16_primary_link + (2 * @rdz16_primary_link_outline); } - [type='trunk_link'] { line-width: @rdz16_trunk_link + (2 * @rdz16_trunk_link_outline); } - [type='motorway_link'] { line-width: @rdz16_motorway_link + (2 * @rdz16_motorway_link_outline); } - [type='service'] { line-width: @rdz16_service + (2 * @rdz16_service_outline); } - [type='pedestrian'] { line-width: @rdz16_pedestrian + (2 * @rdz16_pedestrian_outline); } - } - [zoom>=17] { - [type='motorway'], [type='trunk'] { line-width: @rdz17_motorway_trunk + (2 * @rdz17_motorway_trunk_outline); } - [type='primary'] { line-width: @rdz17_primary + (2 * @rdz17_primary_outline); } - [type='secondary'] { line-width: @rdz17_secondary + (2 * @rdz17_secondary_outline); } - [type='tertiary'] { line-width: @rdz17_tertiary + (2 * @rdz17_tertiary_outline); } - [type='living_street'] { line-width: @rdz17_living_street + (2 * @rdz17_living_street_outline); } - [type='road'] { line-width: @rdz17_road + (2 * @rdz17_road_outline); } - [type='unclassified'] { line-width: @rdz17_unclassified + (2 * @rdz17_unclassified_outline); } - [type='residential'] { line-width: @rdz17_residential + (2 * @rdz17_residential_outline); } - [type='tertiary_link'] { line-width: @rdz17_tertiary_link + (2 * @rdz17_tertiary_link_outline); } - [type='secondary_link'] { line-width: @rdz17_secondary_link + (2 * @rdz17_secondary_link_outline); } - [type='primary_link'] { line-width: @rdz17_primary_link + (2 * @rdz17_primary_link_outline); } - [type='trunk_link'] { line-width: @rdz17_trunk_link + (2 * @rdz17_trunk_link_outline); } - [type='motorway_link'] { line-width: @rdz17_motorway_link + (2 * @rdz17_motorway_link_outline); } - [type='service'] { line-width: @rdz17_service + (2 * @rdz17_service_outline); } - [type='pedestrian'] { line-width: @rdz17_pedestrian + (2 * @rdz17_pedestrian_outline); } - } - [zoom>=18] { - [type='motorway'], [type='trunk'] { line-width: @rdz18_motorway_trunk + (2 * @rdz18_motorway_trunk_outline); } - [type='primary'] { line-width: @rdz18_primary + (2 * @rdz18_primary_outline); } - [type='secondary'] { line-width: @rdz18_secondary + (2 * @rdz18_secondary_outline); } - [type='tertiary'] { line-width: @rdz18_tertiary + (2 * @rdz18_tertiary_outline); } - [type='living_street'] { line-width: @rdz18_living_street + (2 * @rdz18_living_street_outline); } - [type='road'] { line-width: @rdz18_road + (2 * @rdz18_road_outline); } - [type='unclassified'] { line-width: @rdz18_unclassified + (2 * @rdz18_unclassified_outline); } - [type='residential'] { line-width: @rdz18_residential + (2 * @rdz18_residential_outline); } - [type='tertiary_link'] { line-width: @rdz18_tertiary_link + (2 * @rdz18_tertiary_link_outline); } - [type='secondary_link'] { line-width: @rdz18_secondary_link + (2 * @rdz18_secondary_link_outline); } - [type='primary_link'] { line-width: @rdz18_primary_link + (2 * @rdz18_primary_link_outline); } - [type='trunk_link'] { line-width: @rdz18_trunk_link + (2 * @rdz18_trunk_link_outline); } - [type='motorway_link'] { line-width: @rdz18_motorway_link + (2 * @rdz18_motorway_link_outline); } - [type='service'] { line-width: @rdz18_service + (2 * @rdz18_service_outline); } - [type='pedestrian'] { line-width: @rdz18_pedestrian + (2 * @rdz18_pedestrian_outline); } - } -} + #tunnel::outline, + #bridge::outline { + line-cap: butt; + } + #tunnel::outline { + line-dasharray: 3,3; + } -#bridge::outline { - [zoom>=14] { [type='motorway'], [type='motorway_link'], [type='trunk'], - [type='trunk_link'], + [type='trunk_link'] { + line-color: @motorway-trunk-case; + } [type='primary'], - [type='primary_link'], + [type='primary_link'] { + line-color: @primary-case; + } [type='secondary'], - [type='secondary_link'], + [type='secondary_link'] { + line-color: @secondary-case; + } [type='tertiary'], [type='tertiary_link'], [type='unclassified'] { - line-color: @bridge_case; + line-color: @tertiary-case; } - } - - [zoom>=17] { - [type='bridleway'] { line-color: @land; line-width: @rdz17_bridleway + (2 * @rdz17_line_bridge_outline); } - [type='footway'] { line-color: @land; line-width: @rdz17_footway + (2 * @rdz17_line_bridge_outline); } - - [type='path'] { - line-color: @land; - line-width: @rdz17_path + (2 * @rdz17_line_bridge_outline); + [type='pedestrian'], + [type='living_street'] { + line-color: @pedestrian-case; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-color: @land; - line-width: @rdz17_cycle + (2 * @rdz17_line_bridge_outline); - [oneway='no'][oneway_bicycle='no'] { - line-width: @rdz17_cycle*1.5 + (2 * @rdz17_line_bridge_outline); + + #bridge::outline { + [zoom>=14] { + [type='motorway'], + [type='motorway_link'], + [type='trunk'], + [type='trunk_link'], + [type='primary'], + [type='primary_link'], + [type='secondary'], + [type='secondary_link'], + [type='tertiary'], + [type='tertiary_link'], + [type='unclassified'] { + line-color: @bridge_case; + } } } - } - [zoom >= 18] { - [type='bridleway'] { line-color: @land; line-width: @rdz18_bridleway + (2 * @rdz18_line_bridge_outline); } - [type='footway'] { line-color: @land; line-width: @rdz18_footway + (2 * @rdz18_line_bridge_outline); } + [type='motorway'], + [type='trunk'] { + line-width: @rdz11_motorway_trunk + (2 * @rdz11_motorway_trunk_outline); + [zoom>=12] { line-width: @rdz12_motorway_trunk + (2 * @rdz12_motorway_trunk_outline); } + [zoom>=13] { line-width: @rdz13_motorway_trunk + (2 * @rdz13_motorway_trunk_outline); } + [zoom>=14] { line-width: @rdz14_motorway_trunk + (2 * @rdz14_motorway_trunk_outline); } + [zoom>=15] { line-width: @rdz15_motorway_trunk + (2 * @rdz15_motorway_trunk_outline); } + [zoom>=16] { line-width: @rdz16_motorway_trunk + (2 * @rdz16_motorway_trunk_outline); } + [zoom>=17] { line-width: @rdz17_motorway_trunk + (2 * @rdz17_motorway_trunk_outline); } + [zoom>=18] { line-width: @rdz18_motorway_trunk + (2 * @rdz18_motorway_trunk_outline); } + } - [type='path'] { - line-color: @land; - line-width: @rdz18_path + (2 * @rdz18_line_bridge_outline); + // -- widths -- + [zoom>=11] { + // [type='motorway'], [type='trunk'] { line-width: @rdz11_motorway_trunk + (2 * @rdz11_motorway_trunk_outline); } + [type='primary'] { line-width: @rdz11_primary + (2 * @rdz11_primary_outline); } + [type='secondary'] { line-width: @rdz11_secondary + (2 * @rdz11_secondary_outline); } + [type='tertiary'] { line-width: @rdz11_tertiary + (2 * @rdz11_tertiary_outline); } + [type='living_street'] { line-width: @rdz11_living_street + (2 * @rdz11_living_street_outline); } + [type='road'] { line-width: @rdz11_road + (2 * @rdz11_road_outline); } + [type='unclassified'] { line-width: @rdz11_unclassified + (2 * @rdz11_unclassified_outline); } + [type='residential'] { line-width: @rdz11_residential + (2 * @rdz11_residential_outline); } + [type='tertiary_link'] { line-width: @rdz11_tertiary_link + (2 * @rdz11_tertiary_link_outline); } + [type='secondary_link'] { line-width: @rdz11_secondary_link + (2 * @rdz11_secondary_link_outline); } + [type='primary_link'] { line-width: @rdz11_primary_link + (2 * @rdz11_primary_link_outline); } + [type='trunk_link'] { line-width: @rdz11_trunk_link + (2 * @rdz11_trunk_link_outline); } + [type='motorway_link'] { line-width: @rdz11_motorway_link + (2 * @rdz11_motorway_link_outline); } + [type='service'] { line-width: @rdz11_service + (2 * @rdz11_service_outline); } + [type='pedestrian'] { line-width: @rdz11_pedestrian + (2 * @rdz11_pedestrian_outline); } } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-color: @land; - line-width: @rdz18_cycle + (2 * @rdz18_line_bridge_outline); - [oneway='no'][oneway_bicycle='no'] { - line-width: @rdz18_cycle*1.5 + (2 * @rdz18_line_bridge_outline); + [zoom>=12] { + // [type='motorway'], [type='trunk'] { line-width: @rdz12_motorway_trunk + (2 * @rdz12_motorway_trunk_outline); } + [type='primary'] { line-width: @rdz12_primary + (2 * @rdz12_primary_outline); } + [type='secondary'] { line-width: @rdz12_secondary + (2 * @rdz12_secondary_outline); } + [type='tertiary'] { line-width: @rdz12_tertiary + (2 * @rdz12_tertiary_outline); } + [type='living_street'] { line-width: @rdz12_living_street + (2 * @rdz12_living_street_outline); } + [type='road'] { line-width: @rdz12_road + (2 * @rdz12_road_outline); } + [type='unclassified'] { line-width: @rdz12_unclassified + (2 * @rdz12_unclassified_outline); } + [type='residential'] { line-width: @rdz12_residential + (2 * @rdz12_residential_outline); } + [type='tertiary_link'] { line-width: @rdz12_tertiary_link + (2 * @rdz12_tertiary_link_outline); } + [type='secondary_link'] { line-width: @rdz12_secondary_link + (2 * @rdz12_secondary_link_outline); } + [type='primary_link'] { line-width: @rdz12_primary_link + (2 * @rdz12_primary_link_outline); } + [type='trunk_link'] { line-width: @rdz12_trunk_link + (2 * @rdz12_trunk_link_outline); } + [type='motorway_link'] { line-width: @rdz12_motorway_link + (2 * @rdz12_motorway_link_outline); } + [type='service'] { line-width: @rdz12_service + (2 * @rdz12_service_outline); } + [type='pedestrian'] { line-width: @rdz12_pedestrian + (2 * @rdz12_pedestrian_outline); } + } + [zoom>=13] { + // [type='motorway'], [type='trunk'] { line-width: @rdz13_motorway_trunk + (2 * @rdz13_motorway_trunk_outline); } + [type='primary'] { line-width: @rdz13_primary + (2 * @rdz13_primary_outline); } + [type='secondary'] { line-width: @rdz13_secondary + (2 * @rdz13_secondary_outline); } + [type='living_street'] { line-width: @rdz13_living_street + (2 * @rdz13_living_street_outline); } + [type='road'] { line-width: @rdz13_road + (2 * @rdz13_road_outline); } + [type='unclassified'] { line-width: @rdz13_unclassified + (2 * @rdz13_unclassified_outline); } + [type='residential'] { line-width: @rdz13_residential + (2 * @rdz13_residential_outline); } + [type='tertiary_link'] { line-width: @rdz13_tertiary_link + (2 * @rdz13_tertiary_link_outline); } + [type='secondary_link'] { line-width: @rdz13_secondary_link + (2 * @rdz13_secondary_link_outline); } + [type='primary_link'] { line-width: @rdz13_primary_link + (2 * @rdz13_primary_link_outline); } + [type='trunk_link'] { line-width: @rdz13_trunk_link + (2 * @rdz13_trunk_link_outline); } + [type='motorway_link'] { line-width: @rdz13_motorway_link + (2 * @rdz13_motorway_link_outline); } + [type='tertiary'] { line-width: @rdz13_tertiary + (2 * @rdz13_tertiary_outline); } + [type='service'] { line-width: @rdz13_service + (2 * @rdz13_service_outline); } + [type='pedestrian'] { line-width: @rdz13_pedestrian + (2 * @rdz13_pedestrian_outline); } + } + [zoom>=14] { + // [type='motorway'], [type='trunk'] { line-width: @rdz14_motorway_trunk + (2 * @rdz14_motorway_trunk_outline); } + [type='primary'] { line-width: @rdz14_primary + (2 * @rdz14_primary_outline); } + [type='secondary'] { line-width: @rdz14_secondary + (2 * @rdz14_secondary_outline); } + [type='tertiary'] { line-width: @rdz14_tertiary + (2 * @rdz14_tertiary_outline); } + [type='living_street'] { line-width: @rdz14_living_street + (2 * @rdz14_living_street_outline); } + [type='road'] { line-width: @rdz14_road + (2 * @rdz14_road_outline); } + [type='unclassified'] { line-width: @rdz14_unclassified + (2 * @rdz14_unclassified_outline); } + [type='residential'] { line-width: @rdz14_residential + (2 * @rdz14_residential_outline); } + [type='tertiary_link'] { line-width: @rdz14_tertiary_link + (2 * @rdz14_tertiary_link_outline); } + [type='secondary_link'] { line-width: @rdz14_secondary_link + (2 * @rdz14_secondary_link_outline); } + [type='primary_link'] { line-width: @rdz14_primary_link + (2 * @rdz14_primary_link_outline); } + [type='trunk_link'] { line-width: @rdz14_trunk_link + (2 * @rdz14_trunk_link_outline); } + [type='motorway_link'] { line-width: @rdz14_motorway_link + (2 * @rdz14_motorway_link_outline); } + [type='service'] { line-width: @rdz14_service + (2 * @rdz14_service_outline); } + [type='pedestrian'] { line-width: @rdz14_pedestrian + (2 * @rdz14_pedestrian_outline); } + } + [zoom>=15] { + // [type='motorway'], [type='trunk'] { line-width: @rdz15_motorway_trunk + (2 * @rdz15_motorway_trunk_outline); } + [type='primary'] { line-width: @rdz15_primary + (2 * @rdz15_primary_outline); } + [type='secondary'] { line-width: @rdz15_secondary + (2 * @rdz15_secondary_outline); } + [type='tertiary'] { line-width: @rdz15_tertiary + (2 * @rdz15_tertiary_outline); } + [type='living_street'] { line-width: @rdz15_living_street + (2 * @rdz15_living_street_outline); } + [type='road'] { line-width: @rdz15_road + (2 * @rdz15_road_outline); } + [type='unclassified'] { line-width: @rdz15_unclassified + (2 * @rdz15_unclassified_outline); } + [type='residential'] { line-width: @rdz15_residential + (2 * @rdz15_residential_outline); } + [type='tertiary_link'] { line-width: @rdz15_tertiary_link + (2 * @rdz15_tertiary_link_outline); } + [type='secondary_link'] { line-width: @rdz15_secondary_link + (2 * @rdz15_secondary_link_outline); } + [type='primary_link'] { line-width: @rdz15_primary_link + (2 * @rdz15_primary_link_outline); } + [type='trunk_link'] { line-width: @rdz15_trunk_link + (2 * @rdz15_trunk_link_outline); } + [type='motorway_link'] { line-width: @rdz15_motorway_link + (2 * @rdz15_motorway_link_outline); } + [type='service'] { line-width: @rdz15_service + (2 * @rdz15_service_outline); } + [type='pedestrian'] { line-width: @rdz15_pedestrian + (2 * @rdz15_pedestrian_outline); } + } + [zoom>=16] { + // [type='motorway'], [type='trunk'] { line-width: @rdz16_motorway_trunk + (2 * @rdz16_motorway_trunk_outline); } + [type='primary'] { line-width: @rdz16_primary + (2 * @rdz16_primary_outline); } + [type='secondary'] { line-width: @rdz16_secondary + (2 * @rdz16_secondary_outline); } + [type='tertiary'] { line-width: @rdz16_tertiary + (2 * @rdz16_tertiary_outline); } + [type='living_street'] { line-width: @rdz16_living_street + (2 * @rdz16_living_street_outline); } + [type='road'] { line-width: @rdz16_road + (2 * @rdz16_road_outline); } + [type='unclassified'] { line-width: @rdz16_unclassified + (2 * @rdz16_unclassified_outline); } + [type='residential'] { line-width: @rdz16_residential + (2 * @rdz16_residential_outline); } + [type='tertiary_link'] { line-width: @rdz16_tertiary_link + (2 * @rdz16_tertiary_link_outline); } + [type='secondary_link'] { line-width: @rdz16_secondary_link + (2 * @rdz16_secondary_link_outline); } + [type='primary_link'] { line-width: @rdz16_primary_link + (2 * @rdz16_primary_link_outline); } + [type='trunk_link'] { line-width: @rdz16_trunk_link + (2 * @rdz16_trunk_link_outline); } + [type='motorway_link'] { line-width: @rdz16_motorway_link + (2 * @rdz16_motorway_link_outline); } + [type='service'] { line-width: @rdz16_service + (2 * @rdz16_service_outline); } + [type='pedestrian'] { line-width: @rdz16_pedestrian + (2 * @rdz16_pedestrian_outline); } + } + [zoom>=17] { + // [type='motorway'], [type='trunk'] { line-width: @rdz17_motorway_trunk + (2 * @rdz17_motorway_trunk_outline); } + [type='primary'] { line-width: @rdz17_primary + (2 * @rdz17_primary_outline); } + [type='secondary'] { line-width: @rdz17_secondary + (2 * @rdz17_secondary_outline); } + [type='tertiary'] { line-width: @rdz17_tertiary + (2 * @rdz17_tertiary_outline); } + [type='living_street'] { line-width: @rdz17_living_street + (2 * @rdz17_living_street_outline); } + [type='road'] { line-width: @rdz17_road + (2 * @rdz17_road_outline); } + [type='unclassified'] { line-width: @rdz17_unclassified + (2 * @rdz17_unclassified_outline); } + [type='residential'] { line-width: @rdz17_residential + (2 * @rdz17_residential_outline); } + [type='tertiary_link'] { line-width: @rdz17_tertiary_link + (2 * @rdz17_tertiary_link_outline); } + [type='secondary_link'] { line-width: @rdz17_secondary_link + (2 * @rdz17_secondary_link_outline); } + [type='primary_link'] { line-width: @rdz17_primary_link + (2 * @rdz17_primary_link_outline); } + [type='trunk_link'] { line-width: @rdz17_trunk_link + (2 * @rdz17_trunk_link_outline); } + [type='motorway_link'] { line-width: @rdz17_motorway_link + (2 * @rdz17_motorway_link_outline); } + [type='service'] { line-width: @rdz17_service + (2 * @rdz17_service_outline); } + [type='pedestrian'] { line-width: @rdz17_pedestrian + (2 * @rdz17_pedestrian_outline); } + } + [zoom>=18] { + // [type='motorway'], [type='trunk'] { line-width: @rdz18_motorway_trunk + (2 * @rdz18_motorway_trunk_outline); } + [type='primary'] { line-width: @rdz18_primary + (2 * @rdz18_primary_outline); } + [type='secondary'] { line-width: @rdz18_secondary + (2 * @rdz18_secondary_outline); } + [type='tertiary'] { line-width: @rdz18_tertiary + (2 * @rdz18_tertiary_outline); } + [type='living_street'] { line-width: @rdz18_living_street + (2 * @rdz18_living_street_outline); } + [type='road'] { line-width: @rdz18_road + (2 * @rdz18_road_outline); } + [type='unclassified'] { line-width: @rdz18_unclassified + (2 * @rdz18_unclassified_outline); } + [type='residential'] { line-width: @rdz18_residential + (2 * @rdz18_residential_outline); } + [type='tertiary_link'] { line-width: @rdz18_tertiary_link + (2 * @rdz18_tertiary_link_outline); } + [type='secondary_link'] { line-width: @rdz18_secondary_link + (2 * @rdz18_secondary_link_outline); } + [type='primary_link'] { line-width: @rdz18_primary_link + (2 * @rdz18_primary_link_outline); } + [type='trunk_link'] { line-width: @rdz18_trunk_link + (2 * @rdz18_trunk_link_outline); } + [type='motorway_link'] { line-width: @rdz18_motorway_link + (2 * @rdz18_motorway_link_outline); } + [type='service'] { line-width: @rdz18_service + (2 * @rdz18_service_outline); } + [type='pedestrian'] { line-width: @rdz18_pedestrian + (2 * @rdz18_pedestrian_outline); } + } + } + + #bridge::outline { + [zoom>=17] { + [type='bridleway'] {line-cap: butt; line-color: @land; line-width: @rdz17_bridleway + (2 * @rdz17_line_bridge_outline); } + [type='footway'] {line-cap: butt; line-color: @land; line-width: @rdz17_footway + (2 * @rdz17_line_bridge_outline); } + [type='path'] {line-cap: butt; line-color: @land; line-width: @rdz17_path + (2 * @rdz17_line_bridge_outline); } + [type='cycleway'], + [type='path'][can_bicycle='designated'] { + line-cap: butt; + line-color: @land; + line-width: @rdz17_cycle + (2 * @rdz17_line_bridge_outline); + [oneway='no'][oneway_bicycle='no'] { + line-width: @rdz17_cycle*1.5 + (2 * @rdz17_line_bridge_outline); + } } } - } -} -#tunnel::outline[zoom>=11], -#bridge::outline[zoom>=11] { - line-cap: butt; + [zoom >= 18] { + [type='bridleway'] {line-cap: butt; line-color: @land; line-width: @rdz18_bridleway + (2 * @rdz18_line_bridge_outline); } + [type='footway'] {line-cap: butt; line-color: @land; line-width: @rdz18_footway + (2 * @rdz18_line_bridge_outline); } + [type='path'] {line-cap: butt; line-color: @land; line-width: @rdz18_path + (2 * @rdz18_line_bridge_outline); } + [type='cycleway'], + [type='path'][can_bicycle='designated'] { + line-cap: butt; + line-color: @land; + line-width: @rdz18_cycle + (2 * @rdz18_line_bridge_outline); + [oneway='no'][oneway_bicycle='no'] { + line-width: @rdz18_cycle*1.5 + (2 * @rdz18_line_bridge_outline); + } + } + } + } } -#tunnel::outline[zoom>=11] { - line-dasharray: 3,3; -} // Eventually overload right border for cycleways #roads_high::outline_right[zoom>=11][cycleway_right_render='track'], @@ -2289,46 +2309,43 @@ // BICYCLE ROUTES // ================================================================== -#bicycle_routes_gen0, -#bicycle_routes_gen1, -#bicycle_routes_gen2 { +#bicycle_routes_gen0[zoom >= 2] { opacity: 0.75; -} -#bicycle_routes_bicycle_gen3 { - opacity: 0.25; -} + line-color: @icn-overlay; + [route='mtb'] { + line-color: @mtb-overlay; + } -#bicycle_routes_mtb_gen3 { - opacity: 0.5; + line-width: 1; } +#bicycle_routes_gen1[zoom >= 5] { + opacity: 0.75; + line-color: @icn-overlay; + [type='ncn'] { + line-color: @ncn-overlay; + } + [route='mtb'] { + line-color: @mtb-overlay; + } -#bicycle_routes_gen0[zoom >= 2], -#bicycle_routes_gen1[zoom >= 5], -#bicycle_routes_gen2[zoom >= 8], -#bicycle_routes_bicycle_gen3[zoom >= 11], -#bicycle_routes_mtb_gen3[zoom >= 11] { - #bicycle_routes_gen0, - #bicycle_routes_gen1, - #bicycle_routes_gen2, - #bicycle_routes_bicycle_gen3 { - [type='icn'] { - line-color: @icn-overlay; - } - [type='ncn'] { - line-color: @ncn-overlay; - } - [type='rcn'] { - line-color: @rcn-overlay; - } - [type='lcn'] { - line-color: @lcn-overlay; - } + [state='proposed'] { + line-dasharray: 6,6; } - #bicycle_routes_mtb_gen3 { - [route='mtb'] { - line-color: @mtb-overlay; - } + + line-width: 1; +} +#bicycle_routes_gen2[zoom >= 8] { + opacity: 0.75; + line-color: @icn-overlay; + [type='ncn'] { + line-color: @ncn-overlay; + } + [type='rcn'] { + line-color: @rcn-overlay; + } + [route='mtb'] { + line-color: @mtb-overlay; } [state='proposed'] { @@ -2342,6 +2359,54 @@ [zoom >= 10] { line-width: 3; } +} + +#bicycle_routes_bicycle_gen3[zoom >= 11] { + opacity: 0.25; + line-color: @icn-overlay; + [type='ncn'] { + line-color: @ncn-overlay; + } + [type='rcn'] { + line-color: @rcn-overlay; + } + [type='lcn'] { + line-color: @lcn-overlay; + } + + [state='proposed'] { + line-dasharray: 6,6; + } + + line-width: 3; + [zoom >= 12] { + line-width: 4; + } + [zoom >= 14] { + line-width: 5; + } + [zoom >= 15] { + line-width: 6; + } + [zoom >= 16] { + line-width: 7; + } + [zoom >= 17] { + line-width: 10; + } + [zoom >= 18] { + line-width: 14; + } +} +#bicycle_routes_mtb_gen3[zoom >= 11] { + opacity: 0.5; + line-color: @mtb-overlay; + + [state='proposed'] { + line-dasharray: 6,6; + } + + line-width: 3; [zoom >= 12] { line-width: 4; } @@ -2360,4 +2425,6 @@ [zoom >= 18] { line-width: 14; } -}/**/ +} + +/**/ From 97f8dd4abf4e80287eae66a0cedd0791d0871ddd Mon Sep 17 00:00:00 2001 From: Florimond Date: Wed, 13 May 2020 15:55:41 +0200 Subject: [PATCH 04/10] Optimize aeroway, remove apron (was not rendered) render from z11 (useless at z10). --- project.mml | 4 ++-- roads.mss | 15 +++++---------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/project.mml b/project.mml index 99e4dc8d..8ef5a2c5 100644 --- a/project.mml +++ b/project.mml @@ -431,11 +431,11 @@ Layer: ( SELECT way, aeroway AS type FROM planet_osm_line - WHERE aeroway IN ('apron', 'runway', 'taxiway') + WHERE aeroway IN ('runway', 'taxiway') ) AS data geometry: linestring properties: - minzoom: 10 + minzoom: 11 - id: tunnel <<: *extents Datasource: diff --git a/roads.mss b/roads.mss index 810116cd..09d2fc99 100644 --- a/roads.mss +++ b/roads.mss @@ -2277,13 +2277,10 @@ // AEROWAYS // ================================================================== -#aeroway[zoom>9] { +#aeroway[zoom>11] { line-color: @aeroway; - line-cap: butt; - line-join: miter; - [type='runway'] { - [zoom>=10] { line-width: 1; } - [zoom>=11] { line-width: 2; } + //[type='runway'] { //default for runway + line-width: 2; [zoom>=12] { line-width: 3; } [zoom>=13] { line-width: 5; } [zoom>=14] { line-width: 7; } @@ -2291,11 +2288,9 @@ [zoom>=16] { line-width: 15; } [zoom>=17] { line-width: 19; } [zoom>=18] { line-width: 23; } - } + //} [type='taxiway'] { - [zoom>=10] { line-width: 0.2; } - [zoom>=11] { line-width: 0.2; } - [zoom>=12] { line-width: 0.2; } + line-width: 0.2; [zoom>=13] { line-width: 1; } [zoom>=14] { line-width: 1.5; } [zoom>=15] { line-width: 2; } From 18818f157b77585f43f16a5b264535c58c1a76dd Mon Sep 17 00:00:00 2001 From: Florimond Date: Thu, 14 May 2020 00:07:25 +0200 Subject: [PATCH 05/10] Optimize code and small refactoring. Bicycle ramp is put at first to get its value first. --- project.mml | 6 +-- roads.mss | 112 ++++++---------------------------------------------- 2 files changed, 15 insertions(+), 103 deletions(-) diff --git a/project.mml b/project.mml index 8ef5a2c5..1df83230 100644 --- a/project.mml +++ b/project.mml @@ -536,8 +536,8 @@ Layer: ELSE 'no' END AS oneway_bicycle, COALESCE( - tags->'ramp:stroller', tags->'ramp:bicycle', + tags->'ramp:stroller', tags->'ramp:wheelchair', tags->'ramp:luggage' ) AS has_ramp, @@ -682,8 +682,8 @@ Layer: ELSE 'no' END AS oneway_bicycle, COALESCE( - tags->'ramp:stroller', tags->'ramp:bicycle', + tags->'ramp:stroller', tags->'ramp:wheelchair', tags->'ramp:luggage' ) AS has_ramp, @@ -929,8 +929,8 @@ Layer: ELSE 'no' END AS oneway_bicycle, COALESCE( - tags->'ramp:stroller', tags->'ramp:bicycle', + tags->'ramp:stroller', tags->'ramp:wheelchair', tags->'ramp:luggage' ) AS has_ramp, diff --git a/roads.mss b/roads.mss index 09d2fc99..e4d4dddb 100644 --- a/roads.mss +++ b/roads.mss @@ -4,7 +4,7 @@ // At lower zoomlevels, just show major automobile routes: motorways // and trunks. - +/**/ #roads_low[zoom>=5][zoom<=8] { line-color: @motorway-trunk-fill; @@ -1279,93 +1279,15 @@ [type='pedestrian'] { marker-transform: translate(-0.5 * @rdz18_pedestrian - 0.5 * @rdz18_cycle); } } - -// ---- Bridge fill for dashed lines -------------------------------- -#tunnel::line[zoom>=14], -#bridge::line[zoom>=14] { - // -- colors & styles -- - [type='pedestrian'], - [type='bridleway'], - [type='footway'], - [type='path'], - [type='cycleway'], - [type='steps'] { - line-color: @land; - line-width: 0; - line-join: round; - } - #bridge[type='railway'] { - line-color: @land; - line-join: round; - } - // -- widths -- - [zoom>=14] { - [type='pedestrian'] { line-width: @rdz14_pedestrian + @rdz14_pedestrian_outline; } - [type='bridleway'] { line-width: @rdz14_bridleway; } - [type='footway'] { line-width: @rdz14_footway; } - [type='path'] { line-width: @rdz14_path; } - [type='steps'] { line-width: @rdz14_steps + @rdz14_steps_outline; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-width: @rdz14_cycle; - } - } - [zoom>=15] { - [type='pedestrian'] { line-width: @rdz15_pedestrian + @rdz15_pedestrian_outline; } - [type='bridleway'] { line-width: @rdz15_bridleway; } - [type='footway'] { line-width: @rdz15_footway; } - [type='path'] { line-width: @rdz15_path; } - [type='steps'] { line-width: @rdz15_steps + @rdz15_steps_outline; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-width: @rdz15_cycle; - } - } - [zoom>=16] { - [type='pedestrian'] { line-width: @rdz16_pedestrian + @rdz16_pedestrian_outline; } - [type='bridleway'] { line-width: @rdz16_bridleway; } - [type='footway'] { line-width: @rdz16_footway; } - [type='path'] { line-width: @rdz16_path; } - [type='steps'] { line-width: @rdz16_steps + @rdz16_steps_outline; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-width: @rdz16_cycle; - } - } - [zoom>=17] { - [type='pedestrian'] { line-width: @rdz17_pedestrian + @rdz17_pedestrian_outline; } - [type='bridleway'] { line-width: @rdz17_bridleway; } - [type='footway'] { line-width: @rdz17_footway; } - [type='path'] { line-width: @rdz17_path; } - [type='steps'] { line-width: @rdz17_steps + @rdz17_steps_outline; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-width: @rdz17_cycle; - } - } - [zoom>=18] { - [type='pedestrian'] { line-width: @rdz18_pedestrian + @rdz18_pedestrian_outline; } - [type='bridleway'] { line-width: @rdz18_bridleway; } - [type='footway'] { line-width: @rdz18_footway; } - [type='path'] { line-width: @rdz18_path; } - [type='steps'] { line-width: @rdz18_steps + @rdz18_steps_outline; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-width: @rdz18_cycle; - } - } -} - #roads_high::steps_ramp_left[zoom >= 15], #tunnel::steps_ramp_left[zoom>=15], #bridge::steps_ramp_left[zoom>=15] { [type='steps'] { [has_ramp!='no'][has_ramp!=null] { line-color: @cycle-fill; - [zoom>=15] { - line-width: @rdz15_steps_outline*2; - line-offset: @rdz15_steps/2 + @rdz15_steps_outline; - } + line-width: @rdz15_steps_outline*2; + line-offset: @rdz15_steps/2 + @rdz15_steps_outline; + [zoom>=16] { line-width: @rdz16_steps_outline*2; line-offset: @rdz16_steps/2 + @rdz16_steps_outline; @@ -2120,9 +2042,7 @@ line-dasharray: 1,1,1,1,1,8;// 3 ||| } - [zoom>=15] { - line-width: @rdz15_path*3; - } + line-width: @rdz15_path*3; [zoom>=16] { line-width: @rdz16_path*3; } @@ -2162,9 +2082,7 @@ line-dasharray: 0.1,4,0.1,18; } - [zoom>=15] { - line-width: @rdz15_path*3; - } + line-width: @rdz15_path*3; [zoom>=16] { line-width: @rdz16_path*3; } @@ -2186,10 +2104,8 @@ #bridge::rail_line[zoom>=11] { [type='railway'] { line-color: @rail-line; - // -- widths -- - [zoom>=11] { - line-width: @rdz11_railway; - } + + line-width: @rdz11_railway; [zoom>=12] { line-width: @rdz12_railway; } @@ -2217,15 +2133,11 @@ #roads_high::rail_line2[zoom>=11], #bridge::rail_line2[zoom>=11] { [type='railway'] { - line-width: 0; line-color: @rail-line; line-dasharray: 1,4; - [type='subway'] { line-opacity: 0.67; } [zoom>=14] { line-dasharray: 1,8; } - [zoom>=11] { - line-width: @rdz11_railway*3; - } + line-width: @rdz11_railway*3; [zoom>=12] { line-width: @rdz12_railway*3; } @@ -2264,9 +2176,9 @@ marker-line-opacity: 0; marker-allow-overlap: true; } -#turning_circle_case, -#turning_circle_fill { - [zoom>=14] { marker-width: @rdz14_turning_circle_marker; } +#turning_circle_case[zoom>=14], +#turning_circle_fill[zoom>=14] { + marker-width: @rdz14_turning_circle_marker; [zoom>=15] { marker-width: @rdz15_turning_circle_marker; } [zoom>=16] { marker-width: @rdz16_turning_circle_marker; } [zoom>=17] { marker-width: @rdz17_turning_circle_marker; } From e46f821223010a2761558c41e84aae417320686f Mon Sep 17 00:00:00 2001 From: Florimond Date: Fri, 15 May 2020 23:54:12 +0200 Subject: [PATCH 06/10] Optimize : remove road type (make it as residential) remove useless z11 inline zoom definition for minor roads rewrite roads inline by type --- project.mml | 3 + road-colors.mss | 1 - roads.mss | 1648 +++++++++++++++++++++++++++++++---------------- 3 files changed, 1079 insertions(+), 573 deletions(-) diff --git a/project.mml b/project.mml index 1df83230..b51af3ae 100644 --- a/project.mml +++ b/project.mml @@ -447,6 +447,7 @@ Layer: COALESCE( CASE WHEN highway='raceway' THEN 'track' -- render raceways as tracks + WHEN highway='road' THEN 'residential' -- render "road" as residential WHEN highway='footway' AND (bicycle='yes' OR bicycle='designated') THEN 'path' WHEN highway='bridleway' AND (bicycle='yes' OR bicycle='designated') THEN 'path' WHEN highway!='bus_guideway' THEN highway @@ -594,6 +595,7 @@ Layer: COALESCE( CASE WHEN highway='raceway' THEN 'track' -- render raceways as tracks + WHEN highway='road' THEN 'residential' -- render "road" as residential WHEN highway='footway' AND (bicycle='yes' OR bicycle='designated') THEN 'path' WHEN highway='bridleway' AND (bicycle='yes' OR bicycle='designated') THEN 'path' WHEN highway!='bus_guideway' THEN highway @@ -840,6 +842,7 @@ Layer: COALESCE( CASE WHEN highway='raceway' THEN 'track' -- render raceways as tracks + WHEN highway='road' THEN 'residential' -- render "road" as residential WHEN highway='footway' AND (bicycle='yes' OR bicycle='designated') THEN 'path' WHEN highway='bridleway' AND (bicycle='yes' OR bicycle='designated') THEN 'path' WHEN highway!='bus_guideway' THEN highway diff --git a/road-colors.mss b/road-colors.mss index 94604f51..4e51e143 100644 --- a/road-colors.mss +++ b/road-colors.mss @@ -41,7 +41,6 @@ @standard-fill: #f6f6f6; @standard-nobicycle: #d4d4d4; @tertiary-case: #777; -@tertiary-fill: #f6f6f6; @pedestrian-case: #bbb; @pedestrian-fill: @speedWalk-fill; @pedestrian_area_fill: #dce3e0; diff --git a/roads.mss b/roads.mss index e4d4dddb..68923539 100644 --- a/roads.mss +++ b/roads.mss @@ -4,7 +4,7 @@ // At lower zoomlevels, just show major automobile routes: motorways // and trunks. -/**/ + #roads_low[zoom>=5][zoom<=8] { line-color: @motorway-trunk-fill; @@ -95,8 +95,8 @@ @rdz11_road: 0; @rdz11_living_street: 0; @rdz11_service: 0; -@rdz11_track: 0.25; @rdz11_pedestrian: 0; +@rdz11_track: 0.25; @rdz11_path: 0.30; @rdz11_cycle: 0.5; @rdz11_railway: 0.5; @@ -112,7 +112,6 @@ @rdz11_tertiary_link_outline: 0.15; @rdz11_unclassified_outline: 0.2; @rdz11_residential_outline: 0.15; -@rdz11_road_outline: 0.15; @rdz11_living_street_outline: 0.15; @rdz11_service_outline: 0.15; @rdz11_pedestrian_outline: 0.15; @@ -129,7 +128,6 @@ @rdz12_tertiary_link: 0.5; @rdz12_unclassified: 1; @rdz12_residential: 0.5; -@rdz12_road: 0.5; @rdz12_living_street: 0.5; @rdz12_service: 0; @rdz12_track: 0.5; @@ -149,7 +147,6 @@ @rdz12_tertiary_link_outline: 0.25; @rdz12_unclassified_outline: 1; @rdz12_residential_outline: 0.25; -@rdz12_road_outline: 0.25; @rdz12_living_street_outline: 0.25; @rdz12_service_outline: 0.25; @rdz12_pedestrian_outline: 0.25; @@ -166,7 +163,6 @@ @rdz13_tertiary_link: 0.6; @rdz13_unclassified: 1.5; @rdz13_residential: 1; -@rdz13_road: 1; @rdz13_living_street: 0.6; @rdz13_service: 1; @rdz13_track: 1; @@ -189,7 +185,6 @@ @rdz13_tertiary_link_outline: 0.6; @rdz13_unclassified_outline: 0.8; @rdz13_residential_outline: 0.6; -@rdz13_road_outline: 0.6; @rdz13_living_street_outline: 0.6; @rdz13_service_outline: 0.3; @rdz13_pedestrian_outline: 0.6; @@ -207,7 +202,6 @@ @rdz14_tertiary_link: 1; @rdz14_unclassified: 2; @rdz14_residential: 1; -@rdz14_road: 1; @rdz14_living_street: 1; @rdz14_service: 1; @rdz14_track: 1; @@ -232,7 +226,6 @@ @rdz14_tertiary_link_outline: 1; @rdz14_unclassified_outline: 1; @rdz14_residential_outline: 1; -@rdz14_road_outline: 1; @rdz14_living_street_outline: 1; @rdz14_service_outline: 0.5; @rdz14_pedestrian_outline: 1; @@ -250,7 +243,6 @@ @rdz15_tertiary_link: 1.5; @rdz15_unclassified: 3; @rdz15_residential: 2; -@rdz15_road: 2; @rdz15_living_street: 1.5; @rdz15_service: 2; @rdz15_track: 2; @@ -274,7 +266,6 @@ @rdz15_tertiary_link_outline: 1; @rdz15_unclassified_outline: 1; @rdz15_residential_outline: 1; -@rdz15_road_outline: 1; @rdz15_living_street_outline: 1; @rdz15_service_outline: 1; @rdz15_pedestrian_outline: 1; @@ -292,7 +283,6 @@ @rdz16_tertiary_link: 4; @rdz16_unclassified: 6; @rdz16_residential: 4; -@rdz16_road: 4; @rdz16_living_street: 3; @rdz16_service: 3.5; @rdz16_track: 3; @@ -316,7 +306,6 @@ @rdz16_tertiary_link_outline: 1; @rdz16_unclassified_outline: 1; @rdz16_residential_outline: 1; -@rdz16_road_outline: 1; @rdz16_living_street_outline: 1.5; @rdz16_service_outline: 1; @rdz16_pedestrian_outline: 2; @@ -334,7 +323,6 @@ @rdz17_tertiary_link: 8; @rdz17_unclassified: 10; @rdz17_residential: 8; -@rdz17_road: 8; @rdz17_living_street: 7.5; @rdz17_service: 6; @rdz17_track: 4; @@ -358,7 +346,6 @@ @rdz17_tertiary_link_outline: 1; @rdz17_unclassified_outline: 1; @rdz17_residential_outline: 1; -@rdz17_road_outline: 1; @rdz17_living_street_outline: 1.75; @rdz17_service_outline: 1; @rdz17_pedestrian_outline: 3; @@ -377,7 +364,6 @@ @rdz18_tertiary_link: 14; @rdz18_unclassified: 16; @rdz18_residential: 14; -@rdz18_road: 14; @rdz18_living_street: 11; @rdz18_service: 10; @rdz18_track: 7; @@ -401,7 +387,6 @@ @rdz18_tertiary_link_outline: 1.75; @rdz18_unclassified_outline: 1.75; @rdz18_residential_outline: 1.75; -@rdz18_road_outline: 1.75; @rdz18_living_street_outline: 3; @rdz18_service_outline: 1.75; @rdz18_pedestrian_outline: 4; @@ -421,7 +406,6 @@ [type='secondary'], [type='tertiary'], [type='living_street'], - [type='road'], [type='unclassified'], [type='residential'], [type='tertiary_link'], @@ -505,7 +489,6 @@ [type='secondary'] { line-width: @rdz11_secondary + (2 * @rdz11_secondary_outline); } [type='tertiary'] { line-width: @rdz11_tertiary + (2 * @rdz11_tertiary_outline); } [type='living_street'] { line-width: @rdz11_living_street + (2 * @rdz11_living_street_outline); } - [type='road'] { line-width: @rdz11_road + (2 * @rdz11_road_outline); } [type='unclassified'] { line-width: @rdz11_unclassified + (2 * @rdz11_unclassified_outline); } [type='residential'] { line-width: @rdz11_residential + (2 * @rdz11_residential_outline); } [type='tertiary_link'] { line-width: @rdz11_tertiary_link + (2 * @rdz11_tertiary_link_outline); } @@ -522,7 +505,6 @@ [type='secondary'] { line-width: @rdz12_secondary + (2 * @rdz12_secondary_outline); } [type='tertiary'] { line-width: @rdz12_tertiary + (2 * @rdz12_tertiary_outline); } [type='living_street'] { line-width: @rdz12_living_street + (2 * @rdz12_living_street_outline); } - [type='road'] { line-width: @rdz12_road + (2 * @rdz12_road_outline); } [type='unclassified'] { line-width: @rdz12_unclassified + (2 * @rdz12_unclassified_outline); } [type='residential'] { line-width: @rdz12_residential + (2 * @rdz12_residential_outline); } [type='tertiary_link'] { line-width: @rdz12_tertiary_link + (2 * @rdz12_tertiary_link_outline); } @@ -538,7 +520,6 @@ [type='primary'] { line-width: @rdz13_primary + (2 * @rdz13_primary_outline); } [type='secondary'] { line-width: @rdz13_secondary + (2 * @rdz13_secondary_outline); } [type='living_street'] { line-width: @rdz13_living_street + (2 * @rdz13_living_street_outline); } - [type='road'] { line-width: @rdz13_road + (2 * @rdz13_road_outline); } [type='unclassified'] { line-width: @rdz13_unclassified + (2 * @rdz13_unclassified_outline); } [type='residential'] { line-width: @rdz13_residential + (2 * @rdz13_residential_outline); } [type='tertiary_link'] { line-width: @rdz13_tertiary_link + (2 * @rdz13_tertiary_link_outline); } @@ -556,7 +537,6 @@ [type='secondary'] { line-width: @rdz14_secondary + (2 * @rdz14_secondary_outline); } [type='tertiary'] { line-width: @rdz14_tertiary + (2 * @rdz14_tertiary_outline); } [type='living_street'] { line-width: @rdz14_living_street + (2 * @rdz14_living_street_outline); } - [type='road'] { line-width: @rdz14_road + (2 * @rdz14_road_outline); } [type='unclassified'] { line-width: @rdz14_unclassified + (2 * @rdz14_unclassified_outline); } [type='residential'] { line-width: @rdz14_residential + (2 * @rdz14_residential_outline); } [type='tertiary_link'] { line-width: @rdz14_tertiary_link + (2 * @rdz14_tertiary_link_outline); } @@ -573,7 +553,6 @@ [type='secondary'] { line-width: @rdz15_secondary + (2 * @rdz15_secondary_outline); } [type='tertiary'] { line-width: @rdz15_tertiary + (2 * @rdz15_tertiary_outline); } [type='living_street'] { line-width: @rdz15_living_street + (2 * @rdz15_living_street_outline); } - [type='road'] { line-width: @rdz15_road + (2 * @rdz15_road_outline); } [type='unclassified'] { line-width: @rdz15_unclassified + (2 * @rdz15_unclassified_outline); } [type='residential'] { line-width: @rdz15_residential + (2 * @rdz15_residential_outline); } [type='tertiary_link'] { line-width: @rdz15_tertiary_link + (2 * @rdz15_tertiary_link_outline); } @@ -590,7 +569,6 @@ [type='secondary'] { line-width: @rdz16_secondary + (2 * @rdz16_secondary_outline); } [type='tertiary'] { line-width: @rdz16_tertiary + (2 * @rdz16_tertiary_outline); } [type='living_street'] { line-width: @rdz16_living_street + (2 * @rdz16_living_street_outline); } - [type='road'] { line-width: @rdz16_road + (2 * @rdz16_road_outline); } [type='unclassified'] { line-width: @rdz16_unclassified + (2 * @rdz16_unclassified_outline); } [type='residential'] { line-width: @rdz16_residential + (2 * @rdz16_residential_outline); } [type='tertiary_link'] { line-width: @rdz16_tertiary_link + (2 * @rdz16_tertiary_link_outline); } @@ -607,7 +585,6 @@ [type='secondary'] { line-width: @rdz17_secondary + (2 * @rdz17_secondary_outline); } [type='tertiary'] { line-width: @rdz17_tertiary + (2 * @rdz17_tertiary_outline); } [type='living_street'] { line-width: @rdz17_living_street + (2 * @rdz17_living_street_outline); } - [type='road'] { line-width: @rdz17_road + (2 * @rdz17_road_outline); } [type='unclassified'] { line-width: @rdz17_unclassified + (2 * @rdz17_unclassified_outline); } [type='residential'] { line-width: @rdz17_residential + (2 * @rdz17_residential_outline); } [type='tertiary_link'] { line-width: @rdz17_tertiary_link + (2 * @rdz17_tertiary_link_outline); } @@ -624,7 +601,6 @@ [type='secondary'] { line-width: @rdz18_secondary + (2 * @rdz18_secondary_outline); } [type='tertiary'] { line-width: @rdz18_tertiary + (2 * @rdz18_tertiary_outline); } [type='living_street'] { line-width: @rdz18_living_street + (2 * @rdz18_living_street_outline); } - [type='road'] { line-width: @rdz18_road + (2 * @rdz18_road_outline); } [type='unclassified'] { line-width: @rdz18_unclassified + (2 * @rdz18_unclassified_outline); } [type='residential'] { line-width: @rdz18_residential + (2 * @rdz18_residential_outline); } [type='tertiary_link'] { line-width: @rdz18_tertiary_link + (2 * @rdz18_tertiary_link_outline); } @@ -712,19 +688,18 @@ [type='motorway'], [type='trunk'] { line-width: @rdz11_motorway_trunk; } [type='primary'] { line-width: @rdz11_primary; } [type='secondary'] { line-width: @rdz11_secondary; } - [type='tertiary'] { line-width: @rdz11_tertiary; } - [type='living_street'] { line-width: @rdz11_living_street; } - [type='road'] { line-width: @rdz11_road; } - [type='unclassified'] { line-width: @rdz11_unclassified; } - [type='residential'] { line-width: @rdz11_residential; } - [type='tertiary_link'] { line-width: @rdz11_tertiary_link; } - [type='secondary_link'] { line-width: @rdz11_secondary_link; } - [type='primary_link'] { line-width: @rdz11_primary_link; } - [type='trunk_link'] { line-width: @rdz11_trunk_link; } - [type='motorway_link'] { line-width: @rdz11_motorway_link; } - [type='service'] { line-width: @rdz11_service; } - [type='track'] { line-width: @rdz11_track; } - [type='pedestrian'] { line-width: @rdz11_pedestrian; } + // [type='tertiary'] { line-width: @rdz11_tertiary; } + // [type='living_street'] { line-width: @rdz11_living_street; } + // [type='unclassified'] { line-width: @rdz11_unclassified; } + // [type='residential'] { line-width: @rdz11_residential; } + // [type='tertiary_link'] { line-width: @rdz11_tertiary_link; } + // [type='secondary_link'] { line-width: @rdz11_secondary_link; } + // [type='primary_link'] { line-width: @rdz11_primary_link; } + // [type='trunk_link'] { line-width: @rdz11_trunk_link; } + // [type='motorway_link'] { line-width: @rdz11_motorway_link; } + // [type='service'] { line-width: @rdz11_service; } + // [type='track'] { line-width: @rdz11_track; } + // [type='pedestrian'] { line-width: @rdz11_pedestrian; } } [zoom>=12] { line-offset: 1 * @rdz12_cycle; @@ -737,7 +712,6 @@ [type='secondary'] { line-width: @rdz12_secondary; } [type='tertiary'] { line-width: @rdz12_tertiary; } [type='living_street'] { line-width: @rdz12_living_street; } - [type='road'] { line-width: @rdz12_road; } [type='unclassified'] { line-width: @rdz12_unclassified; } [type='residential'] { line-width: @rdz12_residential; } [type='tertiary_link'] { line-width: @rdz12_tertiary_link; } @@ -746,7 +720,7 @@ [type='trunk_link'] { line-width: @rdz12_trunk_link; } [type='motorway_link'] { line-width: @rdz12_motorway_link; } [type='service'] { line-width: @rdz12_service; } - [type='track'] { line-width: @rdz12_track; } + // [type='track'] { line-width: @rdz12_track; } [type='pedestrian'] { line-width: @rdz12_pedestrian; } } [zoom>=13] { @@ -760,7 +734,6 @@ [type='secondary'] { line-width: @rdz13_secondary; } [type='tertiary'] { line-width: @rdz13_tertiary; } [type='living_street'] { line-width: @rdz13_living_street; } - [type='road'] { line-width: @rdz13_road; } [type='unclassified'] { line-width: @rdz13_unclassified; } [type='residential'] { line-width: @rdz13_residential; } [type='tertiary_link'] { line-width: @rdz13_tertiary_link; } @@ -769,7 +742,7 @@ [type='trunk_link'] { line-width: @rdz13_trunk_link; } [type='motorway_link'] { line-width: @rdz13_motorway_link; } [type='service'] { line-width: @rdz13_service; } - [type='track'] { line-width: @rdz13_track; } + // [type='track'] { line-width: @rdz13_track; } [type='pedestrian'] { line-width: @rdz13_pedestrian; } } [zoom>=14] { @@ -783,7 +756,6 @@ [type='secondary'] { line-width: @rdz14_secondary; } [type='tertiary'] { line-width: @rdz14_tertiary; } [type='living_street'] { line-width: @rdz14_living_street; } - [type='road'] { line-width: @rdz14_road; } [type='unclassified'] { line-width: @rdz14_unclassified; } [type='residential'] { line-width: @rdz14_residential; } [type='tertiary_link'] { line-width: @rdz14_tertiary_link; } @@ -792,7 +764,7 @@ [type='trunk_link'] { line-width: @rdz14_trunk_link; } [type='motorway_link'] { line-width: @rdz14_motorway_link; } [type='service'] { line-width: @rdz14_service; } - [type='track'] { line-width: @rdz14_track; } + // [type='track'] { line-width: @rdz14_track; } [type='pedestrian'] { line-width: @rdz14_pedestrian; } } [zoom>=15] { @@ -806,7 +778,6 @@ [type='secondary'] { line-width: @rdz15_secondary; } [type='tertiary'] { line-width: @rdz15_tertiary; } [type='living_street'] { line-width: @rdz15_living_street; } - [type='road'] { line-width: @rdz15_road; } [type='unclassified'] { line-width: @rdz15_unclassified; } [type='residential'] { line-width: @rdz15_residential; } [type='tertiary_link'] { line-width: @rdz15_tertiary_link; } @@ -815,7 +786,7 @@ [type='trunk_link'] { line-width: @rdz15_trunk_link; } [type='motorway_link'] { line-width: @rdz15_motorway_link; } [type='service'] { line-width: @rdz15_service; } - [type='track'] { line-width: @rdz15_track; } + // [type='track'] { line-width: @rdz15_track; } [type='pedestrian'] { line-width: @rdz15_pedestrian; } } [zoom>=16] { @@ -829,7 +800,6 @@ [type='secondary'] { line-width: @rdz16_secondary; } [type='tertiary'] { line-width: @rdz16_tertiary; } [type='living_street'] { line-width: @rdz16_living_street; } - [type='road'] { line-width: @rdz16_road; } [type='unclassified'] { line-width: @rdz16_unclassified; } [type='residential'] { line-width: @rdz16_residential; } [type='tertiary_link'] { line-width: @rdz16_tertiary_link; } @@ -838,7 +808,7 @@ [type='trunk_link'] { line-width: @rdz16_trunk_link; } [type='motorway_link'] { line-width: @rdz16_motorway_link; } [type='service'] { line-width: @rdz16_service; } - [type='track'] { line-width: @rdz16_track; } + // [type='track'] { line-width: @rdz16_track; } [type='pedestrian'] { line-width: @rdz16_pedestrian; } } [zoom>=17] { @@ -852,7 +822,6 @@ [type='secondary'] { line-width: @rdz17_secondary; } [type='tertiary'] { line-width: @rdz17_tertiary; } [type='living_street'] { line-width: @rdz17_living_street; } - [type='road'] { line-width: @rdz17_road; } [type='unclassified'] { line-width: @rdz17_unclassified; } [type='residential'] { line-width: @rdz17_residential; } [type='tertiary_link'] { line-width: @rdz17_tertiary_link; } @@ -861,7 +830,7 @@ [type='trunk_link'] { line-width: @rdz17_trunk_link; } [type='motorway_link'] { line-width: @rdz17_motorway_link; } [type='service'] { line-width: @rdz17_service; } - [type='track'] { line-width: @rdz17_track; } + // [type='track'] { line-width: @rdz17_track; } [type='pedestrian'] { line-width: @rdz17_pedestrian; } [type='path'] { line-width: @rdz17_path; line-offset: @rdz17_path/2 + @rdz17_cycle/2; @@ -881,7 +850,6 @@ [type='secondary'] { line-width: @rdz18_secondary; } [type='tertiary'] { line-width: @rdz18_tertiary; } [type='living_street'] { line-width: @rdz18_living_street; } - [type='road'] { line-width: @rdz18_road; } [type='unclassified'] { line-width: @rdz18_unclassified; } [type='residential'] { line-width: @rdz18_residential; } [type='tertiary_link'] { line-width: @rdz18_tertiary_link; } @@ -890,7 +858,7 @@ [type='trunk_link'] { line-width: @rdz18_trunk_link; } [type='motorway_link'] { line-width: @rdz18_motorway_link; } [type='service'] { line-width: @rdz18_service; } - [type='track'] { line-width: @rdz18_track; } + // [type='track'] { line-width: @rdz18_track; } [type='pedestrian'] { line-width: @rdz18_pedestrian; } [type='path'] { line-width: @rdz18_path; line-offset: @rdz18_path/2 + @rdz18_cycle/2; @@ -938,7 +906,6 @@ [type='secondary'] { line-pattern-offset: 0.5 * @rdz18_secondary + 0.5 * @rdz18_cycle; } [type='tertiary'] { line-pattern-offset: 0.5 * @rdz18_tertiary + 0.5 * @rdz18_cycle; } [type='living_street'] { line-pattern-offset: 0.5 * @rdz18_living_street + 0.5 * @rdz18_cycle; } - [type='road'] { line-pattern-offset: 0.5 * @rdz18_road + 0.5 * @rdz18_cycle; } [type='unclassified'] { line-pattern-offset: 0.5 * @rdz18_unclassified + 0.5 * @rdz18_cycle; } [type='residential'] { line-pattern-offset: 0.5 * @rdz18_residential + 0.5 * @rdz18_cycle; } [type='tertiary_link'] { line-pattern-offset: 0.5 * @rdz18_tertiary_link + 0.5 * @rdz18_cycle; } @@ -971,7 +938,6 @@ [type='secondary'] { marker-transform: translate(0.5 * @rdz18_secondary + 0.5 * @rdz18_cycle, 0.5 * @rdz18_secondary + 0.5 * @rdz18_cycle); } [type='tertiary'] { marker-transform: translate(0.5 * @rdz18_tertiary + 0.5 * @rdz18_cycle, 0.5 * @rdz18_tertiary + 0.5 * @rdz18_cycle); } [type='living_street'] { marker-transform: translate(0.5 * @rdz18_living_street + 0.5 * @rdz18_cycle, 0.5 * @rdz18_living_street + 0.5 * @rdz18_cycle); } - [type='road'] { marker-transform: translate(0.5 * @rdz18_road + 0.5 * @rdz18_cycle, 0.5 * @rdz18_road + 0.5 * @rdz18_cycle); } [type='unclassified'] { marker-transform: translate(0.5 * @rdz18_unclassified + 0.5 * @rdz18_cycle, 0.5 * @rdz18_unclassified + 0.5 * @rdz18_cycle); } [type='residential'] { marker-transform: translate(0.5 * @rdz18_residential + 0.5 * @rdz18_cycle, 0.5 * @rdz18_residential + 0.5 * @rdz18_cycle); } [type='tertiary_link'] { marker-transform: translate(0.5 * @rdz18_tertiary_link + 0.5 * @rdz18_cycle, 0.5 * @rdz18_tertiary_link + 0.5 * @rdz18_cycle); } @@ -1019,19 +985,18 @@ [type='motorway'], [type='trunk'] { line-width: @rdz11_motorway_trunk; } [type='primary'] { line-width: @rdz11_primary; } [type='secondary'] { line-width: @rdz11_secondary; } - [type='tertiary'] { line-width: @rdz11_tertiary; } - [type='living_street'] { line-width: @rdz11_living_street; } - [type='road'] { line-width: @rdz11_road; } - [type='unclassified'] { line-width: @rdz11_unclassified; } - [type='residential'] { line-width: @rdz11_residential; } - [type='tertiary_link'] { line-width: @rdz11_tertiary_link; } - [type='secondary_link'] { line-width: @rdz11_secondary_link; } - [type='primary_link'] { line-width: @rdz11_primary_link; } - [type='trunk_link'] { line-width: @rdz11_trunk_link; } - [type='motorway_link'] { line-width: @rdz11_motorway_link; } - [type='service'] { line-width: @rdz11_service; } - [type='track'] { line-width: @rdz11_track; } - [type='pedestrian'] { line-width: @rdz11_pedestrian; } + //[type='tertiary'] { line-width: @rdz11_tertiary; } + //[type='living_street'] { line-width: @rdz11_living_street; } + //[type='unclassified'] { line-width: @rdz11_unclassified; } + //[type='residential'] { line-width: @rdz11_residential; } + //[type='tertiary_link'] { line-width: @rdz11_tertiary_link; } + //[type='secondary_link'] { line-width: @rdz11_secondary_link; } + //[type='primary_link'] { line-width: @rdz11_primary_link; } + //[type='trunk_link'] { line-width: @rdz11_trunk_link; } + //[type='motorway_link'] { line-width: @rdz11_motorway_link; } + //[type='service'] { line-width: @rdz11_service; } + //[type='track'] { line-width: @rdz11_track; } + //[type='pedestrian'] { line-width: @rdz11_pedestrian; } } [zoom>=12] { line-offset: -1 * @rdz12_cycle; @@ -1044,7 +1009,6 @@ [type='secondary'] { line-width: @rdz12_secondary; } [type='tertiary'] { line-width: @rdz12_tertiary; } [type='living_street'] { line-width: @rdz12_living_street; } - [type='road'] { line-width: @rdz12_road; } [type='unclassified'] { line-width: @rdz12_unclassified; } [type='residential'] { line-width: @rdz12_residential; } [type='tertiary_link'] { line-width: @rdz12_tertiary_link; } @@ -1053,7 +1017,7 @@ [type='trunk_link'] { line-width: @rdz12_trunk_link; } [type='motorway_link'] { line-width: @rdz12_motorway_link; } [type='service'] { line-width: @rdz12_service; } - [type='track'] { line-width: @rdz12_track; } + //[type='track'] { line-width: @rdz12_track; } [type='pedestrian'] { line-width: @rdz12_pedestrian; } } [zoom>=13] { @@ -1067,7 +1031,6 @@ [type='secondary'] { line-width: @rdz13_secondary; } [type='tertiary'] { line-width: @rdz13_tertiary; } [type='living_street'] { line-width: @rdz13_living_street; } - [type='road'] { line-width: @rdz13_road; } [type='unclassified'] { line-width: @rdz13_unclassified; } [type='residential'] { line-width: @rdz13_residential; } [type='tertiary_link'] { line-width: @rdz13_tertiary_link; } @@ -1076,7 +1039,7 @@ [type='trunk_link'] { line-width: @rdz13_trunk_link; } [type='motorway_link'] { line-width: @rdz13_motorway_link; } [type='service'] { line-width: @rdz13_service; } - [type='track'] { line-width: @rdz13_track; } + //[type='track'] { line-width: @rdz13_track; } [type='pedestrian'] { line-width: @rdz13_pedestrian; } } [zoom>=14] { @@ -1090,7 +1053,6 @@ [type='secondary'] { line-width: @rdz14_secondary; } [type='tertiary'] { line-width: @rdz14_tertiary; } [type='living_street'] { line-width: @rdz14_living_street; } - [type='road'] { line-width: @rdz14_road; } [type='unclassified'] { line-width: @rdz14_unclassified; } [type='residential'] { line-width: @rdz14_residential; } [type='tertiary_link'] { line-width: @rdz14_tertiary_link; } @@ -1099,7 +1061,7 @@ [type='trunk_link'] { line-width: @rdz14_trunk_link; } [type='motorway_link'] { line-width: @rdz14_motorway_link; } [type='service'] { line-width: @rdz14_service; } - [type='track'] { line-width: @rdz14_track; } + //[type='track'] { line-width: @rdz14_track; } [type='pedestrian'] { line-width: @rdz14_pedestrian; } } [zoom>=15] { @@ -1113,7 +1075,6 @@ [type='secondary'] { line-width: @rdz15_secondary; } [type='tertiary'] { line-width: @rdz15_tertiary; } [type='living_street'] { line-width: @rdz15_living_street; } - [type='road'] { line-width: @rdz15_road; } [type='unclassified'] { line-width: @rdz15_unclassified; } [type='residential'] { line-width: @rdz15_residential; } [type='tertiary_link'] { line-width: @rdz15_tertiary_link; } @@ -1122,7 +1083,7 @@ [type='trunk_link'] { line-width: @rdz15_trunk_link; } [type='motorway_link'] { line-width: @rdz15_motorway_link; } [type='service'] { line-width: @rdz15_service; } - [type='track'] { line-width: @rdz15_track; } + //[type='track'] { line-width: @rdz15_track; } [type='pedestrian'] { line-width: @rdz15_pedestrian; } } [zoom>=16] { @@ -1136,7 +1097,6 @@ [type='secondary'] { line-width: @rdz16_secondary; } [type='tertiary'] { line-width: @rdz16_tertiary; } [type='living_street'] { line-width: @rdz16_living_street; } - [type='road'] { line-width: @rdz16_road; } [type='unclassified'] { line-width: @rdz16_unclassified; } [type='residential'] { line-width: @rdz16_residential; } [type='tertiary_link'] { line-width: @rdz16_tertiary_link; } @@ -1145,7 +1105,7 @@ [type='trunk_link'] { line-width: @rdz16_trunk_link; } [type='motorway_link'] { line-width: @rdz16_motorway_link; } [type='service'] { line-width: @rdz16_service; } - [type='track'] { line-width: @rdz16_track; } + //[type='track'] { line-width: @rdz16_track; } [type='pedestrian'] { line-width: @rdz16_pedestrian; } } [zoom>=17] { @@ -1159,7 +1119,6 @@ [type='secondary'] { line-width: @rdz17_secondary; } [type='tertiary'] { line-width: @rdz17_tertiary; } [type='living_street'] { line-width: @rdz17_living_street; } - [type='road'] { line-width: @rdz17_road; } [type='unclassified'] { line-width: @rdz17_unclassified; } [type='residential'] { line-width: @rdz17_residential; } [type='tertiary_link'] { line-width: @rdz17_tertiary_link; } @@ -1168,7 +1127,7 @@ [type='trunk_link'] { line-width: @rdz17_trunk_link; } [type='motorway_link'] { line-width: @rdz17_motorway_link; } [type='service'] { line-width: @rdz17_service; } - [type='track'] { line-width: @rdz17_track; } + //[type='track'] { line-width: @rdz17_track; } [type='pedestrian'] { line-width: @rdz17_pedestrian; } } [zoom>=18] { @@ -1182,7 +1141,6 @@ [type='secondary'] { line-width: @rdz18_secondary; } [type='tertiary'] { line-width: @rdz18_tertiary; } [type='living_street'] { line-width: @rdz18_living_street; } - [type='road'] { line-width: @rdz18_road; } [type='unclassified'] { line-width: @rdz18_unclassified; } [type='residential'] { line-width: @rdz18_residential; } [type='tertiary_link'] { line-width: @rdz18_tertiary_link; } @@ -1191,7 +1149,7 @@ [type='trunk_link'] { line-width: @rdz18_trunk_link; } [type='motorway_link'] { line-width: @rdz18_motorway_link; } [type='service'] { line-width: @rdz18_service; } - [type='track'] { line-width: @rdz18_track; } + //[type='track'] { line-width: @rdz18_track; } [type='pedestrian'] { line-width: @rdz18_pedestrian; } [cycleway_left_render='lane'][cycleway_left_oneway='yes'], @@ -1233,7 +1191,6 @@ [type='secondary'] { line-pattern-offset: -0.5 * @rdz18_secondary - 0.5 * @rdz18_cycle; } [type='tertiary'] { line-pattern-offset: -0.5 * @rdz18_tertiary - 0.5 * @rdz18_cycle; } [type='living_street'] { line-pattern-offset: -0.5 * @rdz18_living_street - 0.5 * @rdz18_cycle; } - [type='road'] { line-pattern-offset: -0.5 * @rdz18_road - 0.5 * @rdz18_cycle; } [type='unclassified'] { line-pattern-offset: -0.5 * @rdz18_unclassified - 0.5 * @rdz18_cycle; } [type='residential'] { line-pattern-offset: -0.5 * @rdz18_residential - 0.5 * @rdz18_cycle; } [type='tertiary_link'] { line-pattern-offset: -0.5 * @rdz18_tertiary_link - 0.5 * @rdz18_cycle; } @@ -1266,7 +1223,6 @@ [type='secondary'] { marker-transform: translate(-0.5 * @rdz18_secondary - 0.5 * @rdz18_cycle, -0.5 * @rdz18_secondary - 0.5 * @rdz18_cycle); } [type='tertiary'] { marker-transform: translate(-0.5 * @rdz18_tertiary - 0.5 * @rdz18_cycle, -0.5 * @rdz18_tertiary - 0.5 * @rdz18_cycle); } [type='living_street'] { marker-transform: translate(-0.5 * @rdz18_living_street - 0.5 * @rdz18_cycle, -0.5 * @rdz18_living_street - 0.5 * @rdz18_cycle); } - [type='road'] { marker-transform: translate(-0.5 * @rdz18_road - 0.5 * @rdz18_cycle, -0.5 * @rdz18_road - 0.5 * @rdz18_cycle); } [type='unclassified'] { marker-transform: translate(-0.5 * @rdz18_unclassified - 0.5 * @rdz18_cycle, -0.5 * @rdz18_unclassified - 0.5 * @rdz18_cycle); } [type='residential'] { marker-transform: translate(-0.5 * @rdz18_residential - 0.5 * @rdz18_cycle, -0.5 * @rdz18_residential - 0.5 * @rdz18_cycle); } [type='tertiary_link'] { marker-transform: translate(-0.5 * @rdz18_tertiary_link - 0.5 * @rdz18_cycle, -0.5 * @rdz18_tertiary_link - 0.5 * @rdz18_cycle); } @@ -1303,150 +1259,1060 @@ } } } - +/**/ #roads_high::inline[zoom>=11], #tunnel::inline[zoom>=11], #bridge::inline[zoom>=11] { - // surfaces on track and path - [type='track'], - [type='bridleway'], - [type='footway'], - [type='path'], - [type='cycleway'] { - [surface_type='unknown'][zoom >= 13], - [surface_type='cyclocross'][zoom >= 12], - [surface_type='mtb'][zoom >= 12] { - background/line-join: round; - background/line-opacity: 0.4; - background/line-color: #FFFFFF; - [type='cycleway'] { - background/line-color: darken(@cycle-fill, @surfaceLighter1); - background/line-opacity: 0.6; - } + [type='motorway'][zoom>=11] { + line-cap: round; + line-join: round; + line-color: @motorway-trunk-fill; + #tunnel { line-color: lighten(@motorway-trunk-fill, 10%); } + [can_bicycle='yes'] { + line-color: @motorway-trunk-cycle-fill; + #tunnel { line-color: lighten(@motorway-trunk-cycle-fill, 10%); } + } - [zoom>=12] { - [type='track'] { background/line-width: @rdz12_track; } - [type='path'] { - background/line-width: @rdz12_path; - } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - background/line-width: @rdz12_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz12_cycle*1.5; - } - } - } - [zoom>=13] { - [type='track'] { background/line-width: @rdz13_track; } - [type='bridleway'] { background/line-width: @rdz13_bridleway; } - [type='footway'] { background/line-width: @rdz13_footway; } - [type='path'] { - background/line-width: @rdz13_path; - } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - background/line-width: @rdz13_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz13_cycle*1.5; + line-width: @rdz11_motorway_trunk; + [zoom>=12] { line-width: @rdz12_motorway_trunk; } + [zoom>=13] { line-width: @rdz13_motorway_trunk; } + [zoom>=14] { line-width: @rdz14_motorway_trunk; } + [zoom>=15] { line-width: @rdz15_motorway_trunk; } + [zoom>=16] { line-width: @rdz16_motorway_trunk; } + [zoom>=17] { line-width: @rdz17_motorway_trunk; } + [zoom>=18] { line-width: @rdz18_motorway_trunk; } + } + [type='motorway_link'][zoom>=12] { + line-cap: round; + line-join: round; + line-color: @motorway-trunk-fill; + #tunnel { line-color: lighten(@motorway-trunk-fill, 10%); } + [can_bicycle='yes'] { + line-color: @motorway-trunk-cycle-fill; + #tunnel { line-color: lighten(@motorway-trunk-cycle-fill, 10%); } + } + + line-width: @rdz12_motorway_link; + [zoom>=13] { line-width: @rdz13_motorway_link; } + [zoom>=14] { line-width: @rdz14_motorway_link; } + [zoom>=15] { line-width: @rdz15_motorway_link; } + [zoom>=16] { line-width: @rdz16_motorway_link; } + [zoom>=17] { line-width: @rdz17_motorway_link; } + [zoom>=18] { line-width: @rdz18_motorway_link; } + } + + [type='trunk'] { + line-cap: round; + line-join: round; + line-color: @motorway-trunk-cycle-fill; + #tunnel { line-color: lighten(@motorway-trunk-cycle-fill, 10%); } + [can_bicycle='no'] { + line-color: @motorway-trunk-fill; + #tunnel { line-color: lighten(@motorway-trunk-fill, 10%); } + } + + line-width: @rdz11_motorway_trunk; + [zoom>=12] { line-width: @rdz12_motorway_trunk; } + [zoom>=13] { line-width: @rdz13_motorway_trunk; } + [zoom>=14] { line-width: @rdz14_motorway_trunk; } + [zoom>=15] { line-width: @rdz15_motorway_trunk; } + [zoom>=16] { line-width: @rdz16_motorway_trunk; } + [zoom>=17] { line-width: @rdz17_motorway_trunk; } + [zoom>=18] { line-width: @rdz18_motorway_trunk; } + } + [type='trunk_link'][zoom>=12] { + line-cap: round; + line-join: round; + line-color: @motorway-trunk-cycle-fill; + #tunnel { line-color: lighten(@motorway-trunk-cycle-fill, 10%); } + [can_bicycle='no'] { + line-color: @motorway-trunk-fill; + #tunnel { line-color: lighten(@motorway-trunk-fill, 10%); } + } + + line-width: @rdz12_trunk_link; + [zoom>=13] { line-width: @rdz13_trunk_link; } + [zoom>=14] { line-width: @rdz14_trunk_link; } + [zoom>=15] { line-width: @rdz15_trunk_link; } + [zoom>=16] { line-width: @rdz16_trunk_link; } + [zoom>=17] { line-width: @rdz17_trunk_link; } + [zoom>=18] { line-width: @rdz18_trunk_link; } + } + + [type='primary'] { + line-cap: round; + line-join: round; + line-width: @rdz11_primary; + [zoom>=12] { line-width: @rdz12_primary; } + [zoom>=13] { line-width: @rdz13_primary; } + [zoom>=14] { line-width: @rdz14_primary; } + [zoom>=15] { line-width: @rdz15_primary; } + [zoom>=16] { line-width: @rdz16_primary; } + [zoom>=17] { line-width: @rdz17_primary; } + [zoom>=18] { line-width: @rdz18_primary; } + + line-color: @primary-fill; + #tunnel { line-color: lighten(@primary-fill, 5%); } + [maxspeed_kmh < 33] { + line-color: @speed32-fill; + #tunnel { line-color: lighten(@speed32-fill, 10%); } + } + [maxspeed_kmh < 21] { + line-color: @speed20-fill; + #tunnel { line-color: lighten(@speed20-fill, 10%); } + } + [maxspeed_kmh < 10] { + line-color: @speedWalk-fill; + #tunnel { line-color: lighten(@speedWalk-fill, 10%); } + } + [motor_vehicle='no'][can_bicycle!='no'] { + line-color: @nomotor-fill; + #tunnel { line-color: lighten(@nomotor-fill, 10%); } + } + [cyclestreet='yes'] { + line-color: @mixed-cycle-fill; + #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } + } + [can_bicycle='no'], + [can_bicycle='private'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + [zoom>=14] { + [surface_type='cyclocross'], + [surface_type='mtb'] { + surface/line-width: @rdz14_primary; + [zoom>=15] { surface/line-width: @rdz15_primary; } + [zoom>=16] { surface/line-width: @rdz16_primary; } + [zoom>=17] { surface/line-width: @rdz17_primary; } + [zoom>=18] { surface/line-width: @rdz18_primary; } + + [surface_type='cyclocross'] { + surface/line-opacity: 0.6; + surface/line-dasharray: 4,8; + [zoom>=16] { surface/line-dasharray: 6,12; } + [zoom>=17] { surface/line-dasharray: 8,16; } + + surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } - } - [zoom>=14] { - [type='track'] { background/line-width: @rdz14_track; } - [type='bridleway'] { background/line-width: @rdz14_bridleway; } - [type='footway'] { background/line-width: @rdz14_footway; } - [type='path'] { - background/line-width: @rdz14_path; - } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - background/line-width: @rdz14_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz14_cycle*1.5; + + [surface_type='mtb'] { + surface/line-dasharray: 10,5; + [zoom>=16] { surface/line-dasharray: 14,7; } + [zoom>=17] { surface/line-dasharray: 20,10; } + + surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } } - [zoom>=15] { - [type='track'] { background/line-width: @rdz15_track; } - [type='bridleway'] { background/line-width: @rdz15_bridleway; } - [type='footway'] { background/line-width: @rdz15_footway; } - [type='path'] { - background/line-width: @rdz15_path; - } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - background/line-width: @rdz15_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz15_cycle*1.5; + } + } + [type='primary_link'][zoom>=12] { + line-cap: round; + line-join: round; + line-width: @rdz12_primary_link; + [zoom>=13] { line-width: @rdz13_primary_link; } + [zoom>=14] { line-width: @rdz14_primary_link; } + [zoom>=15] { line-width: @rdz15_primary_link; } + [zoom>=16] { line-width: @rdz16_primary_link; } + [zoom>=17] { line-width: @rdz17_primary_link; } + [zoom>=18] { line-width: @rdz18_primary_link; } + + line-color: @primary-fill; + #tunnel { line-color: lighten(@primary-fill, 5%); } + [maxspeed_kmh < 33] { + line-color: @speed32-fill; + #tunnel { line-color: lighten(@speed32-fill, 10%); } + } + [maxspeed_kmh < 21] { + line-color: @speed20-fill; + #tunnel { line-color: lighten(@speed20-fill, 10%); } + } + [maxspeed_kmh < 10] { + line-color: @speedWalk-fill; + #tunnel { line-color: lighten(@speedWalk-fill, 10%); } + } + [motor_vehicle='no'][can_bicycle!='no'] { + line-color: @nomotor-fill; + #tunnel { line-color: lighten(@nomotor-fill, 10%); } + } + [cyclestreet='yes'] { + line-color: @mixed-cycle-fill; + #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } + } + [can_bicycle='no'], + [can_bicycle='private'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + [zoom>=14] { + [surface_type='cyclocross'], + [surface_type='mtb'] { + surface/line-width: @rdz14_primary_link; + [zoom>=15] { surface/line-width: @rdz15_primary_link; } + [zoom>=16] { surface/line-width: @rdz16_primary_link; } + [zoom>=17] { surface/line-width: @rdz17_primary_link } + [zoom>=18] { surface/line-width: @rdz18_primary_link; } + + [surface_type='cyclocross'] { + surface/line-opacity: 0.6; + surface/line-dasharray: 4,8; + [zoom>=16] { surface/line-dasharray: 6,12; } + [zoom>=17] { surface/line-dasharray: 8,16; } + + surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } - } - [zoom>=16] { - [type='track'] { background/line-width: @rdz16_track; } - [type='bridleway'] { background/line-width: @rdz16_bridleway; } - [type='footway'] { background/line-width: @rdz16_footway; } - [type='path'] { - background/line-width: @rdz16_path; - } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - background/line-width: @rdz16_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz16_cycle*1.5; + + [surface_type='mtb'] { + surface/line-dasharray: 10,5; + [zoom>=16] { surface/line-dasharray: 14,7; } + [zoom>=17] { surface/line-dasharray: 20,10; } + + surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } } - [zoom>=17] { - [type='track'] { background/line-width: @rdz17_track; } - [type='bridleway'] { background/line-width: @rdz17_bridleway; } - [type='footway'] { background/line-width: @rdz17_footway; } - [type='path'] { - background/line-width: @rdz17_path; - } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - background/line-width: @rdz17_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz17_cycle*1.5; + } + } + + [type='secondary'] { + line-cap: round; + line-join: round; + line-width: @rdz11_secondary; + [zoom>=12] { line-width: @rdz12_secondary; } + [zoom>=13] { line-width: @rdz13_secondary; } + [zoom>=14] { line-width: @rdz14_secondary; } + [zoom>=15] { line-width: @rdz15_secondary; } + [zoom>=16] { line-width: @rdz16_secondary; } + [zoom>=17] { line-width: @rdz17_secondary; } + [zoom>=18] { line-width: @rdz18_secondary; } + + line-color: @secondary-fill; + #tunnel { line-color: lighten(@secondary-fill, 5%); } + [maxspeed_kmh < 33] { + line-color: @speed32-fill; + #tunnel { line-color: lighten(@speed32-fill, 10%); } + } + [maxspeed_kmh < 21] { + line-color: @speed20-fill; + #tunnel { line-color: lighten(@speed20-fill, 10%); } + } + [maxspeed_kmh < 10] { + line-color: @speedWalk-fill; + #tunnel { line-color: lighten(@speedWalk-fill, 10%); } + } + [motor_vehicle='no'][can_bicycle!='no'] { + line-color: @nomotor-fill; + #tunnel { line-color: lighten(@nomotor-fill, 10%); } + } + [cyclestreet='yes'] { + line-color: @mixed-cycle-fill; + #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } + } + [can_bicycle='no'], + [can_bicycle='private'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + [zoom>=14] { + [surface_type='cyclocross'], + [surface_type='mtb'] { + surface/line-width: @rdz14_secondary; + [zoom>=15] { surface/line-width: @rdz15_secondary; } + [zoom>=16] { surface/line-width: @rdz16_secondary; } + [zoom>=17] { surface/line-width: @rdz17_secondary; } + [zoom>=18] { surface/line-width: @rdz18_secondary; } + + [surface_type='cyclocross'] { + surface/line-opacity: 0.6; + surface/line-dasharray: 4,8; + [zoom>=16] { surface/line-dasharray: 6,12; } + [zoom>=17] { surface/line-dasharray: 8,16; } + + surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } - } - [zoom>=18] { - [type='track'] { background/line-width: @rdz18_track; } - [type='bridleway'] { background/line-width: @rdz18_bridleway; } - [type='footway'] { background/line-width: @rdz18_footway; } - [type='path'] { - background/line-width: @rdz18_path; - } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - background/line-width: @rdz18_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz18_cycle*1.5; + + [surface_type='mtb'] { + surface/line-dasharray: 10,5; + [zoom>=16] { surface/line-dasharray: 14,7; } + [zoom>=17] { surface/line-dasharray: 20,10; } + + surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } } } + } + [type='secondary_link'][zoom>=12] { + line-cap: round; + line-join: round; + line-width: @rdz12_secondary_link; + [zoom>=13] { line-width: @rdz13_secondary_link; } + [zoom>=14] { line-width: @rdz14_secondary_link; } + [zoom>=15] { line-width: @rdz15_secondary_link; } + [zoom>=16] { line-width: @rdz16_secondary_link; } + [zoom>=17] { line-width: @rdz17_secondary_link; } + [zoom>=18] { line-width: @rdz18_secondary_link; } - [surface_type='unknown'][type!='cycleway'][zoom >= 13] { - line-cap: butt; - line-dasharray: 10,1; + line-color: @secondary-fill; + #tunnel { line-color: lighten(@secondary-fill, 5%); } + [maxspeed_kmh < 33] { + line-color: @speed32-fill; + #tunnel { line-color: lighten(@speed32-fill, 10%); } + } + [maxspeed_kmh < 21] { + line-color: @speed20-fill; + #tunnel { line-color: lighten(@speed20-fill, 10%); } + } + [maxspeed_kmh < 10] { + line-color: @speedWalk-fill; + #tunnel { line-color: lighten(@speedWalk-fill, 10%); } + } + [motor_vehicle='no'][can_bicycle!='no'] { + line-color: @nomotor-fill; + #tunnel { line-color: lighten(@nomotor-fill, 10%); } + } + [cyclestreet='yes'] { + line-color: @mixed-cycle-fill; + #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } + } + [can_bicycle='no'], + [can_bicycle='private'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } } - [surface_type='cyclocross'][zoom >= 12] { - line-cap: butt; - line-dasharray: 5,2; - [zoom>=16] { - line-dasharray: 10,4; - } - [zoom>=17] { - line-dasharray: 20,8; + [zoom>=14] { + [surface_type='cyclocross'], + [surface_type='mtb'] { + surface/line-width: @rdz14_secondary_link; + [zoom>=15] { surface/line-width: @rdz15_secondary_link; } + [zoom>=16] { surface/line-width: @rdz16_secondary_link; } + [zoom>=17] { surface/line-width: @rdz17_secondary_link; } + [zoom>=18] { surface/line-width: @rdz18_secondary_link; } + + [surface_type='cyclocross'] { + surface/line-opacity: 0.6; + surface/line-dasharray: 4,8; + [zoom>=16] { surface/line-dasharray: 6,12; } + [zoom>=17] { surface/line-dasharray: 8,16; } + + surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); + } + } + + [surface_type='mtb'] { + surface/line-dasharray: 10,5; + [zoom>=16] { surface/line-dasharray: 14,7; } + [zoom>=17] { surface/line-dasharray: 20,10; } + + surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); + } + } } } + } - [surface_type='mtb'][zoom >= 12] { + [type='tertiary'][zoom>=12] { + line-cap: round; + line-join: round; + line-width: @rdz12_tertiary; + [zoom>=13] { line-width: @rdz13_tertiary; } + [zoom>=14] { line-width: @rdz14_tertiary; } + [zoom>=15] { line-width: @rdz15_tertiary; } + [zoom>=16] { line-width: @rdz16_tertiary; } + [zoom>=17] { line-width: @rdz17_tertiary; } + [zoom>=18] { line-width: @rdz18_tertiary; } + + line-color: @standard-fill; + #tunnel { line-color: lighten(@standard-fill, 10%); } + [maxspeed_kmh < 33] { + line-color: @speed32-fill; + #tunnel { line-color: lighten(@speed32-fill, 10%); } + } + [maxspeed_kmh < 21] { + line-color: @speed20-fill; + #tunnel { line-color: lighten(@speed20-fill, 10%); } + } + [maxspeed_kmh < 10] { + line-color: @speedWalk-fill; + #tunnel { line-color: lighten(@speedWalk-fill, 10%); } + } + [motor_vehicle='no'][can_bicycle!='no'] { + line-color: @nomotor-fill; + #tunnel { line-color: lighten(@nomotor-fill, 10%); } + } + [cyclestreet='yes'] { + line-color: @mixed-cycle-fill; + #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } + } + [can_bicycle='no'], + [can_bicycle='private'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + [zoom>=14] { + [surface_type='cyclocross'], + [surface_type='mtb'] { + surface/line-width: @rdz14_tertiary; + [zoom>=15] { surface/line-width: @rdz15_tertiary; } + [zoom>=16] { surface/line-width: @rdz16_tertiary; } + [zoom>=17] { surface/line-width: @rdz17_tertiary; } + [zoom>=18] { surface/line-width: @rdz18_tertiary; } + + [surface_type='cyclocross'] { + surface/line-opacity: 0.6; + surface/line-dasharray: 4,8; + [zoom>=16] { surface/line-dasharray: 6,12; } + [zoom>=17] { surface/line-dasharray: 8,16; } + + surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); + } + } + + [surface_type='mtb'] { + surface/line-dasharray: 10,5; + [zoom>=16] { surface/line-dasharray: 14,7; } + [zoom>=17] { surface/line-dasharray: 20,10; } + + surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); + } + } + } + } + } + [type='tertiary_link'][zoom>=12] { + line-cap: round; + line-join: round; + line-width: @rdz12_tertiary_link; + [zoom>=13] { line-width: @rdz13_tertiary_link; } + [zoom>=14] { line-width: @rdz14_tertiary_link; } + [zoom>=15] { line-width: @rdz15_tertiary_link; } + [zoom>=16] { line-width: @rdz16_tertiary_link; } + [zoom>=17] { line-width: @rdz17_tertiary_link; } + [zoom>=18] { line-width: @rdz18_tertiary_link; } + + line-color: @standard-fill; + #tunnel { line-color: lighten(@standard-fill, 10%); } + + [maxspeed_kmh < 33] { + line-color: @speed32-fill; + #tunnel { line-color: lighten(@speed32-fill, 10%); } + } + [maxspeed_kmh < 21] { + line-color: @speed20-fill; + #tunnel { line-color: lighten(@speed20-fill, 10%); } + } + [maxspeed_kmh < 10] { + line-color: @speedWalk-fill; + #tunnel { line-color: lighten(@speedWalk-fill, 10%); } + } + [motor_vehicle='no'][can_bicycle!='no'] { + line-color: @nomotor-fill; + #tunnel { line-color: lighten(@nomotor-fill, 10%); } + } + [cyclestreet='yes'] { + line-color: @mixed-cycle-fill; + #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } + } + [can_bicycle='no'], + [can_bicycle='private'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + [zoom>=14] { + [surface_type='cyclocross'], + [surface_type='mtb'] { + surface/line-width: @rdz14_tertiary_link; + [zoom>=15] { surface/line-width: @rdz15_tertiary_link; } + [zoom>=16] { surface/line-width: @rdz16_tertiary_link; } + [zoom>=17] { surface/line-width: @rdz17_tertiary_link; } + [zoom>=18] { surface/line-width: @rdz18_tertiary_link; } + + [surface_type='cyclocross'] { + surface/line-opacity: 0.6; + surface/line-dasharray: 4,8; + [zoom>=16] { surface/line-dasharray: 6,12; } + [zoom>=17] { surface/line-dasharray: 8,16; } + + surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); + } + } + + [surface_type='mtb'] { + surface/line-dasharray: 10,5; + [zoom>=16] { surface/line-dasharray: 14,7; } + [zoom>=17] { surface/line-dasharray: 20,10; } + + surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); + } + } + } + } + } + + [type='unclassified'][zoom>=12] { + line-cap: round; + line-join: round; + line-width: @rdz12_unclassified; + [zoom>=13] { line-width: @rdz13_unclassified; } + [zoom>=14] { line-width: @rdz14_unclassified; } + [zoom>=15] { line-width: @rdz15_unclassified; } + [zoom>=16] { line-width: @rdz16_unclassified; } + [zoom>=17] { line-width: @rdz17_unclassified; } + [zoom>=18] { line-width: @rdz18_unclassified; } + + line-color: @standard-fill; + #tunnel { line-color: lighten(@standard-fill, 10%); } + + [maxspeed_kmh < 33] { + line-color: @speed32-fill; + #tunnel { line-color: lighten(@speed32-fill, 10%); } + } + [maxspeed_kmh < 21] { + line-color: @speed20-fill; + #tunnel { line-color: lighten(@speed20-fill, 10%); } + } + [maxspeed_kmh < 10] { + line-color: @speedWalk-fill; + #tunnel { line-color: lighten(@speedWalk-fill, 10%); } + } + [motor_vehicle='no'][can_bicycle!='no'] { + line-color: @nomotor-fill; + #tunnel { line-color: lighten(@nomotor-fill, 10%); } + } + [cyclestreet='yes'] { + line-color: @mixed-cycle-fill; + #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } + } + [can_bicycle='no'], + [can_bicycle='private'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + [zoom>=14] { + [surface_type='cyclocross'], + [surface_type='mtb'] { + surface/line-width: @rdz14_unclassified; + [zoom>=15] { surface/line-width: @rdz15_unclassified; } + [zoom>=16] { surface/line-width: @rdz16_unclassified; } + [zoom>=17] { surface/line-width: @rdz17_unclassified; } + [zoom>=18] { surface/line-width: @rdz18_unclassified; } + + [surface_type='cyclocross'] { + surface/line-opacity: 0.6; + surface/line-dasharray: 4,8; + [zoom>=16] { surface/line-dasharray: 6,12; } + [zoom>=17] { surface/line-dasharray: 8,16; } + + surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); + } + } + + [surface_type='mtb'] { + surface/line-dasharray: 10,5; + [zoom>=16] { surface/line-dasharray: 14,7; } + [zoom>=17] { surface/line-dasharray: 20,10; } + + surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); + } + } + } + } + } + + [type='residential'][zoom>=12] { + line-cap: round; + line-join: round; + line-width: @rdz12_residential; + [zoom>=13] { line-width: @rdz13_residential; } + [zoom>=14] { line-width: @rdz14_residential; } + [zoom>=15] { line-width: @rdz15_residential; } + [zoom>=16] { line-width: @rdz16_residential; } + [zoom>=17] { line-width: @rdz17_residential; } + [zoom>=18] { line-width: @rdz18_residential; } + + line-color: @standard-fill; + #tunnel { line-color: lighten(@standard-fill, 10%); } + [maxspeed_kmh < 33] { + line-color: @speed32-fill; + #tunnel { line-color: lighten(@speed32-fill, 10%); } + } + [maxspeed_kmh < 21] { + line-color: @speed20-fill; + #tunnel { line-color: lighten(@speed20-fill, 10%); } + } + [maxspeed_kmh < 10] { + line-color: @speedWalk-fill; + #tunnel { line-color: lighten(@speedWalk-fill, 10%); } + } + [motor_vehicle='no'][can_bicycle!='no'] { + line-color: @nomotor-fill; + #tunnel { line-color: lighten(@nomotor-fill, 10%); } + } + [cyclestreet='yes'] { + line-color: @mixed-cycle-fill; + #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } + } + [can_bicycle='no'], + [can_bicycle='private'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + [zoom>=14] { + [surface_type='cyclocross'], + [surface_type='mtb'] { + surface/line-width: @rdz14_residential; + [zoom>=15] { surface/line-width: @rdz15_residential; } + [zoom>=16] { surface/line-width: @rdz16_residential; } + [zoom>=17] { surface/line-width: @rdz17_residential; } + [zoom>=18] { surface/line-width: @rdz18_residential; } + + [surface_type='cyclocross'] { + surface/line-opacity: 0.6; + surface/line-dasharray: 4,8; + [zoom>=16] { surface/line-dasharray: 6,12; } + [zoom>=17] { surface/line-dasharray: 8,16; } + + surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); + } + } + + [surface_type='mtb'] { + surface/line-dasharray: 10,5; + [zoom>=16] { surface/line-dasharray: 14,7; } + [zoom>=17] { surface/line-dasharray: 20,10; } + + surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); + } + } + } + } + } + + [type='service'][zoom>=12] { + line-cap: round; + line-join: round; + line-width: @rdz12_service; + [zoom>=13] { line-width: @rdz13_service; } + [zoom>=14] { line-width: @rdz14_service; } + [zoom>=15] { line-width: @rdz15_service; } + [zoom>=16] { line-width: @rdz16_service; } + [zoom>=17] { line-width: @rdz17_service; } + [zoom>=18] { line-width: @rdz18_service; } + + line-color: @standard-fill; + #tunnel { line-color: lighten(@standard-fill, 10%); } + [maxspeed_kmh < 33] { + line-color: @speed32-fill; + #tunnel { line-color: lighten(@speed32-fill, 10%); } + } + [maxspeed_kmh < 21] { + line-color: @speed20-fill; + #tunnel { line-color: lighten(@speed20-fill, 10%); } + } + [maxspeed_kmh < 10] { + line-color: @speedWalk-fill; + #tunnel { line-color: lighten(@speedWalk-fill, 10%); } + } + [motor_vehicle='no'][can_bicycle!='no'] { + line-color: @nomotor-fill; + #tunnel { line-color: lighten(@nomotor-fill, 10%); } + } + [cyclestreet='yes'] { + line-color: @mixed-cycle-fill; + #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } + } + [can_bicycle='no'], + [can_bicycle='private'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + //surface + [zoom>=14] { + [surface_type='cyclocross'], + [surface_type='mtb'] { + surface/line-width: @rdz14_service; + [zoom>=15] { surface/line-width: @rdz15_service; } + [zoom>=16] { surface/line-width: @rdz16_service; } + [zoom>=17] { surface/line-width: @rdz17_service; } + [zoom>=18] { surface/line-width: @rdz18_service; } + + [surface_type='cyclocross'] { + surface/line-opacity: 0.6; + surface/line-dasharray: 4,8; + [zoom>=16] { surface/line-dasharray: 6,12; } + [zoom>=17] { surface/line-dasharray: 8,16; } + + surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); + } + } + + [surface_type='mtb'] { + surface/line-dasharray: 10,5; + [zoom>=16] { surface/line-dasharray: 14,7; } + [zoom>=17] { surface/line-dasharray: 20,10; } + + surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); + } + } + } + } + } + + [type='living_street'][zoom>=12] { + line-cap: round; + line-join: round; + line-width: @rdz12_living_street; + [zoom>=13] { line-width: @rdz13_living_street; } + [zoom>=14] { line-width: @rdz14_living_street; } + [zoom>=15] { line-width: @rdz15_living_street; } + [zoom>=16] { line-width: @rdz16_living_street; } + [zoom>=17] { line-width: @rdz17_living_street; } + [zoom>=18] { line-width: @rdz18_living_street; } + + line-color: @standard-fill; + #tunnel { line-color: lighten(@standard-fill, 10%); } + [maxspeed_kmh < 33] { + line-color: @speed32-fill; + #tunnel { line-color: lighten(@speed32-fill, 10%); } + } + [maxspeed_kmh < 21] { + line-color: @speed20-fill; + #tunnel { line-color: lighten(@speed20-fill, 10%); } + } + [maxspeed_kmh < 10] { + line-color: @speedWalk-fill; + #tunnel { line-color: lighten(@speedWalk-fill, 10%); } + } + [motor_vehicle='no'][can_bicycle!='no'] { + line-color: @nomotor-fill; + #tunnel { line-color: lighten(@nomotor-fill, 10%); } + } + [cyclestreet='yes'] { + line-color: @mixed-cycle-fill; + #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } + } + [can_bicycle='no'], + [can_bicycle='private'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + [zoom>=14] { + [surface_type='cyclocross'], + [surface_type='mtb'] { + surface/line-width: @rdz14_living_street; + [zoom>=15] { surface/line-width: @rdz15_living_street; } + [zoom>=16] { surface/line-width: @rdz16_living_street; } + [zoom>=17] { surface/line-width: @rdz17_living_street; } + [zoom>=18] { surface/line-width: @rdz18_living_street; } + + [surface_type='cyclocross'] { + surface/line-opacity: 0.6; + surface/line-dasharray: 4,8; + [zoom>=16] { surface/line-dasharray: 6,12; } + [zoom>=17] { surface/line-dasharray: 8,16; } + + surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); + } + } + + [surface_type='mtb'] { + surface/line-dasharray: 10,5; + [zoom>=16] { surface/line-dasharray: 14,7; } + [zoom>=17] { surface/line-dasharray: 20,10; } + + surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); + } + } + } + } + } + + [type='pedestrian'][zoom>=12] { + line-cap: round; + line-join: round; + line-width: @rdz12_pedestrian; + [zoom>=13] { line-width: @rdz13_pedestrian; } + [zoom>=14] { line-width: @rdz14_pedestrian; } + [zoom>=15] { line-width: @rdz15_pedestrian; } + [zoom>=16] { line-width: @rdz16_pedestrian; } + [zoom>=17] { line-width: @rdz17_pedestrian; } + [zoom>=18] { line-width: @rdz18_pedestrian; } + + line-color: @pedestrian-fill; + #tunnel { line-color: lighten(@pedestrian-fill, 10%); } + [maxspeed_kmh < 33] { + line-color: @speed32-fill; + #tunnel { line-color: lighten(@speed32-fill, 10%); } + } + [maxspeed_kmh < 21] { + line-color: @speed20-fill; + #tunnel { line-color: lighten(@speed20-fill, 10%); } + } + [maxspeed_kmh < 10] { + line-color: @speedWalk-fill; + #tunnel { line-color: lighten(@speedWalk-fill, 10%); } + } + // [motor_vehicle='no'][can_bicycle!='no'][type!='pedestrian'] { //Keep pedestrian color even if motor is forbidden. + // line-color: @nomotor-fill; + // #tunnel { + // line-color: lighten(@nomotor-fill, 10%); + // } + // } + /* [can_bicycle='no'], + [can_bicycle='private'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + }*/ + /* [cyclestreet='yes'] { // a pedestrian street should not be a cyclestreet + line-color: @mixed-cycle-fill; + #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } + }*/ + [can_bicycle='no'], + [can_bicycle='private'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + + [zoom>=14] { + [surface_type='cyclocross'], + [surface_type='mtb'] { + surface/line-width: @rdz14_pedestrian; + [zoom>=15] { surface/line-width: @rdz15_pedestrian; } + [zoom>=16] { surface/line-width: @rdz16_pedestrian; } + [zoom>=17] { surface/line-width: @rdz17_pedestrian; } + [zoom>=18] { surface/line-width: @rdz18_pedestrian; } + + [surface_type='cyclocross'] { + surface/line-opacity: 0.6; + surface/line-dasharray: 4,8; + [zoom>=16] { surface/line-dasharray: 6,12; } + [zoom>=17] { surface/line-dasharray: 8,16; } + + surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); + } + } + + // Bad surface ok for mountain bike (>40mm tyres). + [surface_type='mtb'] { + surface/line-dasharray: 10,5; + [zoom>=16] { surface/line-dasharray: 14,7; } + [zoom>=17] { surface/line-dasharray: 20,10; } + + surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. + [can_bicycle='no'], + [can_bicycle='private'] { + surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); + } + } + } + } + } + + // surfaces on track and path + [type='track'], + [type='bridleway'], + [type='footway'], + [type='path'], + [type='cycleway'] { + [surface_type='unknown'][zoom >= 13], + [surface_type='cyclocross'][zoom >= 12], + [surface_type='mtb'][zoom >= 12] { + background/line-join: round; + background/line-opacity: 0.4; + background/line-color: #FFFFFF; + + [type='cycleway'] { + background/line-color: darken(@cycle-fill, @surfaceLighter1); + background/line-opacity: 0.6; + } + + [zoom>=12] { + [type='track'] { background/line-width: @rdz12_track; } + [type='path'] { background/line-width: @rdz12_path; } + [type='cycleway'], + [type='path'][can_bicycle='designated'] { + background/line-width: @rdz12_cycle; + [oneway='no'][oneway_bicycle='no'] { + background/line-width: @rdz12_cycle*1.5; + } + } + } + [zoom>=13] { + [type='track'] { background/line-width: @rdz13_track; } + [type='bridleway'] { background/line-width: @rdz13_bridleway; } + [type='footway'] { background/line-width: @rdz13_footway; } + [type='path'] { background/line-width: @rdz13_path; } + [type='cycleway'], + [type='path'][can_bicycle='designated'] { + background/line-width: @rdz13_cycle; + [oneway='no'][oneway_bicycle='no'] { + background/line-width: @rdz13_cycle*1.5; + } + } + } + [zoom>=14] { + [type='track'] { background/line-width: @rdz14_track; } + [type='bridleway'] { background/line-width: @rdz14_bridleway; } + [type='footway'] { background/line-width: @rdz14_footway; } + [type='path'] { background/line-width: @rdz14_path; } + [type='cycleway'], + [type='path'][can_bicycle='designated'] { + background/line-width: @rdz14_cycle; + [oneway='no'][oneway_bicycle='no'] { + background/line-width: @rdz14_cycle*1.5; + } + } + } + [zoom>=15] { + [type='track'] { background/line-width: @rdz15_track; } + [type='bridleway'] { background/line-width: @rdz15_bridleway; } + [type='footway'] { background/line-width: @rdz15_footway; } + [type='path'] { background/line-width: @rdz15_path; } + [type='cycleway'], + [type='path'][can_bicycle='designated'] { + background/line-width: @rdz15_cycle; + [oneway='no'][oneway_bicycle='no'] { + background/line-width: @rdz15_cycle*1.5; + } + } + } + [zoom>=16] { + [type='track'] { background/line-width: @rdz16_track; } + [type='bridleway'] { background/line-width: @rdz16_bridleway; } + [type='footway'] { background/line-width: @rdz16_footway; } + [type='path'] { background/line-width: @rdz16_path; } + [type='cycleway'], + [type='path'][can_bicycle='designated'] { + background/line-width: @rdz16_cycle; + [oneway='no'][oneway_bicycle='no'] { + background/line-width: @rdz16_cycle*1.5; + } + } + } + [zoom>=17] { + [type='track'] { background/line-width: @rdz17_track; } + [type='bridleway'] { background/line-width: @rdz17_bridleway; } + [type='footway'] { background/line-width: @rdz17_footway; } + [type='path'] { background/line-width: @rdz17_path; } + [type='cycleway'], + [type='path'][can_bicycle='designated'] { + background/line-width: @rdz17_cycle; + [oneway='no'][oneway_bicycle='no'] { + background/line-width: @rdz17_cycle*1.5; + } + } + } + [zoom>=18] { + [type='track'] { background/line-width: @rdz18_track; } + [type='bridleway'] { background/line-width: @rdz18_bridleway; } + [type='footway'] { background/line-width: @rdz18_footway; } + [type='path'] { background/line-width: @rdz18_path; } + [type='cycleway'], + [type='path'][can_bicycle='designated'] { + background/line-width: @rdz18_cycle; + [oneway='no'][oneway_bicycle='no'] { + background/line-width: @rdz18_cycle*1.5; + } + } + } + } + + [surface_type='unknown'][type!='cycleway'][zoom >= 13] { + line-cap: butt; + line-dasharray: 10,1; + } + + [surface_type='cyclocross'][zoom >= 12] { + line-cap: butt; + line-dasharray: 5,2; + [zoom>=16] { + line-dasharray: 10,4; + } + [zoom>=17] { + line-dasharray: 20,8; + } + } + + [surface_type='mtb'][zoom >= 12] { line-cap: butt; line-dasharray: 2,2; [zoom>=16] { @@ -1459,51 +2325,6 @@ } // -- colors & styles -- - line-color: @standard-fill; - #tunnel { - line-color: lighten(@standard-fill, 10%); - } - - [type='motorway'], - [type='motorway_link'] { - line-color: @motorway-trunk-fill; - #tunnel { - line-color: lighten(@motorway-trunk-fill, 10%); - } - [can_bicycle='yes'] { - line-color: @motorway-trunk-cycle-fill; - #tunnel { - line-color: lighten(@motorway-trunk-cycle-fill, 10%); - } - } - } - [type='trunk'], - [type='trunk_link'] { - line-color: @motorway-trunk-cycle-fill; - #tunnel { - line-color: lighten(@motorway-trunk-cycle-fill, 10%); - } - [can_bicycle='no'] { - line-color: @motorway-trunk-fill; - #tunnel { - line-color: lighten(@motorway-trunk-fill, 10%); - } - } - } - [type='primary'], - [type='primary_link'] { - line-color: @primary-fill; - #tunnel { - line-color: lighten(@primary-fill, 5%); - } - } - [type='secondary'], - [type='secondary_link'] { - line-color: @secondary-fill; - #tunnel { - line-color: lighten(@secondary-fill, 5%); - } - } [type='track'] { line-color: @track-fill; #tunnel { @@ -1516,12 +2337,6 @@ line-color: lighten(@cycle-fill, 15%); } } - [type='pedestrian'] { - line-color: @pedestrian-fill; - #tunnel { - line-color: lighten(@pedestrian-fill, 10%); - } - } [type='bridleway'] { line-color: @bridleway-fill; #tunnel { @@ -1540,8 +2355,7 @@ #tunnel { line-color: lighten(@path-fill, 10%); } - } - [type='path'] { + [can_bicycle='designated'] { line-color: @mixed-cycle-fill; #tunnel { @@ -1556,235 +2370,31 @@ } } - // Maxspeed bike friendliness only applies to a limited set of highways - [type != 'trunk_link'][type != 'motorway_link'][type != 'motorway'][type != 'trunk'] - [type != 'path'][type != 'cycleway'][type != 'footway'][type != 'bridleway'][type != 'steps'] - [type != 'track'][type != 'railway'][cyclestreet != 'yes'] { - // low maxspeed roads are bike friendly - [maxspeed_kmh < 33] { - line-color: @speed32-fill; - #tunnel { - line-color: lighten(@speed32-fill, 10%); - } - } - [maxspeed_kmh < 21] { - line-color: @speed20-fill; - #tunnel { - line-color: lighten(@speed20-fill, 10%); - } - } - [maxspeed_kmh < 10] { - line-color: @speedWalk-fill; - #tunnel { - line-color: lighten(@speedWalk-fill, 10%); - } - } - [motor_vehicle='no'][can_bicycle!='no'][type!='pedestrian'] { - line-color: @nomotor-fill; - #tunnel { - line-color: lighten(@nomotor-fill, 10%); - } - } - [can_bicycle='no'], - [can_bicycle='private'] { - line-color: @standard-nobicycle; - #tunnel { - line-color: lighten(@standard-nobicycle, 5%); - } - } - } - - - // cycle streets / bicycle roads are bike friendly - [cyclestreet='yes'] { - line-color: @mixed-cycle-fill; - #tunnel { - line-color: lighten(@mixed-cycle-fill, 10%); - } - } - - [can_bicycle='no'], - [can_bicycle='private'] { - line-color: @standard-nobicycle; - #tunnel { - line-color: lighten(@standard-nobicycle, 5%); - } - } - - [type='service'], [type='track'], - [type='tertiary'], - [type='living_street'], - [type='road'], - [type='unclassified'], - [type='residential'], - [type='tertiary_link'], - [type='secondary_link'], - [type='primary_link'], - [type='trunk_link'], - [type='motorway_link'], - [type='primary'], - [type='secondary'], - [type='motorway'], - [type='trunk'], [type='cycleway'], - [type='pedestrian'], [type='bridleway'], [type='footway'], [type='path'] { line-cap: round; line-join: round; - } - - #tunnel { - line-cap: butt; - } - - // Surfaces on road and cycleway - [type='primary'], - [type='secondary'], - [type='tertiary'], - [type='living_street'], - [type='road'], - [type='unclassified'], - [type='residential'], - [type='tertiary_link'], - [type='secondary_link'], - [type='primary_link'], - [type='service'], - [type='pedestrian'] { - // Surface ok for treking/gravel/cyclocross/city bike (28mm < tyres <= 40mm). - [surface_type='cyclocross'] { - surface/line-opacity: 0.6; - surface/line-dasharray: 4,8; - [zoom>=16] { - surface/line-dasharray: 6,12; - } - [zoom>=17] { - surface/line-dasharray: 8,16; - } - - surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - - [can_bicycle='no'], - [can_bicycle='private'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); - } - } - - // Bad surface ok for mountain bike (>40mm tyres). - [surface_type='mtb'] { - surface/line-dasharray: 10,5; - [zoom>=16] { - surface/line-dasharray: 14,7; - } - [zoom>=17] { - surface/line-dasharray: 20,10; - } - - surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'], - [can_bicycle='private'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); + [can_bicycle='no'], + [can_bicycle='private'] { + line-color: @standard-nobicycle; + #tunnel { + line-color: lighten(@standard-nobicycle, 5%); } } + } - [surface_type='cyclocross'], - [surface_type='mtb'] { - [zoom>=14] { - [type='primary'] { surface/line-width: @rdz14_primary; } - [type='secondary'] { surface/line-width: @rdz14_secondary; } - [type='tertiary'] { surface/line-width: @rdz14_tertiary; } - [type='living_street'] { surface/line-width: @rdz14_living_street; } - [type='road'] { surface/line-width: @rdz14_road; } - [type='unclassified'] { surface/line-width: @rdz14_unclassified; } - [type='residential'] { surface/line-width: @rdz14_residential; } - [type='tertiary_link'] { surface/line-width: @rdz14_tertiary_link; } - [type='secondary_link'] { surface/line-width: @rdz14_secondary_link; } - [type='primary_link'] { surface/line-width: @rdz14_primary_link; } - [type='service'] { surface/line-width: @rdz14_service; } - [type='pedestrian'] { surface/line-width: @rdz14_pedestrian; } - } - [zoom>=15] { - [type='primary'] { surface/line-width: @rdz15_primary; } - [type='secondary'] { surface/line-width: @rdz15_secondary; } - [type='tertiary'] { surface/line-width: @rdz15_tertiary; } - [type='living_street'] { surface/line-width: @rdz15_living_street; } - [type='road'] { surface/line-width: @rdz15_road; } - [type='unclassified'] { surface/line-width: @rdz15_unclassified; } - [type='residential'] { surface/line-width: @rdz15_residential; } - [type='tertiary_link'] { surface/line-width: @rdz15_tertiary_link; } - [type='secondary_link'] { surface/line-width: @rdz15_secondary_link; } - [type='primary_link'] { surface/line-width: @rdz15_primary_link; } - [type='service'] { surface/line-width: @rdz15_service; } - [type='pedestrian'] { surface/line-width: @rdz15_pedestrian; } - } - [zoom>=16] { - [type='primary'] { surface/line-width: @rdz16_primary; } - [type='secondary'] { surface/line-width: @rdz16_secondary; } - [type='tertiary'] { surface/line-width: @rdz16_tertiary; } - [type='living_street'] { surface/line-width: @rdz16_living_street; } - [type='road'] { surface/line-width: @rdz16_road; } - [type='unclassified'] { surface/line-width: @rdz16_unclassified; } - [type='residential'] { surface/line-width: @rdz16_residential; } - [type='tertiary_link'] { surface/line-width: @rdz16_tertiary_link; } - [type='secondary_link'] { surface/line-width: @rdz16_secondary_link; } - [type='primary_link'] { surface/line-width: @rdz16_primary_link; } - [type='service'] { surface/line-width: @rdz16_service; } - [type='pedestrian'] { surface/line-width: @rdz16_pedestrian; } - } - [zoom>=17] { - [type='primary'] { surface/line-width: @rdz17_primary; } - [type='secondary'] { surface/line-width: @rdz17_secondary; } - [type='tertiary'] { surface/line-width: @rdz17_tertiary; } - [type='living_street'] { surface/line-width: @rdz17_living_street; } - [type='road'] { surface/line-width: @rdz17_road; } - [type='unclassified'] { surface/line-width: @rdz17_unclassified; } - [type='residential'] { surface/line-width: @rdz17_residential; } - [type='tertiary_link'] { surface/line-width: @rdz17_tertiary_link; } - [type='secondary_link'] { surface/line-width: @rdz17_secondary_link; } - [type='primary_link'] { surface/line-width: @rdz17_primary_link; } - [type='service'] { surface/line-width: @rdz17_service; } - [type='pedestrian'] { surface/line-width: @rdz17_pedestrian; } - } - [zoom>=18] { - [type='primary'] { surface/line-width: @rdz18_primary; } - [type='secondary'] { surface/line-width: @rdz18_secondary; } - [type='tertiary'] { surface/line-width: @rdz18_tertiary; } - [type='living_street'] { surface/line-width: @rdz18_living_street; } - [type='road'] { surface/line-width: @rdz18_road; } - [type='unclassified'] { surface/line-width: @rdz18_unclassified; } - [type='residential'] { surface/line-width: @rdz18_residential; } - [type='tertiary_link'] { surface/line-width: @rdz18_tertiary_link; } - [type='secondary_link'] { surface/line-width: @rdz18_secondary_link; } - [type='primary_link'] { surface/line-width: @rdz18_primary_link; } - [type='service'] { surface/line-width: @rdz18_service; } - [type='pedestrian'] { surface/line-width: @rdz18_pedestrian; } - } - } + #tunnel { + line-cap: butt; } // -- widths -- line-width: 0; [zoom>=11] { - [type='motorway'], [type='trunk'] { line-width: @rdz11_motorway_trunk; } - [type='primary'] { line-width: @rdz11_primary; } - [type='secondary'] { line-width: @rdz11_secondary; } - [type='tertiary'] { line-width: @rdz11_tertiary; } - [type='living_street'] { line-width: @rdz11_living_street; } - [type='road'] { line-width: @rdz11_road; } - [type='unclassified'] { line-width: @rdz11_unclassified; } - [type='residential'] { line-width: @rdz11_residential; } - [type='tertiary_link'] { line-width: @rdz11_tertiary_link; } - [type='secondary_link'] { line-width: @rdz11_secondary_link; } - [type='primary_link'] { line-width: @rdz11_primary_link; } - [type='trunk_link'] { line-width: @rdz11_trunk_link; } - [type='motorway_link'] { line-width: @rdz11_motorway_link; } - [type='service'] { line-width: @rdz11_service; } - [type='pedestrian'] { line-width: @rdz11_pedestrian; } [type='track'] { line-width: @rdz11_track; } - // bridleway, footway, steps are not shown at Z11 [type='path'] { line-width: @rdz11_path; } @@ -1797,23 +2407,7 @@ } } [zoom>=12] { - [type='motorway'], [type='trunk'] { line-width: @rdz12_motorway_trunk; } - [type='primary'] { line-width: @rdz12_primary; } - [type='secondary'] { line-width: @rdz12_secondary; } - [type='tertiary'] { line-width: @rdz12_tertiary; } - [type='living_street'] { line-width: @rdz12_living_street; } - [type='road'] { line-width: @rdz12_road; } - [type='unclassified'] { line-width: @rdz12_unclassified; } - [type='residential'] { line-width: @rdz12_residential; } - [type='tertiary_link'] { line-width: @rdz12_tertiary_link; } - [type='secondary_link'] { line-width: @rdz12_secondary_link; } - [type='primary_link'] { line-width: @rdz12_primary_link; } - [type='trunk_link'] { line-width: @rdz12_trunk_link; } - [type='motorway_link'] { line-width: @rdz12_motorway_link; } - [type='service'] { line-width: @rdz12_service; } - [type='pedestrian'] { line-width: @rdz12_pedestrian; } [type='track'] { line-width: @rdz12_track; } - // bridleway, footway, steps are not shown at Z12 [type='path'] { line-width: @rdz12_path; } @@ -1826,21 +2420,6 @@ } } [zoom>=13] { - [type='motorway'], [type='trunk'] { line-width: @rdz13_motorway_trunk; } - [type='primary'] { line-width: @rdz13_primary; } - [type='secondary'] { line-width: @rdz13_secondary; } - [type='living_street'] { line-width: @rdz13_living_street; } - [type='road'] { line-width: @rdz13_road; } - [type='unclassified'] { line-width: @rdz13_unclassified; } - [type='residential'] { line-width: @rdz13_residential; } - [type='tertiary_link'] { line-width: @rdz13_tertiary_link; } - [type='secondary_link'] { line-width: @rdz13_secondary_link; } - [type='primary_link'] { line-width: @rdz13_primary_link; } - [type='trunk_link'] { line-width: @rdz13_trunk_link; } - [type='motorway_link'] { line-width: @rdz13_motorway_link; } - [type='tertiary'] { line-width: @rdz13_tertiary } - [type='service'] { line-width: @rdz13_service; } - [type='pedestrian'] { line-width: @rdz13_pedestrian; } [type='track'] { line-width: @rdz13_track; } [type='bridleway'] { line-width: @rdz13_bridleway; } [type='footway'] { line-width: @rdz13_footway; } @@ -1857,21 +2436,6 @@ } } [zoom>=14] { - [type='motorway'], [type='trunk'] { line-width: @rdz14_motorway_trunk; } - [type='primary'] { line-width: @rdz14_primary; } - [type='secondary'] { line-width: @rdz14_secondary; } - [type='tertiary'] { line-width: @rdz14_tertiary; } - [type='living_street'] { line-width: @rdz14_living_street; } - [type='road'] { line-width: @rdz14_road; } - [type='unclassified'] { line-width: @rdz14_unclassified; } - [type='residential'] { line-width: @rdz14_residential; } - [type='tertiary_link'] { line-width: @rdz14_tertiary_link; } - [type='secondary_link'] { line-width: @rdz14_secondary_link; } - [type='primary_link'] { line-width: @rdz14_primary_link; } - [type='trunk_link'] { line-width: @rdz14_trunk_link; } - [type='motorway_link'] { line-width: @rdz14_motorway_link; } - [type='service'] { line-width: @rdz14_service; } - [type='pedestrian'] { line-width: @rdz14_pedestrian; } [type='track'] { line-width: @rdz14_track; } [type='bridleway'] { line-width: @rdz14_bridleway; } [type='footway'] { line-width: @rdz14_footway; } @@ -1888,21 +2452,6 @@ } } [zoom>=15] { - [type='motorway'], [type='trunk'] { line-width: @rdz15_motorway_trunk; } - [type='primary'] { line-width: @rdz15_primary; } - [type='secondary'] { line-width: @rdz15_secondary; } - [type='tertiary'] { line-width: @rdz15_tertiary; } - [type='living_street'] { line-width: @rdz15_living_street; } - [type='road'] { line-width: @rdz15_road; } - [type='unclassified'] { line-width: @rdz15_unclassified; } - [type='residential'] { line-width: @rdz15_residential; } - [type='tertiary_link'] { line-width: @rdz15_tertiary_link; } - [type='secondary_link'] { line-width: @rdz15_secondary_link; } - [type='primary_link'] { line-width: @rdz15_primary_link; } - [type='trunk_link'] { line-width: @rdz15_trunk_link; } - [type='motorway_link'] { line-width: @rdz15_motorway_link; } - [type='service'] { line-width: @rdz15_service; } - [type='pedestrian'] { line-width: @rdz15_pedestrian; } [type='track'] { line-width: @rdz15_track; } [type='bridleway'] { line-width: @rdz15_bridleway; } [type='footway'] { line-width: @rdz15_footway; } @@ -1919,21 +2468,6 @@ } } [zoom>=16] { - [type='motorway'], [type='trunk'] { line-width: @rdz16_motorway_trunk; } - [type='primary'] { line-width: @rdz16_primary; } - [type='secondary'] { line-width: @rdz16_secondary; } - [type='tertiary'] { line-width: @rdz16_tertiary; } - [type='living_street'] { line-width: @rdz16_living_street; } - [type='road'] { line-width: @rdz16_road; } - [type='unclassified'] { line-width: @rdz16_unclassified; } - [type='residential'] { line-width: @rdz16_residential; } - [type='tertiary_link'] { line-width: @rdz16_tertiary_link; } - [type='secondary_link'] { line-width: @rdz16_secondary_link; } - [type='primary_link'] { line-width: @rdz16_primary_link; } - [type='trunk_link'] { line-width: @rdz16_trunk_link; } - [type='motorway_link'] { line-width: @rdz16_motorway_link; } - [type='service'] { line-width: @rdz16_service; } - [type='pedestrian'] { line-width: @rdz16_pedestrian; } [type='track'] { line-width: @rdz16_track; } [type='bridleway'] { line-width: @rdz16_bridleway; } [type='footway'] { line-width: @rdz16_footway; } @@ -1950,21 +2484,6 @@ } } [zoom>=17] { - [type='motorway'], [type='trunk'] { line-width: @rdz17_motorway_trunk; } - [type='primary'] { line-width: @rdz17_primary; } - [type='secondary'] { line-width: @rdz17_secondary; } - [type='tertiary'] { line-width: @rdz17_tertiary; } - [type='living_street'] { line-width: @rdz17_living_street; } - [type='road'] { line-width: @rdz17_road; } - [type='unclassified'] { line-width: @rdz17_unclassified; } - [type='residential'] { line-width: @rdz17_residential; } - [type='tertiary_link'] { line-width: @rdz17_tertiary_link; } - [type='secondary_link'] { line-width: @rdz17_secondary_link; } - [type='primary_link'] { line-width: @rdz17_primary_link; } - [type='trunk_link'] { line-width: @rdz17_trunk_link; } - [type='motorway_link'] { line-width: @rdz17_motorway_link; } - [type='service'] { line-width: @rdz17_service; } - [type='pedestrian'] { line-width: @rdz17_pedestrian; } [type='track'] { line-width: @rdz17_track; } [type='bridleway'] { line-width: @rdz17_bridleway; } [type='footway'] { line-width: @rdz17_footway; } @@ -1981,21 +2500,6 @@ } } [zoom>=18] { - [type='motorway'], [type='trunk'] { line-width: @rdz18_motorway_trunk; } - [type='primary'] { line-width: @rdz18_primary; } - [type='secondary'] { line-width: @rdz18_secondary; } - [type='tertiary'] { line-width: @rdz18_tertiary; } - [type='living_street'] { line-width: @rdz18_living_street; } - [type='road'] { line-width: @rdz18_road; } - [type='unclassified'] { line-width: @rdz18_unclassified; } - [type='residential'] { line-width: @rdz18_residential; } - [type='tertiary_link'] { line-width: @rdz18_tertiary_link; } - [type='secondary_link'] { line-width: @rdz18_secondary_link; } - [type='primary_link'] { line-width: @rdz18_primary_link; } - [type='trunk_link'] { line-width: @rdz18_trunk_link; } - [type='motorway_link'] { line-width: @rdz18_motorway_link; } - [type='service'] { line-width: @rdz18_service; } - [type='pedestrian'] { line-width: @rdz18_pedestrian; } [type='track'] { line-width: @rdz18_track; } [type='bridleway'] { line-width: @rdz18_bridleway; } [type='footway'] { line-width: @rdz18_footway; } From 7fb5c6a2e7241b5e21804e85195bc45997c85324 Mon Sep 17 00:00:00 2001 From: Florimond Date: Sat, 16 May 2020 13:17:43 +0200 Subject: [PATCH 07/10] Optimization : Merge in sql can_bicycle=no|private. Big improvement. --- project.mml | 16 +++++++- roads.mss | 105 ++++++++++++++++++---------------------------------- 2 files changed, 49 insertions(+), 72 deletions(-) diff --git a/project.mml b/project.mml index b51af3ae..3b464a6b 100644 --- a/project.mml +++ b/project.mml @@ -522,9 +522,12 @@ Layer: ELSE NULL END AS cycleway_right_oneway, CASE + WHEN bicycle IN ('no', 'private') THEN 'no' WHEN bicycle IS NOT NULL THEN bicycle WHEN tags->'motorroad' IN ('yes') THEN 'no' + WHEN highway NOT IN ('motorway', 'motorway_link') AND tags->'vehicle' IN ('no', 'private') THEN 'no' WHEN highway NOT IN ('motorway', 'motorway_link') AND tags->'vehicle' IS NOT NULL THEN tags->'vehicle' + WHEN highway NOT IN ('motorway', 'motorway_link') AND access IN ('no', 'private') THEN 'no' WHEN highway NOT IN ('motorway', 'motorway_link') AND access IS NOT NULL THEN access ELSE NULL END AS can_bicycle, @@ -669,9 +672,12 @@ Layer: ELSE NULL END AS cycleway_right_oneway, CASE + WHEN bicycle IN ('no', 'private') THEN 'no' WHEN bicycle IS NOT NULL THEN bicycle WHEN tags->'motorroad' IN ('yes') THEN 'no' + WHEN highway NOT IN ('motorway', 'motorway_link') AND tags->'vehicle' IN ('no', 'private') THEN 'no' WHEN highway NOT IN ('motorway', 'motorway_link') AND tags->'vehicle' IS NOT NULL THEN tags->'vehicle' + WHEN highway NOT IN ('motorway', 'motorway_link') AND access IN ('no', 'private') THEN 'no' WHEN highway NOT IN ('motorway', 'motorway_link') AND access IS NOT NULL THEN access ELSE NULL END AS can_bicycle, @@ -748,10 +754,13 @@ Layer: END ) AS type, CASE + WHEN bicycle IN ('no', 'private') THEN 'no' WHEN bicycle IS NOT NULL THEN bicycle WHEN tags->'motorroad' IN ('yes') THEN 'no' - WHEN highway NOT IN ('motorway') AND tags->'vehicle' IS NOT NULL THEN tags->'vehicle' - WHEN highway NOT IN ('motorway') AND access IS NOT NULL THEN access + WHEN highway NOT IN ('motorway', 'motorway_link') AND tags->'vehicle' IN ('no', 'private') THEN 'no' + WHEN highway NOT IN ('motorway', 'motorway_link') AND tags->'vehicle' IS NOT NULL THEN tags->'vehicle' + WHEN highway NOT IN ('motorway', 'motorway_link') AND access IN ('no', 'private') THEN 'no' + WHEN highway NOT IN ('motorway', 'motorway_link') AND access IS NOT NULL THEN access ELSE NULL END AS can_bicycle FROM planet_osm_roads @@ -917,9 +926,12 @@ Layer: ELSE NULL END AS cycleway_right_oneway, CASE + WHEN bicycle IN ('no', 'private') THEN 'no' WHEN bicycle IS NOT NULL THEN bicycle WHEN tags->'motorroad' IN ('yes') THEN 'no' + WHEN highway NOT IN ('motorway', 'motorway_link') AND tags->'vehicle' IN ('no', 'private') THEN 'no' WHEN highway NOT IN ('motorway', 'motorway_link') AND tags->'vehicle' IS NOT NULL THEN tags->'vehicle' + WHEN highway NOT IN ('motorway', 'motorway_link') AND access IN ('no', 'private') THEN 'no' WHEN highway NOT IN ('motorway', 'motorway_link') AND access IS NOT NULL THEN access ELSE NULL END AS can_bicycle, diff --git a/roads.mss b/roads.mss index 68923539..9d0aab90 100644 --- a/roads.mss +++ b/roads.mss @@ -1374,8 +1374,7 @@ line-color: @mixed-cycle-fill; #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } } - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { line-color: @standard-nobicycle; #tunnel { line-color: lighten(@standard-nobicycle, 5%); } } @@ -1396,8 +1395,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } @@ -1408,8 +1406,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } @@ -1449,8 +1446,7 @@ line-color: @mixed-cycle-fill; #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } } - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { line-color: @standard-nobicycle; #tunnel { line-color: lighten(@standard-nobicycle, 5%); } } @@ -1471,8 +1467,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } @@ -1483,8 +1478,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } @@ -1526,8 +1520,7 @@ line-color: @mixed-cycle-fill; #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } } - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { line-color: @standard-nobicycle; #tunnel { line-color: lighten(@standard-nobicycle, 5%); } } @@ -1548,8 +1541,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } @@ -1560,8 +1552,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } @@ -1601,8 +1592,7 @@ line-color: @mixed-cycle-fill; #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } } - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { line-color: @standard-nobicycle; #tunnel { line-color: lighten(@standard-nobicycle, 5%); } } @@ -1623,8 +1613,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } @@ -1635,8 +1624,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } @@ -1677,8 +1665,7 @@ line-color: @mixed-cycle-fill; #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } } - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { line-color: @standard-nobicycle; #tunnel { line-color: lighten(@standard-nobicycle, 5%); } } @@ -1699,8 +1686,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } @@ -1711,8 +1697,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } @@ -1753,8 +1738,7 @@ line-color: @mixed-cycle-fill; #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } } - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { line-color: @standard-nobicycle; #tunnel { line-color: lighten(@standard-nobicycle, 5%); } } @@ -1775,8 +1759,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } @@ -1787,8 +1770,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } @@ -1830,8 +1812,7 @@ line-color: @mixed-cycle-fill; #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } } - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { line-color: @standard-nobicycle; #tunnel { line-color: lighten(@standard-nobicycle, 5%); } } @@ -1852,8 +1833,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } @@ -1864,8 +1844,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } @@ -1906,8 +1885,7 @@ line-color: @mixed-cycle-fill; #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } } - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { line-color: @standard-nobicycle; #tunnel { line-color: lighten(@standard-nobicycle, 5%); } } @@ -1928,8 +1906,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } @@ -1940,8 +1917,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } @@ -1982,8 +1958,7 @@ line-color: @mixed-cycle-fill; #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } } - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { line-color: @standard-nobicycle; #tunnel { line-color: lighten(@standard-nobicycle, 5%); } } @@ -2005,8 +1980,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } @@ -2017,8 +1991,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } @@ -2059,8 +2032,7 @@ line-color: @mixed-cycle-fill; #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } } - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { line-color: @standard-nobicycle; #tunnel { line-color: lighten(@standard-nobicycle, 5%); } } @@ -2081,8 +2053,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } @@ -2093,8 +2064,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } @@ -2133,8 +2103,7 @@ // line-color: lighten(@nomotor-fill, 10%); // } // } - /* [can_bicycle='no'], - [can_bicycle='private'] { + /* [can_bicycle='no'] { line-color: @standard-nobicycle; #tunnel { line-color: lighten(@standard-nobicycle, 5%); } }*/ @@ -2142,8 +2111,7 @@ line-color: @mixed-cycle-fill; #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } }*/ - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { line-color: @standard-nobicycle; #tunnel { line-color: lighten(@standard-nobicycle, 5%); } } @@ -2165,8 +2133,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } @@ -2178,8 +2145,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } @@ -2378,8 +2344,7 @@ line-cap: round; line-join: round; - [can_bicycle='no'], - [can_bicycle='private'] { + [can_bicycle='no'] { line-color: @standard-nobicycle; #tunnel { line-color: lighten(@standard-nobicycle, 5%); From f69d65f2275ca9538c0d05fdd28efe31c515c61e Mon Sep 17 00:00:00 2001 From: Florimond Date: Sat, 16 May 2020 16:44:58 +0200 Subject: [PATCH 08/10] Optimize inline track/path in hierarchy by type. --- roads.mss | 680 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 350 insertions(+), 330 deletions(-) diff --git a/roads.mss b/roads.mss index 9d0aab90..ec6299e8 100644 --- a/roads.mss +++ b/roads.mss @@ -1395,9 +1395,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } [surface_type='mtb'] { @@ -1406,9 +1404,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } } } @@ -1467,9 +1463,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } [surface_type='mtb'] { @@ -1478,9 +1472,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } } } @@ -1541,9 +1533,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } [surface_type='mtb'] { @@ -1552,9 +1542,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } } } @@ -1613,9 +1601,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } [surface_type='mtb'] { @@ -1624,9 +1610,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } } } @@ -1686,9 +1670,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } [surface_type='mtb'] { @@ -1697,9 +1679,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } } } @@ -1759,9 +1739,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } [surface_type='mtb'] { @@ -1770,9 +1748,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } } } @@ -1833,9 +1809,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } [surface_type='mtb'] { @@ -1906,9 +1880,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } [surface_type='mtb'] { @@ -1917,9 +1889,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } } } @@ -1980,9 +1950,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } [surface_type='mtb'] { @@ -1991,9 +1959,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } } } @@ -2053,9 +2019,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } [surface_type='mtb'] { @@ -2064,9 +2028,7 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } } } @@ -2133,9 +2095,7 @@ [zoom>=17] { surface/line-dasharray: 8,16; } surface/line-color: darken(@standard-fill, @surfaceDarker2); // Darken since it's white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter1); } } // Bad surface ok for mountain bike (>40mm tyres). @@ -2145,20 +2105,13 @@ [zoom>=17] { surface/line-dasharray: 20,10; } surface/line-color: darken(@standard-fill, @surfaceDarker1); // Darken since its white. - [can_bicycle='no'] { - surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); - } + [can_bicycle='no'] { surface/line-color: lighten(@standard-nobicycle, @surfaceLighter2); } } } } } - // surfaces on track and path - [type='track'], - [type='bridleway'], - [type='footway'], - [type='path'], - [type='cycleway'] { + [type='track'][zoom >= 11] { [surface_type='unknown'][zoom >= 13], [surface_type='cyclocross'][zoom >= 12], [surface_type='mtb'][zoom >= 12] { @@ -2166,320 +2119,387 @@ background/line-opacity: 0.4; background/line-color: #FFFFFF; - [type='cycleway'] { - background/line-color: darken(@cycle-fill, @surfaceLighter1); - background/line-opacity: 0.6; + background/line-width: @rdz12_track; + [zoom>=13] { background/line-width: @rdz13_track; } + [zoom>=14] { background/line-width: @rdz14_track; } + [zoom>=15] { background/line-width: @rdz15_track; } + [zoom>=16] { background/line-width: @rdz16_track; } + [zoom>=17] { background/line-width: @rdz17_track; } + [zoom>=18] { background/line-width: @rdz18_track; } + + line-cap: butt; + //[surface_type='unknown'] { + line-dasharray: 10,1; + //} + [surface_type='cyclocross'] { + line-dasharray: 5,2; + [zoom>=16] { line-dasharray: 10,4; } + [zoom>=17] { line-dasharray: 20,8; } + } + [surface_type='mtb'] { + line-dasharray: 2,2; + [zoom>=16] { line-dasharray: 4,4; } + [zoom>=17] { line-dasharray: 8,8; } } + } - [zoom>=12] { - [type='track'] { background/line-width: @rdz12_track; } - [type='path'] { background/line-width: @rdz12_path; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - background/line-width: @rdz12_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz12_cycle*1.5; - } - } + line-cap: round; + line-join: round; + line-color: @track-fill; + #tunnel { line-color: lighten(@track-fill, 10%); } + + [can_bicycle='no'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + line-width: @rdz11_track; + [zoom>=12] { line-width: @rdz12_track; } + [zoom>=13] { line-width: @rdz13_track; } + [zoom>=14] { line-width: @rdz14_track; } + [zoom>=15] { line-width: @rdz15_track; } + [zoom>=16] { line-width: @rdz16_track; } + [zoom>=17] { line-width: @rdz17_track; } + [zoom>=18] { line-width: @rdz18_track; } + } + + [type='bridleway'][zoom >= 13] { + [surface_type='unknown'], + [surface_type='cyclocross'], + [surface_type='mtb'] { + background/line-join: round; + background/line-opacity: 0.4; + background/line-color: #FFFFFF; + + background/line-width: @rdz13_bridleway; + [zoom>=14] { background/line-width: @rdz14_bridleway; } + [zoom>=15] { background/line-width: @rdz15_bridleway; } + [zoom>=16] { background/line-width: @rdz16_bridleway; } + [zoom>=17] { background/line-width: @rdz17_bridleway; } + [zoom>=18] { background/line-width: @rdz18_bridleway; } + + line-cap: butt; + //[surface_type='unknown'] { + line-dasharray: 10,1; + //} + [surface_type='cyclocross'] { + line-dasharray: 5,2; + [zoom>=16] { line-dasharray: 10,4; } + [zoom>=17] { line-dasharray: 20,8; } + } + [surface_type='mtb'] { + line-dasharray: 2,2; + [zoom>=16] { line-dasharray: 4,4; } + [zoom>=17] { line-dasharray: 8,8; } + } + } + + line-cap: round; + line-join: round; + line-color: @bridleway-fill; + #tunnel { line-color: lighten(@bridleway-fill, 10%); } + + [can_bicycle='no'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + line-width: @rdz13_bridleway; + [zoom>=14] { line-width: @rdz14_bridleway; } + [zoom>=15] { line-width: @rdz15_bridleway; } + [zoom>=16] { line-width: @rdz16_bridleway; } + [zoom>=17] { line-width: @rdz17_bridleway; } + [zoom>=18] { line-width: @rdz18_bridleway; } + } + + [type='footway'][zoom >= 13] { + [surface_type='unknown'], + [surface_type='cyclocross'], + [surface_type='mtb'] { + background/line-join: round; + background/line-opacity: 0.4; + background/line-color: #FFFFFF; + + background/line-width: @rdz13_footway; + [zoom>=14] { background/line-width: @rdz14_footway; } + [zoom>=15] { background/line-width: @rdz15_footway; } + [zoom>=16] { background/line-width: @rdz16_footway; } + [zoom>=17] { background/line-width: @rdz17_footway; } + [zoom>=18] { background/line-width: @rdz18_footway; } + + line-cap: butt; + //[surface_type='unknown'] { + line-dasharray: 10,1; + //} + [surface_type='cyclocross'] { + line-dasharray: 5,2; + [zoom>=16] { line-dasharray: 10,4; } + [zoom>=17] { line-dasharray: 20,8; } + } + [surface_type='mtb'] { + line-dasharray: 2,2; + [zoom>=16] { line-dasharray: 4,4; } + [zoom>=17] { line-dasharray: 8,8; } + } + } + + line-cap: round; + line-join: round; + line-color: @footway-fill; + #tunnel { line-color: @footway-tunnel-fill; } + + [can_bicycle='no'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + line-width: @rdz13_footway; + [zoom>=14] { line-width: @rdz14_footway; } + [zoom>=15] { line-width: @rdz15_footway; } + [zoom>=16] { line-width: @rdz16_footway; } + [zoom>=17] { line-width: @rdz17_footway; } + [zoom>=18] { line-width: @rdz18_footway; } + } + + [type='steps'][zoom >= 14] { + line-color: @footway-fill; + #tunnel { line-color: @footway-tunnel-fill; } + + [can_bicycle='no'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + line-width: @rdz14_steps; + line-dasharray: 0.5,0.5; + [zoom>=15] { line-width: @rdz15_steps; } + [zoom>=16] { line-width: @rdz16_steps; line-dasharray: 1.5,0.75; } + [zoom>=17] { line-width: @rdz17_steps; line-dasharray: 2,1; } + [zoom>=18] { line-width: @rdz18_steps; } + } + + [type='cycleway'][zoom >= 11] { + [surface_type='cyclocross'][zoom >= 12], + [surface_type='mtb'][zoom >= 12] { + background/line-join: round; + background/line-opacity: 0.6; + background/line-color: darken(@cycle-fill, @surfaceLighter1); + + background/line-width: @rdz12_cycle; + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz12_cycle*1.5; } + [zoom>=13] { + background/line-width: @rdz13_cycle; + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz13_cycle*1.5; } + } + [zoom>=14] { + background/line-width: @rdz14_cycle; + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz14_cycle*1.5; } + } + [zoom>=15] { + background/line-width: @rdz15_cycle; + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz15_cycle*1.5; } + } + [zoom>=16] { + background/line-width: @rdz16_cycle; + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz16_cycle*1.5; } + } + [zoom>=17] { + background/line-width: @rdz17_cycle; + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz17_cycle*1.5; } + } + [zoom>=18] { + background/line-width: @rdz18_cycle; + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz18_cycle*1.5; } + } + + // cyclocross + line-dasharray: 5,2; + [zoom>=16] { line-dasharray: 10,4; } + [zoom>=17] { line-dasharray: 20,8; } + [surface_type='mtb'] { + line-dasharray: 2,2; + [zoom>=16] { line-dasharray: 4,4; } + [zoom>=17] { line-dasharray: 8,8; } + } + } + + line-cap: round; + line-join: round; + line-color: @cycle-fill; + #tunnel { line-color: lighten(@cycle-fill, 15%); } + + [can_bicycle='no'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } + } + + line-width: @rdz11_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz11_cycle*1.5; } + [zoom>=12] { + line-width: @rdz12_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz12_cycle*1.5; } + } + [zoom>=13] { + line-width: @rdz13_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz13_cycle*1.5; } + } + [zoom>=14] { + line-width: @rdz14_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz14_cycle*1.5; } + } + [zoom>=15] { + line-width: @rdz15_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz15_cycle*1.5; } + } + [zoom>=16] { + line-width: @rdz16_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz16_cycle*1.5; } + } + [zoom>=17] { + line-width: @rdz17_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz17_cycle*1.5; } + } + [zoom>=18] { + line-width: @rdz18_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz18_cycle*1.5; } + } + } + + [type='path'][zoom >= 11] + { + [surface_type='unknown'][zoom >= 13], + [surface_type='cyclocross'][zoom >= 12], + [surface_type='mtb'][zoom >= 12] { + background/line-join: round; + background/line-opacity: 0.4; + background/line-color: #FFFFFF; + + background/line-width: @rdz12_path; + [can_bicycle='designated'] { + background/line-width: @rdz12_cycle; + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz12_cycle*1.5; } } [zoom>=13] { - [type='track'] { background/line-width: @rdz13_track; } - [type='bridleway'] { background/line-width: @rdz13_bridleway; } - [type='footway'] { background/line-width: @rdz13_footway; } - [type='path'] { background/line-width: @rdz13_path; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { + background/line-width: @rdz13_path; + [can_bicycle='designated'] { background/line-width: @rdz13_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz13_cycle*1.5; - } + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz13_cycle*1.5; } } } [zoom>=14] { - [type='track'] { background/line-width: @rdz14_track; } - [type='bridleway'] { background/line-width: @rdz14_bridleway; } - [type='footway'] { background/line-width: @rdz14_footway; } - [type='path'] { background/line-width: @rdz14_path; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { + background/line-width: @rdz14_path; + [can_bicycle='designated'] { background/line-width: @rdz14_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz14_cycle*1.5; - } + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz14_cycle*1.5; } } } [zoom>=15] { - [type='track'] { background/line-width: @rdz15_track; } - [type='bridleway'] { background/line-width: @rdz15_bridleway; } - [type='footway'] { background/line-width: @rdz15_footway; } - [type='path'] { background/line-width: @rdz15_path; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { + background/line-width: @rdz15_path; + [can_bicycle='designated'] { background/line-width: @rdz15_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz15_cycle*1.5; - } + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz15_cycle*1.5; } } } [zoom>=16] { - [type='track'] { background/line-width: @rdz16_track; } - [type='bridleway'] { background/line-width: @rdz16_bridleway; } - [type='footway'] { background/line-width: @rdz16_footway; } - [type='path'] { background/line-width: @rdz16_path; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { + background/line-width: @rdz16_path; + [can_bicycle='designated'] { background/line-width: @rdz16_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz16_cycle*1.5; - } + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz16_cycle*1.5; } } } [zoom>=17] { - [type='track'] { background/line-width: @rdz17_track; } - [type='bridleway'] { background/line-width: @rdz17_bridleway; } - [type='footway'] { background/line-width: @rdz17_footway; } - [type='path'] { background/line-width: @rdz17_path; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { + background/line-width: @rdz17_path; + [can_bicycle='designated'] { background/line-width: @rdz17_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz17_cycle*1.5; - } + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz17_cycle*1.5; } } } [zoom>=18] { - [type='track'] { background/line-width: @rdz18_track; } - [type='bridleway'] { background/line-width: @rdz18_bridleway; } - [type='footway'] { background/line-width: @rdz18_footway; } - [type='path'] { background/line-width: @rdz18_path; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { + background/line-width: @rdz18_path; + [can_bicycle='designated'] { background/line-width: @rdz18_cycle; - [oneway='no'][oneway_bicycle='no'] { - background/line-width: @rdz18_cycle*1.5; - } + [oneway='no'][oneway_bicycle='no'] { background/line-width: @rdz18_cycle*1.5; } } } - } - [surface_type='unknown'][type!='cycleway'][zoom >= 13] { line-cap: butt; line-dasharray: 10,1; - } - - [surface_type='cyclocross'][zoom >= 12] { - line-cap: butt; - line-dasharray: 5,2; - [zoom>=16] { - line-dasharray: 10,4; - } - [zoom>=17] { - line-dasharray: 20,8; - } - } - - [surface_type='mtb'][zoom >= 12] { - line-cap: butt; - line-dasharray: 2,2; - [zoom>=16] { - line-dasharray: 4,4; + [surface_type='cyclocross'][zoom >= 12] { + line-dasharray: 5,2; + [zoom>=16] { line-dasharray: 10,4; } + [zoom>=17] { line-dasharray: 20,8; } } - [zoom>=17] { - line-dasharray: 8,8; + [surface_type='mtb'][zoom >= 12] { + line-dasharray: 2,2; + [zoom>=16] { line-dasharray: 4,4; } + [zoom>=17] { line-dasharray: 8,8; } } } - } - // -- colors & styles -- - [type='track'] { - line-color: @track-fill; - #tunnel { - line-color: lighten(@track-fill, 10%); - } - } - [type='cycleway'] { - line-color: @cycle-fill; - #tunnel { - line-color: lighten(@cycle-fill, 15%); - } - } - [type='bridleway'] { - line-color: @bridleway-fill; - #tunnel { - line-color: lighten(@bridleway-fill, 10%); - } - } - [type='footway'], - [type='steps'] { - line-color: @footway-fill; - #tunnel { - line-color: @footway-tunnel-fill; - } - } - [type='path'] { + line-cap: round; + line-join: round; line-color: @path-fill; - #tunnel { - line-color: lighten(@path-fill, 10%); - } + #tunnel { line-color: lighten(@path-fill, 10%); } [can_bicycle='designated'] { line-color: @mixed-cycle-fill; - #tunnel { - line-color: lighten(@mixed-cycle-fill, 10%); - } + #tunnel { line-color: lighten(@mixed-cycle-fill, 10%); } + [segregated='yes'] { line-color: @cycle-fill; - #tunnel { - line-color: lighten(@cycle-fill, 15%); - } + #tunnel { line-color: lighten(@cycle-fill, 15%); } } - } - } - [type='track'], - [type='cycleway'], - [type='bridleway'], - [type='footway'], - [type='path'] { - line-cap: round; - line-join: round; - - [can_bicycle='no'] { - line-color: @standard-nobicycle; - #tunnel { - line-color: lighten(@standard-nobicycle, 5%); - } - } - } - - #tunnel { - line-cap: butt; - } - - // -- widths -- - line-width: 0; - [zoom>=11] { - [type='track'] { line-width: @rdz11_track; } - [type='path'] { - line-width: @rdz11_path; - } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { line-width: @rdz11_cycle; - [oneway='no'][oneway_bicycle='no'] { - line-width: @rdz11_cycle*1.5; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz11_cycle*1.5; } + [zoom>=12] { + line-width: @rdz12_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz12_cycle*1.5; } } - } - } - [zoom>=12] { - [type='track'] { line-width: @rdz12_track; } - [type='path'] { - line-width: @rdz12_path; - } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-width: @rdz12_cycle; - [oneway='no'][oneway_bicycle='no'] { - line-width: @rdz12_cycle*1.5; + [zoom>=13] { + line-width: @rdz13_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz13_cycle*1.5; } } - } - } - [zoom>=13] { - [type='track'] { line-width: @rdz13_track; } - [type='bridleway'] { line-width: @rdz13_bridleway; } - [type='footway'] { line-width: @rdz13_footway; } - [type='path'] { - line-width: @rdz13_path; - } - [type='steps'] { line-width: @rdz13_steps; line-dasharray: 0.5,0.5; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-width: @rdz13_cycle; - [oneway='no'][oneway_bicycle='no'] { - line-width: @rdz13_cycle*1.5; + [zoom>=14] { + line-width: @rdz14_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz14_cycle*1.5; } } - } - } - [zoom>=14] { - [type='track'] { line-width: @rdz14_track; } - [type='bridleway'] { line-width: @rdz14_bridleway; } - [type='footway'] { line-width: @rdz14_footway; } - [type='path'] { - line-width: @rdz14_path; - } - [type='steps'] { line-width: @rdz14_steps; line-dasharray: 0.5,0.5; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-width: @rdz14_cycle; - [oneway='no'][oneway_bicycle='no'] { - line-width: @rdz14_cycle*1.5; + [zoom>=15] { + line-width: @rdz15_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz15_cycle*1.5; } } - } - } - [zoom>=15] { - [type='track'] { line-width: @rdz15_track; } - [type='bridleway'] { line-width: @rdz15_bridleway; } - [type='footway'] { line-width: @rdz15_footway; } - [type='path'] { - line-width: @rdz15_path; - } - [type='steps'] { line-width: @rdz15_steps; line-dasharray: 0.5,0.5; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-width: @rdz15_cycle; - [oneway='no'][oneway_bicycle='no'] { - line-width: @rdz15_cycle*1.5; + [zoom>=16] { + line-width: @rdz16_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz16_cycle*1.5; } } - } - } - [zoom>=16] { - [type='track'] { line-width: @rdz16_track; } - [type='bridleway'] { line-width: @rdz16_bridleway; } - [type='footway'] { line-width: @rdz16_footway; } - [type='path'] { - line-width: @rdz16_path; - } - [type='steps'] { line-width: @rdz16_steps; line-dasharray: 1.5,0.75; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-width: @rdz16_cycle; - [oneway='no'][oneway_bicycle='no'] { - line-width: @rdz16_cycle*1.5; + [zoom>=17] { + line-width: @rdz17_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz17_cycle*1.5; } } - } - } - [zoom>=17] { - [type='track'] { line-width: @rdz17_track; } - [type='bridleway'] { line-width: @rdz17_bridleway; } - [type='footway'] { line-width: @rdz17_footway; } - [type='path'] { - line-width: @rdz17_path; - } - [type='steps'] { line-width: @rdz17_steps; line-dasharray: 2,1; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-width: @rdz17_cycle; - [oneway='no'][oneway_bicycle='no'] { - line-width: @rdz17_cycle*1.5; + [zoom>=18] { + line-width: @rdz18_cycle; + [oneway='no'][oneway_bicycle='no'] { line-width: @rdz18_cycle*1.5; } } } - } - [zoom>=18] { - [type='track'] { line-width: @rdz18_track; } - [type='bridleway'] { line-width: @rdz18_bridleway; } - [type='footway'] { line-width: @rdz18_footway; } - [type='path'] { - line-width: @rdz18_path; - } - [type='steps'] { line-width: @rdz18_steps; line-dasharray: 2,1; } - [type='cycleway'], - [type='path'][can_bicycle='designated'] { - line-width: @rdz18_cycle; - [oneway='no'][oneway_bicycle='no'] { - line-width: @rdz18_cycle*1.5; - } + + [can_bicycle='no'] { + line-color: @standard-nobicycle; + #tunnel { line-color: lighten(@standard-nobicycle, 5%); } } + + line-width: @rdz11_path; + [zoom>=12] { line-width: @rdz12_path; } + [zoom>=13] { line-width: @rdz13_path; } + [zoom>=14] { line-width: @rdz14_path; } + [zoom>=15] { line-width: @rdz15_path; } + [zoom>=16] { line-width: @rdz16_path; } + [zoom>=17] { line-width: @rdz17_path; } + [zoom>=18] { line-width: @rdz18_path; } } + + /*#tunnel { + line-cap: butt; + }*/ } From 2aa7a05e14ad65cf4c8ee6afd97a42541908d0a8 Mon Sep 17 00:00:00 2001 From: Florimond Date: Sun, 17 May 2020 23:00:21 +0200 Subject: [PATCH 09/10] fix z11 for aeroway --- roads.mss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roads.mss b/roads.mss index ec6299e8..884c2e89 100644 --- a/roads.mss +++ b/roads.mss @@ -2678,7 +2678,7 @@ // AEROWAYS // ================================================================== -#aeroway[zoom>11] { +#aeroway[zoom>=11] { line-color: @aeroway; //[type='runway'] { //default for runway line-width: 2; From 60a6875deb8b5c5cc2d79667e86871e33012fcad Mon Sep 17 00:00:00 2001 From: Florimond Date: Mon, 18 May 2020 12:47:27 +0200 Subject: [PATCH 10/10] Add maxzoom for state-names and country-names. fix #366 --- project.mml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/project.mml b/project.mml index 3b464a6b..9f93f961 100644 --- a/project.mml +++ b/project.mml @@ -1279,6 +1279,7 @@ Layer: ) AS data properties: minzoom: 2 + maxzoom: 14 - id: capital-names geometry: point <<: *extents @@ -1322,6 +1323,7 @@ Layer: ) AS data properties: minzoom: 4 + maxzoom: 10 - id: placenames-medium geometry: point <<: *extents