A cloud-native mirror of the European Commission Joint Research Centre's Global Human Settlement Layer, currently covering GHS-POP R2023A: modelled residential population per grid cell, twelve five-yearly epochs from 1975 to 2030, on the 100 m World Mollweide grid.
A cloud-native mirror of the European Commission Joint Research Centre's Global Human Settlement Layer, currently covering GHS-POP R2023A: modelled residential population per grid cell, twelve five-yearly epochs from 1975 to 2030, on the 100 m World Mollweide grid.
Twelve collections, one per epoch, containing 3,984 tiles in total.
The upstream archive publishes these rasters inside ZIP files with no internal overviews. A ZIP member is Deflated, so it cannot be partially read, which means a client wanting the population of one province must download every tile of that epoch and decompress it. The JRC server itself handles byte ranges correctly — the packaging is what blocks partial access.
This mirror republishes the same rasters as Cloud Optimized GeoTIFFs, so a reader fetches one tile at one zoom level. It also adds the internal overviews and embedded statistics that a renderer needs, and drops the data type from Float64 to Float32, which is lossless for this data.
Every claim above is measured, with the commands and numbers in why this mirror exists. That document doubles as the change request we would send upstream: if JRC shipped COGs, this mirror would not need to exist, and we would rather maintain metadata than bytes.
The pixels are not bit-identical to the source. LERC_ZSTD compression quantizes values to 0.01 persons per cell, which is lossy. Across all 332 non-empty tiles in 1975, total population changed by −0.000357% (14,529 people out of 4,069,481,557); no tile total changed by more than 1,048 people. Across all epochs, the largest absolute miss was 2,701 people. Compression reduced 46.5 GB to 17.7 GB, a 2.64x reduction.
If you need the source values exactly, use
JRC's own distribution.
Per-tile fidelity measurements are recorded in the repository's manifests/.
Unchanged: the grid, the projection, the model, its inputs, the authors, and the licence.
Read a tile header without transferring pixels:
Each collection ships a STAC-GeoParquet index of all 332 items, so you can find the tiles covering an area without fetching item JSON one at a time:
The grid is equal-area, so cell counts and per-cell densities are comparable anywhere on Earth with no latitude correction. Coordinates are metres from the Mollweide origin, not degrees. AGENTS.md covers both, including how to compute which tile covers a given point.
Cite the source, not the mirror:
Schiavina M., Freire S., Carioli A., MacManus K. (2023): GHS-POP R2023A - GHS population grid multitemporal (1975-2030). European Commission, Joint Research Centre (JRC). doi:10.2905/2FF68A52-5B5B-4A22-8F40-C41DA8332CFE
Metadata for this catalog lives in a git repository. Wrong licence, bad description, broken link: open a pull request or an issue. Errors in the population estimates themselves belong with JRC, not here.