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:
- Global coverage — the tessellation covers the entire Earth surface with no gaps or overlaps
- Equal area (or near-equal area) — cells at the same resolution level have approximately equal areas
- Hierarchical — each cell at resolution n is composed of a fixed number of cells at resolution n+1 (the aperture)
- Indexed — every cell has a unique, compact identifier that encodes its location and resolution
- Deterministic — the same location always maps to the same cell at a given resolution
Common DGGS Implementations
| System | Cell Shape | Aperture | Notes |
|---|---|---|---|
| H3 (Uber) | Hexagon | ~7 | Most widely used; excellent neighbourhood properties |
| S2 (Google) | Quad (curved) | 4 | Used in Google Maps, strong spatial indexing |
| ISEA4T | Triangle | 4 | OGC reference implementation |
| rHEALPix | Quad | 4 | Used in geoscience / satellite applications |
| OpenEAGGR | Hexagon | 7 | Open-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.