We've been taking a fresh look at the cartographic decisions at every level of our map stack. Our recent water layer changes and water label updates made a visible difference to the Stamen Terrain style.
Rendering water at low- to mid-zoom levels trades detail against tile size. We want to represent the important features without bloating the tiles with irrelevant detail.
For polygonal features like water bodies, there already exist several generalized, pre-processed global datasets at varying levels of detail. We used these in the past, but found these created visual jumps when going from one zoom level to the next.
This was sometimes because of incompatible generalization strategies. For example, many low-resolution water datasets intentionally leave out minor features like fjords, which are not strictly important for a general large-area map but are still visible from a great distance. This is fine for their intended use case, but problematic for ours.
The other broad class of problem we noticed was that switching datasets (e.g., between Natural Earth and OSM) caused larger discontinuities, as the datasets were produced independently and vary at different speeds. We addressed this by processing OSM data for every zoom level. This took some more work to process, but was absolutely worth it!
For line data, the generalization criteria are different. We, of course, want to simplify the overall shape using similar techniques to those for polygons, but "importance" is a bit more difficult to measure. We revisited the thresholds for inclusion at every zoom level.
The differences in Stamen Terrain were striking enough that we've put together this screenshot tour.
What's Changed
Below are four side-by-side comparisons of the former style and the new revised version. We used Iceland, Norway, a wider view of Scandinavia, and Lake Ontario as examples. Drag the slider to compare each pair directly.
Iceland


Norway


Scandinavia


Lake Ontario


Across all examples, we've been able to preserve more detail. And, while it's harder to highlight the difference here, we've removed essentially all discontinuous coastline and waterway jumps between zoom levels.
Somewhat counterintuitively, this update actually reduces vector tile size at lower zoom levels. Even though we increased the level of visual detail on the map, we got much smarter about merging contiguous bodies of water. And of course, we were also able to drop insignificant features more reliably and improve our approach to geometric simplification, both of which contributed to the reduced tile sizes.
If you look closely, you might also notice some differences in water labels between the before and after images. You can read more about our recent overhaul of water name labeling here.
What This Means for Your Application
If you're using Stamen Terrain, whether vector or raster, via the endpoints on our Stamen Terrain style page, you're automatically getting the improved tiles. No changes needed on your end.
- Water bodies and coastlines render more consistently across zoom levels, with less of the visual noise that comes from switching data sources mid-zoom
- Lower-zoom tiles are smaller, despite showing more visual detail
- Improved water feature labeling: maps now show significant bays, lakes, and gulfs at lower zoom levels; show labels for straits (these were not present before); and have cleaner labels for major oceans and seas
Follow us for more updates as we continue updating our cartography. And if you spot anything that looks off, let us know at support@stadiamaps.com.