H3 in the Field
Mo Fotouhi is a Senior Manager of Data Science at John Deere, where he leads teams working on geospatial intelligence and AI for agriculture. At the H3 Conference 2026 in New York City he gave a lightning talk he described as a love letter to H3 with footnotes: H3 makes agricultural data easy to combine, but field-level questions need finer detail and a sense of time that H3 does not provide on its own.
One integer for every layer
Mo started with the kind of question a client asks: which parts of this region gained or lost productive ground over the last 10 years? Answering it takes far more than a single yield map. The team needs:
- soil properties for the region
- weather conditions over the past 10 years
- satellite data such as NDVI and crop growth stages
- field roughness, elevation and terrain
- the exact boundary of the area of interest
Each arrives in a different shape: point data from weather stations, soil polygons of arbitrary sizes and shapes, satellite rasters with sometimes 12 or more bands, elevation rasters or contours, and boundary polygons supplied by the customer. Mo called fusing all of that before H3 "a mess".
With H3, every layer shares one base with a single integer as the index. The layers still mean different things, but they can be added together and correlated, and the analysis starts to look like a linear math problem.
Rasters become tables
His team also uses H3 a lot to convert rasters into tables. Rasters, which include satellite data, are harder to work with: fewer people are used to them, they take more time, and there are fewer tools for them. Converted to H3 cells at a suitable resolution, a raster becomes a table that can be joined, partitioned and used to train models, which brings the work closer to a familiar engineering problem.
When resolution 15 is not fine enough
The footnotes started with a harder question: which rows in this field are underperforming, and since when? Using a sample field (not customer or company data), Mo zoomed through the resolutions:
- At resolution 12, many crop rows fall inside one cell.
- At resolution 13, four or five rows still fit in a cell.
- At resolution 14, there are still three rows per cell.
- At resolution 15, the finest the standard library offers because of its 64-bit index, a couple of rows still share a cell.
Even at resolution 15 an analysis can miss the spacing between plants, a weed patch inside a cell, or the distance between rows. The options are to aggregate and accept the loss of accuracy, or to extend H3. Mo proposed defining local coordinates inside a cell for anything finer than resolution 15.
Time and hierarchy
H3 standardizes space, but agriculture also needs a way to handle time. Mo showed the same field in April as bare soil after planting, in July under full canopy, and in October or November ready for harvest. A field in Brazil and one in Iowa get different amounts of sun and different growing degree days, so time is not linear for the crop and a plain time axis is not enough. Mo suggested bucketing time by growing degree days, so the time axis advances with the warmth that drives plant growth rather than with the calendar.
The last footnote was the hierarchy. H3 child cells do not roll up exactly to their parents, which matters for real legal boundaries: rolling a field's yield up from resolution 12 to resolution 8 can pull in part of a neighboring field's yield. Asked in the Q&A how they handle it, Mo said finer resolutions raise compute cost and analysis time, and going back to polygons brings its own problems, so most of the time the team accepts a known error and records it.
Learn more
- Watch the talk on YouTube
- Raster Ingestion Pipeline: turn rasters into H3 tables in Fused
- Resolution Guide: choose an H3 resolution for your question
