By Township Canada
AAFC Crop Inventory Walkthrough: 5 Years of What's Been Grown on the Prairies
AAFC publishes a national satellite-derived crop inventory every year. Township Canada aggregates 5 years to a per-parcel summary with dominant crop, rotation, and Shannon diversity. Here's how to read it.
Agriculture and Agri-Food Canada (AAFC) publishes a national raster called the Annual Crop Inventory (ACI) each spring, covering the previous growing season. Each ~30m pixel carries a single integer crop class — canola, spring wheat, soybean, oats, fallow, and so on — derived from satellite imagery (Landsat, Sentinel) plus ground-truth verification.
For Township Canada's Ag Bundle, we aggregate the most recent five years into a per-parcel summary that surfaces on every parcel report and as a full overlay on the map for Ag Farmer and Ag Investor tiers. This post walks through how the aggregation works, what the outputs mean, and how to read the rotation patterns.
What the summary returns
For any quarter section in Alberta or Saskatchewan, the AAFC crop summary card returns:
- Dominant crop — the crop class that occupies the most acres across the 5-year window
- Rotation — year-by-year sequence of dominant crops (Year 5 oldest → Year 1 newest)
- Shannon diversity index — 0 to ~1, measuring how varied the rotation is
- Years covered — explicit list of which years are in the aggregate
A typical Alberta canola-wheat rotation might return:
- Dominant: Canola
- Rotation: Canola, Wheat, Canola, Wheat, Canola
- Diversity: 0.65
- Years: 2021, 2022, 2023, 2024, 2025
Read as: "Canola in odd years, wheat in even years, with Canola taking the recent year. Moderately diverse rotation."
A continuous-canola operation:
- Dominant: Canola
- Rotation: Canola, Canola, Canola, Canola, Canola
- Diversity: 0.0
- Years: 2021, ..., 2025
Read as: "Canola monoculture. High disease pressure risk, no rotation."
The aggregation pipeline
AAFC publishes the raster at ~30m resolution. Town\ship Canada's pipeline is:
- Reproject + mode-aggregate to 1km cells.
gdalwarp -r mode -tr 1000 1000collapses ~30m pixels to 1km vector cells using mode aggregation (most-common pixel value wins). - Polygonize to vector.
gdal_polygonizeconverts the 1km raster to vector polygons. - Join the AAFC crop class codebook. Pixel value 146 → "Canola", 153 → "Spring Wheat", 167 → "Soybean", and so on.
- Compute the multi-year aggregate — dominant crop, rotation array, Shannon diversity per cell.
Result: app.aafc_crop_summary — one row per 1km cell with the 5-year summary attached. Served as PMTiles for the map overlay; queried directly for per-parcel reports.
Why mode aggregation, not majority
A 160-acre quarter section overlaps ~250 of the 1km AAFC cells in a typical configuration. We don't want to know "what was grown on 60% of the acres" — we want the dominant cell, which is the modal-of-modals across the parcel's overlap. The parcel report card returns the dominant cell; the full acreage breakdown is in the underlying data but isn't surfaced as a UI element today.
The Shannon diversity index
Shannon's H is the standard ecology measure for "how varied is this community." For crop rotations, it captures the difference between a monoculture (H = 0) and an even mix of N crops (H = ln(N), ~1.6 for a 5-crop mix).
Township Canada normalizes Shannon's H to a 0-1 scale where 1.0 = maximum observed diversity in the dataset (typically a perfect even mix of 5+ crops). Useful for:
- Carbon project baseline framing — Conservation Cropping protocols benefit from high-diversity rotations
- Disease pressure proxy — low diversity (high canola or high wheat) correlates with higher disease/pest pressure
- Risk profiling — high-diversity portfolios are more resilient to single-crop price shocks
Common rotation patterns you'll see
Scanning the AAFC overlay across the Prairies, several archetypes recur:
Canola-wheat (heaviest in central Alberta and Saskatchewan). Diversity ~0.6, dominant alternates between canola and wheat. The workhorse rotation for the Black Soil Zone.
Canola-wheat-pulse (south-central Saskatchewan). Diversity ~0.8, with lentils, peas, or chickpeas inserting on a 3-4 year cycle. More resilient to canola-specific disease pressure.
Continuous canola (Peace block, some central AB). Diversity 0.0-0.2. Agronomically risky but common where pulse rotations don't fit the local climate.
Wheat-fallow (Brown Soil Zone, southwest Saskatchewan, southern Alberta). Diversity 0.5-0.7 with fallow alternating. Standard dryland practice where moisture is the binding constraint.
Irrigation-driven complexity (southern Alberta near St. Mary or Bow River systems). Diversity 0.85+, with sugar beets, potatoes, alfalfa, soybeans, and dry beans in the rotation. Very different agronomic profile from dryland.
What ACI doesn't capture
A few important limitations:
- Failed crops show as what came up. A canola that failed in May and got reseeded to oats shows as oats — the satellite sees what's actually growing.
- Cover crops and intercrops — typically not distinguishable at the 30m pixel scale. The summary reports the dominant cash crop.
- Tillage and OM management — invisible to the satellite. ACI tells you what was grown, not how.
- Unseeded fallow vs. summer fallow — both look the same to the satellite. Practice-level distinctions require additional inputs.
For most ag use cases (lease verification, portfolio screening, carbon baseline), the surface-level rotation summary is the right level of detail. For research-grade work, the underlying year-by-year rasters are still the source of truth.
Coverage and use cases
- Alberta + Saskatchewan: full coverage of the cultivated land base
- Manitoba, BC, Ontario: partial AAFC coverage; we ingest where available
Combined with LSRS, the AAFC crop history triangulates the productivity claim — high-LSRS quarter with canola-heavy continuous rotation = confirmed-productive ground that's been worked hard. Lower-LSRS quarter with diverse rotation = managed-conservatively ground that may have head-room.