We just released TileMill 0.10.0, the latest version of our open source map design studio. This release redefines the creative possibilities for web cartography with its new support for compositing layers and features, achieving photoshop-like clipping, masking, blurring, or highlighting. This powerful set of compositing operations can be used seamlessly across vector and raster layers all using pure CartoCSS. The compositing now possible in TileMill, in combination with image patterns or raster hillshades, can enable effects of uniqueness and beauty that go beyond what has previously been possible.

This new release allows operations (also known as modes) like multiply, grain-merge, and soft-light that are behind the remarkably vivid look of our new terrain layers.

The possibilities are endless when you combine various operations with complex data as AJ demonstrates or unique pattern fills as Bill shows.

For full documentation on the supported methods and how to use them see the TileMill Compositing docs.

The general design for this support comes from the SVG Compositing Spec, which all modern web browsers are working towards. The implementation in Mapnik was tackled by the infinitely talented Artem and battle tested by AJ and many other Mapnik community members while in development. We are thankful for the early innovation in compositing by Lars Ahlzen of TopOSM and our friends at Stamen, and are very excited to see re-implementions of previously complicated visualizations in just a few lines of Carto.

Advances in dynamic styling, performance, and remote data

There is more however than just compositing in this release.

Dynamic markers

A select set of styling properties are now newly data driven. For example, if you need variably sized marker sizes (“scale points”) to represent different data values you can now achieve this with one line of CartoCSS rather than needing multiple conditional rules

marker-width:[FIELD];

If your attribute values do not map directly to reasonable marker sizes, you can also apply math operators like division and/or combine multiple fields together to properly size the markers:

marker-width:[FIELD1] * [FIELD2] / 10;

Like compositing, the possibilities are now only limited by the uniqueness of your data. For example (and just for fun), with nothing more than Natural Earth 10m populated places, which has Longitude and Latitudes as attributes and few lines of CartoCSS, I can create a scaled marker vortex around Null Island.

This is all possible based on Mapnik’s sophisticated expression engine written by Artem and the skilled crafting of a CSS syntax and parser by Tom.

Remote symbols

Thanks to work by Ansis, TileMill now supports fetching svg and image symbols like those you might reference from marker-file or background-image from anywhere on the web. For instance, if you would like to use styled MapBox markers directly in TileMill it is now as easy as:

marker-file:url('https://api.tiles.mapbox.com/v3/marker/pin-l-star.png');

And they can now be resized on the fly (both svg and png), have their opacity set (both svg and png) or recolored (just svg). Recoloring SVG icons is as simple as setting a property like marker-fill or marker-line-color. Resizing can be done by using a scaling transform marker-transform:scale(2,2); (to double the size of the symbol) or by setting a width marker-width:20; (this internally generates the proper scaling transform).

Performance

This release brings major performance increases for Windows users. Previously TileMill on Windows needed to copy data upon import, which did not scale for large files. Now in TileMill 0.10.0, thanks to advances in Node.js and a lot of hard work by Ansis, symlinking is now used to reference data on Windows Vista/7/8 like on OS X and Linux. On platforms like Windows XP that do not support symlinks, node.js streams are now used to safely copy massive files.

HTTP Proxy

TileMill 0.10.0 also newly supports using an HTTP proxy for web access thanks to an expansive sprint by Ansis (again, I know the guy is amazing). See the Proxy settings docs for details.

Upgrading

Please see the upgrade notes for more details about changes compared to previous TileMill versions and see the changelog for even more details about bugs fixed and features added.

Download TileMill now

Packages of TileMill 0.10.0 are available now for Mac OS X, Windows, and Ubuntu at TileMill.com. As always, don’t hesitate to ask us a question if you have trouble.