TileMill: Open Source Map Design
seen from Lithuania

seen from Türkiye

seen from Norway
seen from United States

seen from United States
seen from France
seen from Türkiye
seen from United States
seen from Saudi Arabia

seen from Türkiye
seen from United States
seen from United States
seen from Australia

seen from Malaysia
seen from Spain
seen from United States
seen from Netherlands
seen from United States
seen from Australia
seen from United States
TileMill: Open Source Map Design

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Conceptual cartography
Conceptual cartography
mapbox et tilemill
Un framework pour publier facilement et joliment de la donnée SIG sur le web:
https://www.mapbox.com
https://www.mapbox.com/tilemill
Du potentiel, on y reviendra.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
data-driven maps 101
Nick, 5/28:
This Nature article really got me thinking about presenting data on maps. Not being a cartographer or computer programmer, I was very intimidated by the process...
However, I was directed to the program Tilemill. This “Insanely Illustrated Guide to Your First Data-Driven Tilemill Map” by Lisa Williams (Twitter: @lisawilliams) was insanely helpful to get me started. Lisa does a great job of walking you through the process. Here is my first map:
As with most graphical representations of data though, it really depends what kind of findings we discover. The data above represents different levels of a variable (in this the case, the amount of children enrolled in early intervention programs) at different specific points (i.e., cities) in Rhode Island. This might be fine if we focus on smaller areas like cities or individual states, but what about state-level changes? For this, we’ll need to use choropleth maps, which is one of the things I’ll be tackling next! (Lisa Williams directed me to this tutorial to making my first choropleth map!)
more to come soon!
Great thing about TileMill is that you can use it to create maps, but you can also use it to create tiles that can be loaded into custom servers and served to browsers. For the more Processing-inclined, be sure to check out Till Nagel's TileMill for Processing.
Melbourne building footprints
City of Melbourne's data portal has this nice dataset of building footprints: a rough 2D outline of the shape of the building at ground level. But what's cool is the height in metres of (almost) every building in is included.
Let's grab the shapefile.
wget https://data.melbourne.vic.gov.au/api/geospatial/qe9w-cym8?method=export&format=Shapefile
A quick preview in TileMill shows a small problem:
See the overlapping parts of Etihad Stadium? We need to draw the buildings from north to south. I load the shapefile into PostGIS:
ogr2ogr -t_srs EPSG:3857 -overwrite -f "PostgreSQL" PG:"dbname=gis user=ubuntu password=..." -nlt MULTIPOLYGON BuildingFootprints.shp
For good measure, here's an alternative way:
shp2pgsql BuildingFootprints.shp | sudo -u mapbox tee footprints.sql psql -d gis < footprints.sql
Now, a bit of fancy styling, and some more data from OpenStreetMap, and voila.
The full CartoCSS code for TileMill is here:
Map { background-color: hsl(40,0.3,0.9);//#fff; } @s: 0.3; @l: 0.8; @h: 240; #buildings { building-height:[height]*0.75; building-fill:white; [flooors < 5] { building-fill-opacity:0.2; } [flooors < 5] { building-fill:hsl(@h,@s,0.7); } [flooors >= 5] { building-fill:hsl(@h,@s,0.6); } [flooors > 20] { building-fill:hsl(@h,@s,0.5); } [flooors > 40] { building-fill:hsl(@h,@s,0.35); } [flooors < 5] { building-fill-opacity:0.2; } [flooors >= 5] { building-fill-opacity:0.8; } [flooors >= 20] { building-fill-opacity:0.9; } [flooors >= 40] { building-fill-opacity:1; } } #water { polygon-fill:hsl(220,30%,40%); image-filters:agg-stack-blur(4,4); } #rail { line-width:2; [zoom >= 16] { line-width:4; } line-color:yellow;//hsla(140,80%,40%,30%); line-opacity:0.3; line-smooth:1; ::inner { line-width:1; [zoom >= 16] { line-width:2; } line-color:orange; line-smooth:1; } } #bikeroutes { line-width:6; line-opacity:0.3; line-color:lightgreen; image-filters:agg-stack-blur(2,2); line-smooth:1; ::inner { line-width:3; line-color:hsl(120,0.7,0.4); line-cap:round; line-join:round; line-smooth:1; } } #streetnames[zoom >= 15][highway != 'residential'], #streetnames[zoom >= 16] { text-placement:line; text-face-name:'DejaVu Sans Book'; text-name:[name]; text-fill:hsl(60, 20%, 70%); [zoom = 15] { text-size: 10; } [zoom >= 16] { text-size:12; } }