← Back to Discrete Global Grid Systems (DGGS)

OGC AI-DGGS Disaster Management Pilot

The AI-DGGS for Disaster Management Pilot was conducted under the OGC Research Program and sponsored by Natural Resources Canada (NRCan), the European Space Agency (ESA), the Centre national d’études spatiales (CNES) and the United States Geological Survey (USGS). The pilot investigated how Discrete Global Grid Systems (DGGS), the OGC API – DGGS standard and Artificial Intelligence (AI) can be combined for flood risk assessment, with the Red River Basin in Manitoba (Canada) as the study area. The DGGS serves as a common spatial reference, where datasets from RADARSAT Constellation Mission (RCM) radar imagery to population counts are indexed to the same grid cells. AI agents (e.g. via Retrieval-Augmented Generation (RAG) or the Model Context Protocol (MCP)) can then query location-indexed data from several independent DGGS servers instead of relying on pre-trained knowledge.

The final OGC Engineering Report is now public and available as HTML and PDF.

Our contribution: pydggsapi as an open-source DGGS server

Alexander Kmoch and Wai Tik Chan participated in the pilot (through Geolynx, in collaboration with our lab) with the open-source DGGS API server component (D121), which is based on our pydggsapi software. pydggsapi was also the basis for the DGGS API of our partner, the Computer Research Institute of Montréal (CRIM), so that two independent deployments of the same code base were tested against each other and against the AI-enabled clients of the other participants. During the pilot, pydggsapi was extended and hardened in several ways:

  • runtime conversion between the IGEO7 and H3 grids, so that the data storage is decoupled from the grid a client requests;
  • a modular provider architecture for grid libraries (DGGRID via dggrid4py, DGGAL) and storage backends (ClickHouse, Zarr, Parquet);
  • OGC API – DGGS conformance classes for zone query, zone data retrieval, CQL2 filtering, custom depths and several output encodings;
  • a Mapbox Vector Tiles endpoint to visualise DGGS collections directly in QGIS;
  • latitude shift corrections in dggrid4py and pydggsapi for consistent coordinates between implementations and with GeoJSON output.

We converted several raster datasets into IGEO7-indexed Zarr collections with 60 to 200 million zones at refinement level 14 (~75 m² per zone). In the Technology Integration Experiments (TIEs), the AI clients of other participants federated queries across our server and the servers of Geomatys, Ecere, Safe Software and others.

Lessons learned

The pilot also made limitations visible, which are documented in Annex J of the report. Collections beyond ~200 million zones could not be published on our test instance, because Xarray loads the full zone index into memory. Range-based or virtual indexes for DGGS data in Zarr are therefore a priority for our further work on pydggsapi and XDGGS. Furthermore, aggregating aperture 7 hexagonal grids (IGEO7 as well as H3) along the logical parent-child hierarchy can introduce statistical errors of up to 6.5%, because the parent zone does not fully cover its children. Wai Tik Chan also highlighted that AI agents need metadata about the quantisation method (e.g. nearest neighbour or bilinear interpolation) that was used to bring data into the DGGS, as otherwise resampling artefacts cannot be accounted for.

Beyond the server implementation, we contributed to the report annexes on selecting a DGGS (Annex C), the server library and analysis capabilities (Annexes D and E) and the draft DGGS-Zarr encoding specification (Annex F), which builds on our work with XDGGS and the Zarr community.

Please cite the pilot report as:

Contarinis, S., Taghavikish, S. (Eds.): AI-DGGS Disaster Management Pilot Report, OGC Engineering Report 25-031, Open Geospatial Consortium, http://www.opengis.net/doc/PER/AI-DGGS/D001, 2026.