Screencast

Main Styles

@water:#A5BFDD;
@forest:#cea;
//@land:#F4F3F0;
@land: #f7f6f4;
@political:#000;
@standard-label: #000;
@building: #ccc;
@railroad: #F0B2B2;
@font_reg: "Ubuntu Regular","Arial Regular","DejaVu Sans Book";

Map {
    background-color: @land;
}

/*
  Political Boundaries
*/
#carto_nc_sc [state = '45'] {
  polygon-fill: darken(@land, 6);
}
#carto_political {
  line-opacity:0.30;
  line-dasharray:6,2,2,2;
  line-color:@political;
  [type=9] {
    line-width:3.5;
  }
  [type=7] {
    line-width:1.5;
  }
}
#jurisdictions [name != 'Mecklenburg'] {
  [zoom <= 14] [zoom < 17] {
    polygon-fill: darken(@land, 2);
    polygon-opacity: 0.15;
  }
}
#jurisdictions2 [name != 'Mecklenburg']{
  line-dasharray:6,2,2,2;
  line-color:@political;
  line-opacity:0.30;
  [zoom <= 16] {
      line-width: 1;
  }
  [zoom > 16] {
      line-width: 2;
  }
  line-width: 2;
  [zoom >= 13] {
    text-face-name:@font_reg;
    text-size: 9;
    text-placement:line;
    text-name:"[name]";
    text-min-distance: 500;
    text-fill:spin(lighten(@standard-label,50),-15);

    text-dy: -5;
    text-transform: uppercase;
    text-vertical-alignment: bottom;
  }
}
#jurisdictions  {
  [zoom >= 16] {
    polygon-fill: white;
  }
}

/*
  Wet stuff
*/
.water-poly {
  polygon-fill: @water;
}
#meck_streams {
  [zoom >= 13] {
    line-color: @water;
    line-width: 1;
  }
  [zoom >= 15] {
    line-width: 1.5;
  }
}
#streams_labels {
  [zoom >= 14] {
    text-face-name:@font_reg;
    text-size: 9;
    text-halo-radius:1;
    text-placement:line;
    text-name:"[stream]";
    text-min-distance: 500;
    text-fill:spin(darken(@water,50),-15);
    text-halo-fill:lighten(@water,8);
    text-dy: 5;
    text-transform: capitalize;
  }
}
#ponds [zoom >= 14] {
  polygon-fill: @water;
}

/* Parks and Greenways */
#parks {
  [zoom >= 13] {
    polygon-fill: darken(@forest, 20);
    polygon-opacity: 0.5;
  }
  [zoom >= 15] {
    polygon-fill: @forest;
    polygon-opacity: 1;
  }
}
#park_labels {
  [zoom >= 15] {
    text-face-name:@font_reg;
    text-size: 9;
    text-halo-radius:1;
    text-name:"[property]";
    text-min-distance: 50;
    text-fill:spin(darken(@forest,70),-15);
    text-halo-fill:lighten(@forest,12);
    text-transform: capitalize;
    text-wrap-width: 50;
  }
  [zoom >= 16] {
    text-size: 10;
  }
}
#greenways {
  [zoom >= 13] {
    line-dasharray:2,2,2,2;
    line-color: spin(darken(@forest,50),-15);
    line-width: 2;
  }
}

/* Buildings */
#buildings {
  [zoom = 15] {
    polygon-fill: darken(@building, 18);
    polygon-opacity: 1;
    }
}
#buildings_3d {
  [zoom >= 16] {
    polygon-fill: @building;
    line-color: darken(@building, 8);
    line-width: 0.5;
    building-fill: @building;
    building-fill-opacity: 0.7;
    [height > 10] {
        building-height:  "[height] * 0.8";
    }
    [height <= 10] {
      building-height:  "10";
    }
  }
}

/* tax parcels */
#parcels [zoom >= 16] {
  polygon-fill: @land;
}
#tax_parcels_line [zoom >= 16] {
  line-color: darken(@building, 10);
  line-opacity: 1;
  line-width: 0.7;
}

/* rail roads */
.railroad {
  [zoom >= 13] {
    line-dasharray: 4,4;
    line-width: 2;
    line-color: @railroad;
  }
}

/* pretty pictures */
#hillshade [zoom <= 14] {
  raster-opacity: 0.4;
}
#relief [zoom <= 14] {
  raster-opacity:1;
}

Roads

@motorway: #F8D6E0; /* #90BFE0 */
@trunk: #FFFABB;
@primary: @trunk;

@road: #bbb;
@secondary: @road;
@track: @road;

@font_reg: "Ubuntu Regular","Arial Regular","DejaVu Sans Book";
@font_bold: "Ubuntu Bold";


/* ---- ROAD COLORS ---- */

/*.highway.line { line-color: #f00; } /* debug */

.highway[stylegroup='HIGHWAY'] {
  .line[zoom>=7]  {
    line-color:spin(darken(@motorway,36),-10);
    line-cap:round;
    line-join:round;
  }
  .fill[zoom>=13] {
    line-color:@motorway;
    line-cap:round;
    line-join:round;
  }
}

.highway[stylegroup='RAMP'] {
  .line[zoom>=14]  {
    line-color:spin(darken(@motorway,36),-10);
    line-cap:round;
    line-join:round;
  }
  .fill[zoom>=14] {
    line-color:@motorway;
    line-cap:round;
    line-join:round;
  }
}

