Choosing a Grid#
M3S ships 13 spatial grid systems. They differ along a few axes that actually matter in practice: cell shape, whether cells are equal-area, whether they nest exactly (a child grid tiles its parent perfectly), how far toward the poles they reach, and whether sizes are labelled in kilometres.
This guide gets you to the right one fast.
Prefer to answer a few questions?
Try the interactive Grid Picker β pick what you need and it ranks the best-fitting grids live.
Tip
New: EA-Quad. The EAQuadGrid is the only grid in M3S that is
simultaneously square, equal-area, exactly nesting (aperture-4
quadtree), global to Β±90Β°, and labelled in kilometres (powers of two,
~1 mβ1024 km). See EA-Quad grid. For the
standards-track equal-area DGGS, see rHEALPix
(rHEALPix grid).
30-Second Picker#
EA-Quad β square, km-sized cells with identical ground area worldwide. Ideal for zonal statistics, rasterisation and density maps.
rHEALPix β OGC-specified equal-area aperture-9 quadtree; exact nesting, square polar cells, used by scientific data cubes.
A5 β pentagonal DGGS on a dodecahedron; true equal-area with exact hierarchical nesting, global from whole-world down to <30 mmΒ².
Geohash β fast prefix search; native support in Redis, MongoDB, Elasticsearch.
H3 β uniform hexagons, always 6 neighbours. Ride-sharing, logistics, data science.
S2 β spherical quad-tree from global down to centimetre, no polar singularities.
Quadkey (Bing) or Slippy (OpenStreetMap) β the standard
z/x/y Web Mercator tiles.
MGRS β UTM-based, 100 km down to 1 m. GARS for coarser area reference.
C-squares β the international standard for oceanographic and marine biology data.
Plus Codes β short, open codes that work anywhere, no street names needed.
Maidenhead β ham-radio locator standard, optimised for voice QSO logging.
Feature Matrix#
The five properties that separate the grids. EA-Quad is the only system that ticks every column.
Grid |
Cell shape |
Equal-area |
Exact nesting |
Global Β±90Β° |
Km-labelled |
Precision |
|---|---|---|---|---|---|---|
EA-Quad |
Square |
β |
β |
β |
β |
0β20 |
rHEALPix |
Square (projected) |
β |
β |
β |
β |
0β15 |
A5 |
Pentagon |
β |
β |
β |
β |
0β30 |
Geohash |
Rectangle |
β |
β |
β |
β |
1β12 |
H3 |
Hexagon |
β |
β |
β |
β |
0β15 |
S2 |
Quadrilateral |
β |
β |
β |
β |
0β30 |
MGRS |
Square (UTM) |
β |
β |
β |
β |
1β5 |
Quadkey |
Square (Mercator) |
β |
β |
β |
β |
1β23 |
Slippy |
Square (Mercator) |
β |
β |
β |
β |
0β20 |
C-squares |
Rectangle |
β |
β |
β |
β |
1β5 |
GARS |
Rectangle |
β |
β |
β |
β |
1β3 |
Maidenhead |
Rectangle |
β |
β |
β |
β |
1β4 |
Plus Codes |
Rectangle |
β |
β |
β |
β |
2β15 |
Note
β means approximately equal-area: H3 and S2 cells are near-uniform but
not exactly equal-area. MGRS is metric and nests decimally within a
UTM zone, but zone seams and polar gaps break global nesting and Β±90Β°
coverage.
Sizes & Primary Use#
Grid System |
Precision Range |
Typical Sizes |
Primary Use Case |
|---|---|---|---|
EA-Quad |
0β20 |
P0: 1024 km (~1.05M kmΒ²), P4: 64 km (4096 kmΒ²), P10: 1 km (1 kmΒ²), P20: ~1 m (~0.95 mΒ²) |
Equal-area analytics, seamless global tiling, zonal/raster statistics |
rHEALPix |
0β15 |
P0: ~85M kmΒ² (6 cells), P5: ~1440 kmΒ², P10: ~0.024 kmΒ², P15: ~0.4 mΒ² |
Equal-area DGGS standard, scientific data cubes, polar-friendly statistics |
A5 |
0β30 |
P0: ~42.5M kmΒ² (12 cells), P8: ~520 kmΒ², P12: ~2 kmΒ², P20: ~31 mΒ² |
Equal-area pentagonal DGGS, hierarchical analysis, planetary-scale indexing |
Geohash |
1β12 |
P5: ~5 km, P8: ~150 m, P10: ~1 m |
Database indexing, proximity search, caching |
H3 |
0β15 |
P5: ~250 kmΒ², P8: ~0.7 kmΒ², P12: ~3 mΒ² |
Ride-sharing, analytics, uniform tessellation |
S2 |
0β30 |
P10: ~500 kmΒ², P20: ~0.5 kmΒ², P25: ~2 mΒ² |
Global apps, planetary-scale systems |
MGRS |
1β5 |
P1: 100 km, P3: 100 m, P5: 1 m |
Military, surveying, high-precision reference |
Quadkey |
1β23 |
P10: ~1000 kmΒ², P15: ~30 kmΒ², P18: ~4 kmΒ² |
Bing Maps, web mapping, tile services |
Slippy |
0β20 |
P5: ~2500 kmΒ², P10: ~78 kmΒ², P15: ~2.4 kmΒ² |
OpenStreetMap, web maps, tile servers |
C-squares |
1β5 |
P1: 100Β° (~12,000 kmΒ²), P3: 1Β° (~123 kmΒ²) |
Marine biology, oceanography, fisheries |
GARS |
1β3 |
P1: 30β (~3000 kmΒ²), P3: 5β (~28 kmΒ²) |
Military, area reference |
Maidenhead |
1β4 |
P1: 20Β°Γ10Β°, P2: 2Β°Γ1Β°, P3: ~5 kmΒ² |
Amateur radio, QSO logging |
Plus Codes |
2β15 |
P4: ~12 m, P6: ~60 cm |
Address replacement, geocoding |
Choose Byβ¦#
β¦Use case
- Equal-area analysis
EA-Quad β square km cells with identical ground area everywhere; values are directly comparable across latitudes without reweighting.
rHEALPix β OGC-standardised equal-area DGGS; exact aperture-9 nesting and ordinary square cells at the poles.
- Global analysis
S2 β hierarchical quad-tree, works at every scale from global to centimetre.
- Analytics & data science
H3 β hexagonal cells, uniform 6 neighbours, optimised for aggregation.
Geohash β fast database indexing, proximity search, Z-order indexing.
- Web mapping
Quadkey β Bing Maps standard, simple quad-tree addressing.
Slippy β OpenStreetMap tiles, universal
z/x/yformat.- Military & surveying
MGRS β NATO standard, UTM accuracy, 100 km to 1 m.
GARS β coarser area reference, 30β to 5β cells.
- Marine & environmental
C-squares β international standard for marine biological data.
- Address replacement
Plus Codes β open-source, works anywhere, short codes.
- Amateur radio
Maidenhead β ham-radio standard for voice communication.
β¦Cell shape
- Squares (equal-area)
EA-Quad β equal ground area worldwide, exact quadtree nesting.
rHEALPix β equal-area squares in the rHEALPix projection, exact aperture-9 nesting.
- Squares (UTM)
MGRS β accurate distance/area within a zone.
- Squares (Web Mercator)
Quadkey, Slippy β web mapping tiles.
- Pentagons (equal-area)
A5 β true equal-area DGGS on a dodecahedron, exact hierarchical nesting.
- Hexagons
H3 β always 6 neighbours, near-uniform coverage.
- Spherical quadrilaterals
S2 β Googleβs spherical geometry.
- Rectangles
Geohash, C-squares, GARS, Maidenhead, Plus Codes.
β¦Precision needs
- High precision (metres)
MGRS (1 m), S2 (high levels), H3 (res 12+), Plus Codes.
- Medium precision (kilometres)
EA-Quad, rHEALPix, H3, Geohash, Quadkey, S2.
- Coarse precision (100+ km)
EA-Quad (P0βP3), MGRS (P1), C-squares (P1), GARS.
See It in Action#
The examples have one page per grid, each with a static image and an interactive map:
Grid Systems β one example per grid, each tessellating the same area with a static and an interactive map
EA-Quad grid β the EA-Quad equal-area grid
rHEALPix grid β the rHEALPix equal-area DGGS
A5 grid β the A5 equal-area pentagonal grid
Quickstart β the GIS-native M3S API
Precision Selection Strategies - Complete Guide β intelligent precision selection
Grid system enhancements β conversion, relationship analysis, and multi-resolution operations
Compare grids for the same location in code:
from m3s import GridBuilder, PrecisionSelector
for system in ['eaquad', 'h3', 's2', 'geohash']:
selector = PrecisionSelector(system)
rec = selector.for_use_case('neighborhood')
result = (GridBuilder
.for_system(system)
.with_auto_precision(rec)
.at_point(40.7128, -74.0060)
.execute())
cell = result.single
print(f"{system:10s} P{rec.precision}: {cell.identifier} ({cell.area_km2:.2f} kmΒ²)")
Cheat Sheet#
Equal-area square cells in kilometres β EA-Quad
Standards-track equal-area DGGS β rHEALPix
Most analytics tasks β H3
Database indexing β Geohash
Web mapping β Slippy or Quadkey
Military / surveying β MGRS
Global science β S2
Marine data β C-squares
Next steps: the Quickstart for basic usage, the Examples for visual examples, and the API Reference for full reference.
Official references:
EA-Quad β uses the EASE-Grid 2.0 projection only (EPSG:6933); its cells are not NSIDC EASE-Grid pixels. EASE-Grid 2.0: https://nsidc.org/data/user-resources/help-center/guide-ease-grids
rHEALPix β equal-area DGGS (OGC): manaakiwhenua/rhealpixdggs-py
A5 β pentagonal DGGS: https://a5geo.org/
MGRS: https://en.wikipedia.org/wiki/Military_Grid_Reference_System
Plus Codes: https://plus.codes/