First try using TileMill and TileStream
Since it was announced through Development Seed’s blog, I am really excited to try TileMill and TileStream. Currently I am living in remote area where internet connection bit a problem. But luckily I have a friend who is happy to send me a CD containing the pre-installed Virtual Box Image (VDI) with RedHatLinux, including TileMill.
Then finally Development Seed team released 0.4.0 installer for Mac OS X, makes me more even excited to try both TileMill and TileStream.
Below is my project to visualize Aceh terrain.
And next picture is TileStream running in my local Mac
Currently I am trying to visualize 2010 Indonesia Land Cover data from Ministry of Forestry. Below is the MSS code:
landcover.mss
@awan:#ffffff; @hutanlahankeringprimer:#70a800; @hutanlahankeringsekunder:#98e600; @hutanmangroveprimer:#ffffff; /* background putih outline warna asli */ @hutanmangrovesekunder:#ffffff; /* background putih outline warna asli */ @hutanrawaprimer:#4c7300; @hutanrawasekunder:#abcd66; @hutantanamanindustri:#267300; @lahankeringtidakproduktif:#ffffbe; @pelabuhanudaralaut:#7A7A7A; @perkebunan:#6DBB43; /* background putih outline warna asli */ @permukiman:#ff8080; /*#FFBEBE;*/ @pertambangan:#828282; @pertanianlahankering:#E39E00; /* background putih outline warna asli */ @pertanianlahankeringcampursemak:#E39E00; /* background #BDF787 outline warna asli */ @rawa:#4065EB; /* background putih outline warna asli */ @savanna:#EDE900; @sawah:#fae364; /* background putih outline warna asli */ @semakbelukarrawa:#6D9657; /* background putih outline warna asli */ @semakbelukar:#6DBB43; /* background putih outline warna asli */ @tambak:#4065EB; @tanahterbuka:#F6C567; @transmigrasi:#ffffff; /* background putih outline warna asli */ @tubuhair:#b8dee6; #landcover::fill[zoom>=0] { [NAMA_LAHAN='Awan'] { polygon-fill:@awan; } [NAMA_LAHAN='Hutan lahan kering primer'] { polygon-fill:@hutanlahankeringprimer; } [NAMA_LAHAN='Hutan lahan kering sekunder'] { polygon-fill:@hutanlahankeringsekunder; } [NAMA_LAHAN='Hutan mangrove primer'] { polygon-fill:@hutanmangroveprimer; } [NAMA_LAHAN='Hutan mangrove primer'] { polygon-pattern-file:url(textures/mangrove1.png); } [NAMA_LAHAN='Hutan mangrove sekunder'] { polygon-fill:@hutanmangrovesekunder; } [NAMA_LAHAN='Hutan mangrove sekunder'] { polygon-pattern-file:url(textures/mangrove2.png); } [NAMA_LAHAN='Hutan rawa primer'] { polygon-fill:@hutanrawaprimer; } [NAMA_LAHAN='Hutan rawa sekunder'] { polygon-fill:@hutanrawasekunder; } [NAMA_LAHAN='Hutan Tanaman Industri'] { polygon-fill:@hutantanamanindustri; } [NAMA_LAHAN='Lahan Kering Tidak Produktif'] { polygon-fill:@lahankeringtidakproduktif; } [NAMA_LAHAN='Perkebunan'] { polygon-fill:@perkebunan; } [NAMA_LAHAN='Perkebunan'] { polygon-pattern-file:url(textures/plantation.png); } [NAMA_LAHAN='Permukiman'] { polygon-fill:@permukiman; } [NAMA_LAHAN='Pertambangan'] { polygon-fill:@pertambangan; } [NAMA_LAHAN='Pertanian lahan kering'] { polygon-fill:@pertanianlahankering; } [NAMA_LAHAN='Pertanian lahan kering'] { polygon-pattern-file:url(textures/cropland.png); } [NAMA_LAHAN='Pertanian lahan kering bercampur semak'] { polygon-fill:@pertanianlahankeringcampursemak; } [NAMA_LAHAN='Pertanian lahan kering bercampur semak'] { polygon-pattern-file:url(textures/drycropland.png); } [NAMA_LAHAN='Rawa'] { polygon-fill:@rawa; } [NAMA_LAHAN='Rawa'] { polygon-pattern-file:url(textures/swamp.png); } [NAMA_LAHAN='Sawah'] { polygon-fill:@sawah; } [NAMA_LAHAN='Sawah'] { polygon-pattern-file:url(textures/ricefield.png); } [NAMA_LAHAN='Tambak'] { polygon-fill:@tambak; } [NAMA_LAHAN='Tambak'] { polygon-pattern-file:url(textures/ponds.png); } [NAMA_LAHAN='Tanah Terbuka'] { polygon-fill:@tanahterbuka; } [NAMA_LAHAN='Transmigrasi'] { polygon-fill:@transmigrasi; } [NAMA_LAHAN='Transmigrasi'] { polygon-pattern-file:url(textures/transmigration.png); } [NAMA_LAHAN='Tubuh air'] { polygon-fill:@tubuhair; } [NAMA_LAHAN='Pelabuhan udara/laut'] { polygon-fill:@pelabuhanudaralaut; } [NAMA_LAHAN='semak belukar/rawa'] { polygon-fill:@semakbelukarrawa; } [NAMA_LAHAN='semak belukar/rawa'] { polygon-pattern-file:url(textures/swampscrub.png); } [NAMA_LAHAN='Semak belukar'] { polygon-fill:@semakbelukar; } [NAMA_LAHAN='Semak belukar'] { polygon-pattern-file:url(textures/scrub.png); } [NAMA_LAHAN='savanna'] { polygon-fill:@savanna; } [NAMA_LAHAN='savanna'] { polygon-pattern-file:url(textures/grass.png); } }
label.mss
@futura_med: "Futura Medium","Function Pro Medium","Ubuntu Regular","Trebuchet MS Regular","DejaVu Sans Book"; @futura_italic: "Futura Medium Italic","Function Pro Medium Italic","Ubuntu Italic","Trebuchet MS Italic","DejaVu Sans Oblique"; @futura_bold: "Futura Bold","Function Pro Bold","Ubuntu Bold","Trebuchet MS Bold","DejaVu Sans Bold"; #district_p[zoom>7]{ text-face-name: @futura_bold; text-fill:@black; text-size:10; text-transform:capitalize; text-halo-fill:rgba(255,255,255,0.8); text-halo-radius:1.5; text-line-spacing:1; text-wrap-width:20; text-name:"[A2name]"; [zoom=10] { text-size:11; } [zoom>10] { text-size:12; } } #province_p[zoom>5]{ text-face-name: @futura_bold; text-fill:@black; text-size:9; text-transform:uppercase; text-halo-fill:rgba(255,255,255,1); text-halo-radius:1.5; text-line-spacing:1; text-wrap-width:20; text-name:"[A1name]"; [zoom=8] { text-size:12; } [zoom>8] { text-size:13; } }
style.mss
@land: #cfcfcf; @water: #C0E0F8; @waterline: #8CE; @line: #226688; @black: #000000; @white: #F0F8FF; /* blue-tinted, for Antarctica */ @red: #fdaf6b; @orange: #fdc663; @yellow: #fae364; @green: #d3e46f; @turquoise: #aadb78; @blue: #a3cec5; @purple: #ceb5cf; @pink: #f3c1d3; @f00: #f00; Map { background-color: #b8dee6; } #countries { ::outline { line-color: #85c5d3; line-width: 2; line-join: round; } polygon-fill: #fff; } /*#province_l::glow[zoom>4] { line-color:@black; line-opacity:0.75; line-width:1.0; }*/ #province_l { [zoom<3] { line-color:#2E2E2E; line-width:0; } [zoom=4] { line-color:#2E2E2E; line-width:0.4; } [zoom=5] { line-color:#2E2E2E; line-width:0.6; } [zoom=6] { line-color:#2E2E2E; line-width:0.8; } [zoom=7] { line-color:#2E2E2E; line-width:1.0; } [zoom=8] { line-color:#2E2E2E; line-width:1.2; } [zoom>8] { line-color:#2E2E2E; line-width:1.5; } } #district_l { [zoom=6] { line-color:#5E5E5E; line-opacity:0.6; line-width:0.3; } [zoom>6] { line-color:#4E4E4E; line-opacity:0.8; line-width:0.8; } [zoom>9] { line-color:#3E3E3E; line-opacity:1.0; line-width:1.0; } }
I am very satisfied with the result from TileMill and how the mbtiles loaded in TileStream: FAST.
New cartographic technique using new technology.