.highway[stylegroup='PRIMARY']{
  .line[zoom>=12] {
    line-color:spin(darken(@primary,36),-10);
    line-cap:round;
    line-join:round;
  }
  .fill[zoom>=14] {
    line-color:@primary;
    line-cap:round;
    line-join:round;
  }
}

  .highway[stylegroup='SECONDARY'] {
  .line[zoom>=13] {
    line-color:lighten(@road, 30);
    line-cap:round;
    line-join:round;
  }
  .line[zoom >=15] {
    line-color: @road;
  }
  .line[zoom >=17] {
    line-color: white;
    line-opacity: 0;
  }
  .fill[zoom>=15] {
    line-color:#fff;
    line-cap:round;
    line-join:round;
  }
}



/* ---- ROAD WIDTHS ---- */

.highway[zoom=13] {
  .line[stylegroup='HIGHWAY']      { line-width: 2.0 + 2; }
  .fill[stylegroup='HIGHWAY']      { line-width: 2.0; }
  .line[stylegroup='PRIMARY']       { line-width: 1.4; }
  .line[stylegroup='SECONDARY'] { line-width: 1.0; }
}

.highway[zoom=14] {
  .line[stylegroup='HIGHWAY']      { line-width: 4 + 2; }
  .fill[stylegroup='HIGHWAY']      { line-width: 4; }
  .line[stylegroup='PRIMARY']       { line-width: 2 + 2; }
  .fill[stylegroup='PRIMARY']       { line-width: 2; }
  .line[stylegroup='RAMP'] { line-width: 1.4 + 2; }
  .line[stylegroup='RAMP'] { line-width: 1.4 + 2; }
 }

.highway[zoom=15] {
  .line[stylegroup='HIGHWAY']      { line-width: 6 + 2; }
  .fill[stylegroup='HIGHWAY']      { line-width: 6; }
  .line[stylegroup='PRIMARY']       { line-width: 4 + 2; }
  .fill[stylegroup='PRIMARY']       { line-width: 4; }
  .line[stylegroup='RAMP'] { line-width: 2 + 2; }
  .fill[stylegroup='RAMP'] { line-width: 2; }
  .line[stylegroup='SECONDARY']  { line-width: 4 + 2; }
  .fill[stylegroup='SECONDARY']  { line-width: 4; }
}

.highway[zoom=16] {
  .line[stylegroup='HIGHWAY']      { line-width: 0; }
  .fill[stylegroup='HIGHWAY']      { line-width: 9; }
  .line[stylegroup='PRIMARY']       { line-width: 0; }
  .fill[stylegroup='PRIMARY']       { line-width: 7; }
  .line[stylegroup='RAMP'] { line-width: 0; }
  .fill[stylegroup='RAMP'] { line-width: 3; }
  .line[stylegroup='SECONDARY'] { line-width: 0; }
  .fill[stylegroup='SECONDARY']  { line-width: 6; }
}

.highway[zoom>=17] {
  .line[stylegroup='RAMP'] { line-width: 0; }
  .fill[stylegroup='RAMP'] { line-width: 4; }
  .line[stylegroup='SECONDARY'] { line-width: 0; }
  .fill[stylegroup='SECONDARY'] { line-width: 5; }
  .line[stylegroup='PRIMARY']      { line-width: 0; }
  .fill[stylegroup='PRIMARY']       { line-width: 11; }
  .line[stylegroup='HIGHWAY']      { line-width: 0; }
  .fill[stylegroup='HIGHWAY']      { line-width: 16; }
}

.highway[zoom>=18] {
  .fill[stylegroup='HIGHWAY']      { line-width: 18; }
  .fill[stylegroup='PRIMARY']       { line-width: 13; }
  .fill[stylegroup='RAMP'] { line-width: 5; }
}

/* ---- ONE WAY ARROWS ---- */
.highway.fill::oneway_arrow[zoom>15][oneway > 0] {
  marker-type:arrow;
  marker-width:1;
  marker-line-width:1;
  marker-line-opacity:0.5;
  marker-line-color:#fff;
  marker-spacing: 200;
  marker-fill:spin(darken(@motorway,50),-10);
  marker-opacity:0.8;
}

/* ---- Labels ---- */
#roads_label {
  text-face-name:@font_reg;
  text-halo-radius:1;
  text-placement:line;
  text-name:"''";
  text-min-distance: 500;
  [stylegroup='HIGHWAY'][carto_shield = ""][zoom>=12] {
    text-name:"[wholestnam]";
    text-halo-fill:lighten(@motorway,8);
    [zoom>=13] { text-size:11; }
    [zoom>=15] { text-size:12; }
  }
  [stylegroup="PRIMARY"][zoom>=13] {
    text-name:"[wholestnam]";
    text-fill:spin(darken(@primary,70),-15);
    text-halo-fill:lighten(@primary,8);
    [zoom>=15] { text-size:11; }
    [zoom>=17] { text-size:13; }
  }
  [stylegroup='SECONDARY'][zoom>=16] {
    text-name:"[wholestnam]";
    text-fill:#444;
    text-halo-fill:#fff;
  }
}
#roads_label [stylegroup='HIGHWAY'] [carto_shield != ""] {
    shield-name: "[carto_shield]";
    shield-face-name: @font_bold;
    shield-file: url(img/interstate5.png);
    shield-min-distance: 100;
    shield-spacing: 75;
    shield-fill: #fff;
    shield-size: 10;
}

/* surrounding highways */
#carto_highways [zoom <= 13][hwy_type = 'I']{
  line-color:spin(darken(@motorway,26),-10);
    line-cap:round;
    line-join:round;
  line-width: 2;
}

Appending Tile Sets


sqlite3 tiles9-11.mbtiles .dump | sqlite3 tiles12-18.mbtiles

Resources