Thoughts on Tilemill

I’m currently working on a web project for a friend that requires more advanced maps. I thought some really good maps would do this site wonders regarding emotional appeal and was excited to see what I could build. I have an account on a service wonderful called Mapbox. Mapbox integrates very nicely with software called Tilemill that allows users to create insanely customized maps, using open data sources such as GeoJSON and a CSS-like language called CartoCSS. I have extensive experience with CSS and a working knowledge of GeoJSON, so I decided to jump into Tilemill for this mapping project yesterday.

Tilemill is a very nicely designed program, but at first glance, it just didn’t make much sense to me. I created a project and tried playing around a bit to get things to show on screen. I quickly realized that importing data into the program was rather… essential for playing with maps. I thought there was going to be an in-program data editor that allows you to make the various types of map objects; like markers, lines, and polygons. After learning that it supported CSV imports, I threw my data points into Google Drive and exported a CSV pretty quickly. After getting the CSV points in, I was quickly able to jump into styling them. It was fun, until I realized I wanted a line. That meant GeoJSON, which I didn’t have the patience to even bother with yesterday. I googled “csv to geojson” and thankfully an awesome resource online allowed me to do just that: csv2geojson. After getting my points in, Tilemill complained about my line a lot, so I changed the top line in the exported GeoJSON file to

"type": "featureCollection"

and all was well. I quickly jumped into styling the line as well. It was all rather easy, actually, and I decided to push my tileset online. I had this workflow for a while where I would do that, and add it to my satellite maps on Mapbox, so there was an annoying period of time to see if my design changes worked on the satellite map. I got frustrated and emailed Mapbox’s support team. They suggested I use the Reference Layer plugin for Tilemill, which allowed me to see my changes on top of the actual map in the program, which really helped!

Finally, I realized that Mapbox’s satellite imagery wasn’t going to work for my application so I browsed around and looked for any NASA Blue Marble imagery they had. I found some (available here) and added that into Tilemill as my new reference map. It worked wonderfully! I finally had a great map setup and learned about an awesome new tool that is available for free. I’m looking forward to using it more in the future.

Oh, and this site I’m working on? It’s going to be incredible. Can’t wait to share it!