Skip to main content
4 min read
Spatial Data · Foundational ·

Discrete Global Grid Systems (DGGS)

A Discrete Global Grid System (DGGS) is a spatial reference framework that partitions the entire surface of the Earth into a hierarchical tessellation of equal-area, gapless cells — enabling consistent multi-scale geographic analysis.

A Discrete Global Grid System (DGGS) is a spatial reference framework that partitions the entire surface of the Earth into a hierarchical series of tessellations — each level composed of equal-area, non-overlapping cells that completely cover the globe without gaps. DGGS are standardised by the Open Geospatial Consortium (OGC) as the preferred spatial index for global-scale, multi-resolution geographic analysis.

The Problem With Traditional Coordinates

Geographic coordinate systems (latitude and longitude) are continuous and projection-dependent. Projecting a sphere onto a flat plane always introduces distortion — the Mercator projection inflates polar regions, equal-area projections distort shape, and so on. For local analysis, projections work well. At global scale, they break down.

Traditional raster grids (like GeoTIFF pixels) compound the problem: a 1 km grid cell at the equator represents a very different area than a nominally identical cell near the poles, making global density analysis unreliable.

DGGS solve this by working directly on the sphere, partitioning it into cells with consistent, well-defined areas regardless of latitude.

Core Properties of a DGGS

The OGC DGGS Abstract Specification (Topic 21) defines several required properties:

  1. Global coverage — the tessellation covers the entire Earth surface with no gaps or overlaps
  2. Equal area (or near-equal area) — cells at the same resolution level have approximately equal areas
  3. Hierarchical — each cell at resolution n is composed of a fixed number of cells at resolution n+1 (the aperture)
  4. Indexed — every cell has a unique, compact identifier that encodes its location and resolution
  5. Deterministic — the same location always maps to the same cell at a given resolution

Common DGGS Implementations

SystemCell ShapeApertureNotes
H3 (Uber)Hexagon~7Most widely used; excellent neighbourhood properties
S2 (Google)Quad (curved)4Used in Google Maps, strong spatial indexing
ISEA4TTriangle4OGC reference implementation
rHEALPixQuad4Used in geoscience / satellite applications
OpenEAGGRHexagon7Open-source; full OGC compliance

H3 and S2 dominate practical geospatial engineering. H3’s hexagonal geometry gives it better neighbourhood properties for analysis; S2’s quad-tree structure can be more efficient for certain indexing operations.

Aperture and Hierarchy

The aperture is the number of child cells per parent cell at each resolution step. An aperture-7 DGGS (like H3) produces 7× more cells at each finer level; aperture-4 systems produce 4×. The aperture affects:

  • Storage efficiency — higher aperture means more gradual resolution steps, finer control over precision
  • Edge effects — hexagonal aperture-7 systems produce slightly irregular refinement (hexagons don’t subdivide perfectly into 7 equal hexagons), requiring some approximation

DGGS in Practice

DGGS enable a workflow that was previously impractical: consistent multi-scale analysis across different datasets. Instead of re-projecting and resampling datasets to a common grid (lossy and projection-dependent), you convert all datasets to a shared DGGS index and join by cell ID.

# All datasets reduced to H3 cells — no projection mismatch
cells_pop = df_population.apply(lambda r: h3.latlng_to_cell(r.lat, r.lng, 8), axis=1)
cells_crime = df_crime.apply(lambda r: h3.latlng_to_cell(r.lat, r.lng, 8), axis=1)

# Simple pandas merge — no spatial join needed
combined = df_population.groupby(cells_pop).sum().join(
    df_crime.groupby(cells_crime).count()
)

DGGS and Machine Learning

DGGS transform geographic ML from a coordinate regression problem into a cell classification or embedding problem. Instead of predicting continuous lat/lng, models predict discrete cell IDs. This has several advantages:

  • Fixed vocabulary of locations at each resolution
  • Hierarchical features (a cell’s parent chain) can be used as multi-scale positional encodings
  • Graph structure is implicit: H3 cell neighbours can be queried in O(1) — no spatial index needed

My work on MORPHEME and WalkGrid both use H3 as the unifying spatial reference frame — converting disparate datasets (OpenStreetMap, Earth Observation, Ordnance Survey) into a shared H3 cell graph before model training.

Last updated 24 April 2026

Explore Further

Related Blog Posts