Skip to main content

Processing the ESA Worldcover 2021 Dataset for the Web

Pascal Spörri
Author
Pascal Spörri
I processed the ESA WorldCover 2021 dataset into self-hosted PMTiles tilesets using geotiff2pmtiles.

The ESA WorldCover dataset is a global land cover map at 10 m resolution derived from Sentinel-1 and Sentinel-2 satellite data from 2021. I downloaded the full dataset from the ESA WorldCover data access page and processed it into PMTiles archives using geotiff2pmtiles. This produces compact tilesets that can be served from any static file host without a tile server.

The ESA WorldCover product includes land cover classification, satellite RGB composites, and additional layers. For my purposes I only focused on the land cover and RGB data.

Land Cover Classification
#

The rendered dataset is shown below with a height/hillshade layer active to help with navigation.

Open the land cover map in full screen

The land cover tileset was generated from 2,651 GeoTIFF files (single-band uint8, Deflate compressed, EPSG:4326) and encoded as PNG tiles (512 px) at zoom levels 7–13. The tileset covers -180° to 180° longitude and -60° to 84° latitude.

The dataset is stored as grayscale PNG tiles where each pixel value represents a land cover class. The tile viewer maps these values to colors on the fly:

ValueColorClass
10Tree cover
20Shrubland
30Grassland
40Cropland
50Built-up
60Bare / sparse vegetation
70Snow and ice
80Permanent water bodies
90Herbaceous wetland
95Mangroves
100Moss and lichen

Since this is categorical data, the pyramid is downscaled using mode (most common value) to avoid noise and sampling artifacts that would occur with other resampling methods. The resulting PMTiles archive is 274 GiB.

The PMTiles dataset was also postprocessed: ocean tiles were filled in for base coverage, since the original dataset only covers land up to about 10 km from the coast. The exception is Antarctica, where no data is available.

Satellite RGB Composite
#

The RGB composite was generated from 19,359 GeoTIFF files (4-band uint16, Deflate compressed, EPSG:4326). The first three bands (RGB) were extracted and the 4th band (near-infrared) stripped. Pixel values were linearly rescaled from [0, 10000] and encoded as WebP tiles (quality 85, 512 px) at zoom levels 0–13 using bicubic resampling with gamma 1.8. The resulting tileset covers -180° to 180° longitude and -60° to 83° latitude - Antarctica is not included in the source data. The resulting PMTiles archive is 258 GiB. Data quality is quite poor in mountainous and cloudy regions, where clouds were stripped out and black pixels are shown instead.

Open the satellite RGB composite in full screen

Source Code
#

Both tilesets were generated using geotiff2pmtiles, a tool I built specifically for this kind of large-scale GeoTIFF-to-PMTiles conversion. For more details on how it works, see my earlier blog post.