X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.maps.server%2Fserver%2Ftm2%2Fmapbox-studio-osm-bright.tm2%2Froad.mss;fp=org.simantics.maps.server%2Fserver%2Ftm2%2Fmapbox-studio-osm-bright.tm2%2Froad.mss;h=a540b29745d71e8f562e00623c210e37c6f45995;hb=2529be6d456deeb07c128603ce4971f1dc29b695;hp=0000000000000000000000000000000000000000;hpb=2636fc31c16c23711cf2b06a4ae8537bba9c1d35;p=simantics%2Fdistrict.git diff --git a/org.simantics.maps.server/server/tm2/mapbox-studio-osm-bright.tm2/road.mss b/org.simantics.maps.server/server/tm2/mapbox-studio-osm-bright.tm2/road.mss new file mode 100644 index 00000000..a540b297 --- /dev/null +++ b/org.simantics.maps.server/server/tm2/mapbox-studio-osm-bright.tm2/road.mss @@ -0,0 +1,143 @@ +// Basic color palette, from which variations will be derived. +@motorway: #fc8; +@main: #fea; +@street: #fff; +@street_limited: #f3f3f3; + +// --------------------------------------------------------------------- + +// Roads are split across 3 layers: #road, #bridge, and #tunnel. Each +// road segment will only exist in one of the three layers. The +// #bridge layer makes use of Mapnik's group-by rendering mode; +// attachments in this layer will be grouped by layer for appropriate +// rendering of multi-level overpasses. + +// The main road style is for all 3 road layers and divided into 2 main +// attachments. The 'case' attachment is + +#transportation { + // casing/outlines & single lines + ::case[zoom>=6]['mapnik::geometry_type'=2] { + [class='motorway'] { + line-join:round; + line-color: mix(@motorway, #800, 75); + #road { line-cap: round; } + #tunnel { line-dasharray:3,2; } + [zoom>=6] { line-width:0.4; } + [zoom>=7] { line-width:0.6; } + [zoom>=8] { line-width:1.5; } + [zoom>=10] { line-width:3; } + [zoom>=13] { line-width:3.5; } + [zoom>=14] { line-width:5; } + [zoom>=15] { line-width:7; } + [zoom>=16] { line-width:9; } + } + [class='motorway'][ramp=1][zoom>=13] { + line-join:round; + line-color: mix(@motorway, #800, 75); + #road { line-cap: round; } + #tunnel { line-dasharray:3,2; } + [zoom>=13] { line-width:1; } + [zoom>=14] { line-width:3; } + [zoom>=15] { line-width:5; } + [zoom>=16] { line-width:6.5; } + } + [class='primary'],[class='secondary'],[class='tertiary'],[class='trunk'] { + line-join:round; + line-cap: round; + line-color: mix(@main, #800, 75); + [brunnel='tunnel'] { line-dasharray:3,2; } + [zoom>=6] { line-width:0.2; } + [zoom>=7] { line-width:0.4; } + [zoom>=8] { line-width:1.5; } + [zoom>=10] { line-width:2.4; } + [zoom>=13] { line-width:2.5; } + [zoom>=14] { line-width:4; } + [zoom>=15] { line-width:5; } + [zoom>=16] { line-width:8; } + } + [class='minor'][zoom>=12] { + line-join:round; + line-cap: round; + [brunnel='tunnel'] { line-dasharray:3,2; } + line-color: @land * 0.8; + [zoom>=12] { line-width:0.5; } + [zoom>=14] { line-width:1; } + [zoom>=15] { line-width:4; } + [zoom>=16] { line-width:6.5; } + } + [class='service'][zoom>=15] { + line-join:round; + line-cap: round; + [brunnel='tunnel'] { line-dasharray:3,2; } + line-color: @land * 0.9; + [zoom>=15] { line-width:1; } + [zoom>=16] { line-width:4; } + } + [class='path'][zoom>=15] { + line-color: #cba; + line-dasharray: 2,1; + [zoom>=16] { line-width: 1.2; } + [zoom>=17] { line-width: 1.5; } + } + } + + // fill/inlines + ::fill[zoom>=6]['mapnik::geometry_type'=2] { + [class='motorway'][zoom>=8] { + line-join:round; + line-cap:round; + line-color:@motorway; + [brunnel='tunnel'] { line-color:lighten(@motorway,4); } + [zoom>=8] { line-width:0.5; } + [zoom>=10] { line-width:1; } + [zoom>=13] { line-width:2; } + [zoom>=14] { line-width:3.5; } + [zoom>=15] { line-width:5; } + [zoom>=16] { line-width:7; } + } + [class='motorway'][ramp=1][zoom>=14] { + line-join:round; + line-cap: round; + line-color:@motorway; + [brunnel='tunnel'] { line-color:lighten(@motorway,4); } + [zoom>=14] { line-width:1.5; } + [zoom>=15] { line-width:3; } + [zoom>=16] { line-width:4.5; } + } + [class=~'primary|secondary|tertiary|trunk'][zoom>=8] { + line-join:round; + #road, #bridge { line-cap: round; } + line-color:@main; + [brunnel='tunnel'] { line-color:lighten(@main,4); } + [zoom>=8] { line-width:0.5; } + [zoom>=10] { line-width:1; } + [zoom>=13] { line-width:1.5; } + [zoom>=14] { line-width:2.5; } + [zoom>=15] { line-width:3.5; } + [zoom>=16] { line-width:6; } + } + [class='minor'][zoom>=15], { + line-join:round; + line-cap: round; + [zoom>=15] { line-width:2.5; line-color:#fff; } + [zoom>=16] { line-width:4; } + } + [class='service'][zoom>=16], { + line-join:round; + line-cap: round; + [zoom>=16] { line-width:2; line-color:#fff; } + } + [class='major_rail'] { + line-width: 0.4; + line-color: #bbb; + [zoom>=16] { + line-width: 0.75; + // Hatching + h/line-width: 3; + h/line-color: #bbb; + h/line-dasharray: 1,31; + } + } + } +}