Apr 27 2026

Designing web maps for our highest-resolution dataset yet

by
Shane Loeffler +Kata Martin 
Shane Loeffler
Kata Martin

Our Open Climate Risk project produced the highest-resolution dataset we’ve ever released in a map tool. To make the map flexible and performant from the continent to building scale, we reached for a new stack of cloud-native formats and open source mapping tools.

0
1
.01%
2
.02%
3
.035%
4
.06%
5
0.1%
6
0.2%
7
0.5%
8
1%
9
3%+
10
Risk of loss 
%
figure 1
/

Map showing all layers from the Open Climate Risk map including building polygons, overview building points, and raw data raster (toggle). Colors map to risk scores. See our explainer for more information on the underlying data.

MapLibre

We used the @carbonplan/maps library to build most of our previous web tools, which often focused on coarser-scale, gridded data. That library was coupled with an old version of Mapbox GL JS, which is no longer actively maintained with open licensing. Open source and open science go hand in hand, so moving to an actively maintained, open source alternative like MapLibre made a lot of sense. It also has great support for emerging formats like PMTiles (more on that below), robust styling support, and the ability to render data in a globe projection view.

PMTiles

Our first concern was to find a format for the building footprint data that would be easy to build with and cheap to maintain. This led us to Protomaps, a relatively new ecosystem for creating, storing, and styling map tiles. A .pmtiles archive is a single file that can be uploaded to a cloud storage platform like S3, allowing simple integration with no server maintenance or third-party data subscriptions. Each file contains map tiles and some metadata, which can be fetched by client applications using byte-range requests.

In the final step of our data processing pipeline, we generate PMTiles from our core GeoParquet output. It was easy to extend this pattern to support additional features like a points-based view for low zoom levels and regional risk summaries across geographies like counties and census blocks. The Protomaps ecosystem also has great tooling to support the creation of themed basemap tilesets from OpenStreetMap data, which allowed us to create a customized, darkmode basemap with ease.

zarr-layer

The raster dataset that underlies the building-level dataset for Open Climate Risk is the highest-resolution Zarr store we’ve ever visualized. We had been exploring an updated way to render Zarr on web maps through zarr-layer, and Open Climate Risk was our first chance to use it in production. Using zarr-layer solved two key problems in this project, both stemming from its ability to reproject data on the fly. First, client-side reprojection freed us of the need to reproject our science outputs to Web Mercator for web visualization, which was proving expensive for our high-resolution dataset. Second, comparisons between our raster dataset and our vector building dataset require that the raster data maintain their original grid so that the exact pixel boundaries used to assign scores to buildings can be visualized. Handling arbitrary projections and resolutions in zarr-layer makes this possible.

DuckDB

We also wanted to make it easy to download building-level data over specific regions of interest. Instead of subsetting and saving copies of the dataset for every county, census tract, and census block, we compute these on-demand. Using DuckDB-WASM in the browser, we directly query the GeoParquet output and package it up for download for the user. This means no server maintenance for these dynamic downloads, just GeoParquet files in an S3 bucket.

Looking forward

This cloud-native open source stack covers all of our visualization needs, without running any custom servers. The flexibility and modularity of the tools mean that they can be used in future projects, both big and small. We’re grateful to be a part of this collaborative ecosystem and hope our experiences putting together the Open Climate Risk tool will help other projects adopt open tooling.

All of the code that powers the Open Climate Risk tool is available on GitHub. If you have questions or suggestions about our usage of any of these tools, please reach out.


Questions? Interested in collaborating on these problems?
email us
EMAIL
hello@carbonplan.org
NEWSLETTER
Subscribe
CarbonPlan is a registered nonprofit public benefit corporation in California with 501(c)(3) status.
(c)
CARBONPLAN
TERMS OF USE
/
PRIVACY POLICY
SCROLL: 0.00
f1c94a2