Skip to content

Implementations

GeoZarr conventions advance in maturity through diverse implementations. The Zarr Conventions Framework requires 3+ independent implementations for Candidate maturity.

Implementation Matrix

ImplementationLanguagegeo-projspatialmultiscalesNotes
eopf data-modelPythonFullFullFullReference implementation for EOPF Sentinel data
zarr-cmPythonFullFullFullZero-dependency conventions metadata library
GDALC++FullFullFullRead/write in 3.13; GEOREFERENCING_CONVENTION=SPATIAL_PROJ option
rioxarrayPythonFull (Write TBR)Full (Write TBR)Read/write via Convention.Zarr
geozarr-toolkitPythonIn progressIn progressIn progressCLI (geozarr validate, geozarr info) and FastAPI service
OpenLayersJavaScriptReadReadReadol/source/GeoZarr; experimental; requires ol ≥ 10.8.0
TiTiler (via EOPF)PythonReadReadReadGeoZarr Reader
zarr-layerTypeScriptReadReadReadMapLibre/Mapbox rendering; arbitrary CRS via proj4; v0.4.3
QGIS GeoZarrPythonReadReadReadPlugin with band selection, satellite presets; requires GDAL 3.13

Support levels: Full = read/write, Read = read-only, In progress = under active development

Implementation Details

GDAL

The GDAL Zarr driver (v3.13+) supports read/write of geo-proj, spatial, and multiscales conventions for Zarr V3. Key features include sharded storage, parallel chunk decompression, and BuildOverviews for multiscale pyramid generation. Use the GEOREFERENCING_CONVENTION=SPATIAL_PROJ creation option to write GeoZarr conventions.

rioxarray

rioxarray (v0.22+) supports reading and will support writing in next release CRS and transforms using the Zarr proj: and spatial: conventions. Use Convention.Zarr to read/write Zarr conventions alongside or instead of CF conventions.

eopf data-model

Python library for converting EOPF (Earth Observation Processing Framework) datasets to GeoZarr-compliant format. Supports native CRS preservation, COG-style /2 downsampling for multiscale, CF standard names, and S3 output.

OpenLayers

The ol/source/GeoZarr source reads GeoZarr groups with multiscales support directly in the browser. Currently experimental (API subject to change).

zarr-layer

Custom MapLibre/Mapbox layer for rendering Zarr datasets, supporting Zarr v2 and v3, arbitrary CRS reprojection via proj4, multi-band custom shaders, globe rendering, and querying.

QGIS GeoZarr

QGIS plugin for loading cloud-native Zarr data from STAC catalogs. Features band and resolution picker with satellite presets (Sentinel-2, Landsat, MODIS, Sentinel-3, EOPF), multiscale pyramid support, and auto RGB styling. Zarr v2 and v3 including sharded stores (sharding requires GDAL 3.13+).

Production Deployments

DeploymentStackgeo-projspatialmultiscalesNotes
EOPF ExplorerOpenLayers + TiTilerReadReadReadFirst production adoption for Sentinel-2 L2A data; serves sharded Zarr v3 with GeoZarr conventions via STAC catalog

Tools & Libraries

geozarr-toolkit

Python library for creating, validating, and working with GeoZarr metadata. Includes a CLI (geozarr validate, geozarr info) and a FastAPI web service.

geozarr-examples

Reference documentation, Jupyter notebook examples, and example datasets demonstrating GeoZarr conventions in practice.

metazarr

Browser-based tool for exploring Zarr stores and validating GeoZarr conventions against JSON Schemas. Runs entirely client-side.

zarr-cm

Lightweight Python implementation of Zarr Conventions Metadata.

Released under the MIT License.