I'm struggling to put together the appropriate stack for rendering raster tiles (for display of slippy maps) from a given Mapbox GL style.
Style specifications: First there were the Mapnik XML stylesheets, which were then superseded by CartoCSS, which in turn are to be replaced with Mapbox GL styles. That's quite an evolution. It is costly to move from one to the other, so today the best option is to go with Mapbox GL styles, if possible.
Style conversions: To my knowledge, the only automated style conversion available is CartoCSS to Mapnik XML using TileMill.
Map editors: MapBox Studio Classic works with CartoCSS. It is replaced by Mapbox Studio, which instead works with Mapbox GL styles. Maputnik, a FOSS alternative to Mapbox Studio, also works with Mapbox GL styles. (Actually, prior to Mapbox Studio Classic there was TileMill, which also works with CartoCSS, and can export Mapnik XML.)
Obviously Mapbox GL styles are intended to be used with MapBox GL js, which uses WebGL. On new hardware this is very nice indeed. On older hardware, without graphics acceleration, MapBox GL js is not an option, however. Yet it desirable to use one style specification to render both with Mapbox GL js and with the old-fashioned raster tiles.
The first conclusion is that, today, we can safely discard MapBox XML.
This leaves the following options:
- Use Mapbox Classic, work with CartoCSS: There is no path to Mapbox GL js rendered maps
- Use MapBox Studio or Maputnik with Mapbox GL styles: There is no path to old-fashioned raster tiles
Am I missing something? Ideally it should be possible to render raster tiles with the MapBox GL toolkit, but I don't see how.
tileserver-gl
can do it, albeit rather slowly. Beyond that the situation is rather bleak, AFAIK.