My First TileMill – MapBox Map


When Franςois* claimed he had a TileMill – MapBox map up and running in 30 minutes, I had to try it out for myself. So, I spent a half day yesterday and a bit of time this morning downloading it, going through the tutorial, and then messing around with it. If you had just been trying to slap some simple point data on a map then you could have done it in close to 30 minutes for sure. For those users, the TileMill – Mapbox setup works quite well. However, I got immersed in trying to figure out as many of the capabilities as I could, so it took a bit longer. Oh, and there was also the slight problem with the export, explained below.

So first off, for those who don’t know, TileMill is an open source project by MapBox**. It allows you to upload your own spatial data, style it using CartoCSS, then export to formats like PDF, SVG, or upload straight to MapBox so that you can have MapBox serve it up for you in a dynamic webmap.

There are a lot of very enthused GIS folks who love TileMill for its great cartographic capabilities. I didn’t quite get to the point where I could enable a cool carto effect, but it does seem doable, maybe just not within a 30 minute learning time frame (or even a half-day time frame). In all, my experience was a good one, and I was sufficiently impressed to want to continue using it.

Some notes:

  • If you want to do geographic manipulation to a dataset such as buffering, selecting by location, or other GIS tasks, you still have to use a GIS. TileMill is not a GIS.
  • When you start a new project, the program asks you if you want to import their world dataset. This world dataset is great for small and medium scale maps. At a local, large-scale, it mocks me in cartoonish fashion. You will need your own background layer for large scale maps, or wait until you export it to MapBox, then add in their streets data (which is what I did).
  • There are quirks you have to get used to just as in any program. Don’t let anyone say there isn’t a learning curve. There always is. For example, what’s the difference between “save” and “save&style”? Well, after some trial and error I realized that save&style adds the CartoCSS code to the stylesheet for you whereas “save” just adds a layer to the map without the corresponding code help.
  • It still has some developer-speak in the text. For example, the Open Streets, DC example project states, “OpenStreetMap shapefile extracts provided by…” I believe the word “extracts” is meant just to show-off. But I nitpick. Similarly, it’ll help if you’re used to such language as this (found in the support area): “Does adding a ‘text-min-padding’ style to your text help out at all? I would start experimenting with values in the 10-50 range. This could also be coupled with a reduction in your buffer size.” So if you are used to point and click buttons in your GIS and you aren’t used to open source software, this will be a new way of talking, thinking, and writing for you. That’s okay. I’m just sayin’.
  • The export dialog was telling me it would take 6 days to export my map. Thankfully, Dane Springmeyer (@springmeyer on twitter) pointed out that you have to set the maximum zoom level to something lower than the default of 22, with each lower zoom max representing a marked decrease in the number of tiles needing to be exported. When I lowered it to 12 it exported within a few seconds. Much better.
These bullet-points really just enumerate minor issues I had as I went through the newbie user process. The bottom line is that you should not be duped into thinking that the use of this software requires no learning. It does. And that’s okay because the end result will be worth it. It definitely gives some other software a run for the money when it comes to cartographic capabilities.

*In comments section of The TileMill Map Gallery post.

**It’s a mystery why the two aren’t integrated into one product.

Here’s my first mapping attempt. It uses the MapBox Streets background with colors changed somewhat, and some forest permit harvest data that I built for the Hood Canal Coordinating Council using existing state data and a custom algorithm for teasing out specific harvest areas by date. You can get information about individual harvests by hovering over the polygons. The dataset itself represents a large amount of effort in getting useable information out of a public dataset. It is nice to be able to show it off in webmap form. I can see a lot of other GIS analysts wanting to do this with their data quickly and easily.

Hover over the green polygons. These tooltips were a breeze to implement in TileMill.

  1. #1 by Eric Edlund on September 28, 2012 - 11:53 am

    What a nice clean webmap! Thanks for the inspiration and useful notes, including realistic time estimate, and the max. zoom level info (I saw your tweet about that earlier in the week :-). You’ve helped me decide that I’m definitely going to use TileMill for a watershed-based citizen science project in Montana. I’ll email you a link when it’s online.

  2. #2 by Gretchen on September 28, 2012 - 12:51 pm

    @Eric Thanks. I’m definitely interested in seeing your citizen data when it’s mapped, let me know!

  3. #3 by Tom on October 2, 2012 - 7:48 am

    Hey, a quick note on why TileMill and MapBox are separate projects:

    We’re really into TileMill being free for everyone & open source, and the only real way to do this is to have it run locally on computers as a desktop application. Otherwise, TileMill on our servers would take up a lot of server resources and cost MapBox a lot of money, which would eventually drive us to either put ads next to things (that sucks) or charge for it, defeating the free bit.

    Also, MapBox is online & TileMill is local. This makes sense for most users, since their data is local, so you don’t have to upload a 500MB geotiff to a server to render it into a cool map.

    As far as what the future brings, there might be some kind of unification – we’ll see.

    The Save & Style distinction is a bit my fault – ideally there would be a better way to communicate that functionality, which I think does need both routes (plenty of users like to style things from scratch rather than having a default).

    For GIS-like operations in TileMill, you can use PostGIS queries to do quite a bit, though that requires a whole new learning curve :)

    Thanks for the write-up! It’s super-useful to get this kind of input and think about how to make these tools better.

  4. #4 by Gretchen on October 2, 2012 - 12:04 pm

    @ Tom Thanks for your insight. That completely makes sense about TileMill and MapBox being separate. Being unafraid of learning curves (though definitely cognizant of them nonetheless) I will have to give this PostGIS/TileMill combination a try. Thank you!

  5. #5 by Gretchen on October 23, 2012 - 11:17 am

    Clarification on my assertion that “If you had just been trying to slap some simple point data on a map then you could have done it in close to 30 minutes for sure.”…

    I didn’t mean this as a put-down to Francois at all. He’s since told me that he actually added several layers to his 30 minute map. I think this proves he is much smarter than I am.

  6. #6 by François Goulet on October 23, 2012 - 11:28 am

    Hahahaha! Or it can also mean that I’m lazier than you because that’s exactly what I’ve done. By several, I mean that I put 3 polygons and a point layers on a map. which took me 30 minutes. Since then, I learned a bit more and spend more time on my maps to make more beautiful effects.

    But as I was saying in a tweet to you, the learning curve of ArcMap (or MapInfo, why not), is not easier for a beginner either. Try adding a halo in ArcMap if you’ve never done it. You could spend 30 minutes just on that one!

Comments are closed.