[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-\u002Fblog\u002Faafc-crop-inventory-walkthrough":3},{"id":4,"title":5,"author":6,"body":7,"category":334,"cover":335,"date":336,"description":337,"extension":338,"meta":339,"navigation":340,"path":341,"seo":342,"stem":343,"tags":344,"__hash__":349},"blog\u002Fblog\u002Faafc-crop-inventory-walkthrough.md","AAFC Crop Inventory Walkthrough: 5 Years of What's Been Grown on the Prairies","Township Canada",{"type":8,"value":9,"toc":322},"minimark",[10,14,23,28,31,60,63,84,87,90,107,110,114,117,152,159,163,166,170,173,176,196,200,203,209,215,221,227,233,237,240,266,269,273,287,295,299],[11,12,13],"p",{},"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.",[11,15,16,17,22],{},"For Township Canada's Agriculture Bundle, we aggregate the most recent five years into a per-parcel summary that surfaces on every ",[18,19,21],"a",{"href":20},"\u002Fapp\u002Fparcel\u002FSE-14-29-21-W2","parcel report"," and as a full overlay on the map for Agriculture Bundle subscribers. This post walks through how the aggregation works, what the outputs mean, and how to read the rotation patterns.",[24,25,27],"h2",{"id":26},"what-the-summary-returns","What the summary returns",[11,29,30],{},"For any quarter section in Alberta or Saskatchewan, the AAFC crop summary card returns:",[32,33,34,42,48,54],"ul",{},[35,36,37,41],"li",{},[38,39,40],"strong",{},"Dominant crop"," - the crop class that occupies the most acres across the 5-year window",[35,43,44,47],{},[38,45,46],{},"Rotation"," - year-by-year sequence of dominant crops (Year 5 oldest → Year 1 newest)",[35,49,50,53],{},[38,51,52],{},"Shannon diversity index"," - 0 to ~1, measuring how varied the rotation is",[35,55,56,59],{},[38,57,58],{},"Years covered"," - explicit list of which years are in the aggregate",[11,61,62],{},"A typical Alberta canola-wheat rotation might return:",[32,64,65,68,75,78],{},[35,66,67],{},"Dominant: Canola",[35,69,70,71],{},"Rotation: ",[72,73,74],"span",{},"Canola, Wheat, Canola, Wheat, Canola",[35,76,77],{},"Diversity: 0.65",[35,79,80,81],{},"Years: ",[72,82,83],{},"2021, 2022, 2023, 2024, 2025",[11,85,86],{},"Read as: \"Canola in odd years, wheat in even years, with Canola taking the recent year. Moderately diverse rotation.\"",[11,88,89],{},"A continuous-canola operation:",[32,91,92,94,99,102],{},[35,93,67],{},[35,95,70,96],{},[72,97,98],{},"Canola, Canola, Canola, Canola, Canola",[35,100,101],{},"Diversity: 0.0",[35,103,80,104],{},[72,105,106],{},"2021, ..., 2025",[11,108,109],{},"Read as: \"Canola monoculture. High disease pressure risk, no rotation.\"",[24,111,113],{"id":112},"the-aggregation-pipeline","The aggregation pipeline",[11,115,116],{},"AAFC publishes the raster at ~30m resolution. Township Canada's pipeline is:",[118,119,120,131,140,146],"ol",{},[35,121,122,125,126,130],{},[38,123,124],{},"Reproject + mode-aggregate to 1km cells."," ",[127,128,129],"code",{},"gdalwarp -r mode -tr 1000 1000"," collapses ~30m pixels to 1km vector cells using mode aggregation (most-common pixel value wins).",[35,132,133,125,136,139],{},[38,134,135],{},"Polygonize to vector.",[127,137,138],{},"gdal_polygonize"," converts the 1km raster to vector polygons.",[35,141,142,145],{},[38,143,144],{},"Join the AAFC crop class codebook."," Pixel value 146 → \"Canola\", 153 → \"Spring Wheat\", 167 → \"Soybean\", and so on.",[35,147,148,151],{},[38,149,150],{},"Compute the multi-year aggregate"," - dominant crop, rotation array, Shannon diversity per cell.",[11,153,154,155,158],{},"Result: ",[127,156,157],{},"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.",[24,160,162],{"id":161},"why-mode-aggregation-not-majority","Why mode aggregation, not majority",[11,164,165],{},"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.",[24,167,169],{"id":168},"the-shannon-diversity-index","The Shannon diversity index",[11,171,172],{},"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).",[11,174,175],{},"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:",[32,177,178,184,190],{},[35,179,180,183],{},[38,181,182],{},"Carbon project baseline framing"," - Conservation Cropping protocols benefit from high-diversity rotations",[35,185,186,189],{},[38,187,188],{},"Disease pressure proxy"," - low diversity (high canola or high wheat) correlates with higher disease\u002Fpest pressure",[35,191,192,195],{},[38,193,194],{},"Risk profiling"," - high-diversity portfolios are more resilient to single-crop price shocks",[24,197,199],{"id":198},"common-rotation-patterns-youll-see","Common rotation patterns you'll see",[11,201,202],{},"Scanning the AAFC overlay across the Prairies, several archetypes recur:",[11,204,205,208],{},[38,206,207],{},"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.",[11,210,211,214],{},[38,212,213],{},"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.",[11,216,217,220],{},[38,218,219],{},"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.",[11,222,223,226],{},[38,224,225],{},"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.",[11,228,229,232],{},[38,230,231],{},"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.",[24,234,236],{"id":235},"what-aci-doesnt-capture","What ACI doesn't capture",[11,238,239],{},"A few important limitations:",[32,241,242,248,254,260],{},[35,243,244,247],{},[38,245,246],{},"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.",[35,249,250,253],{},[38,251,252],{},"Cover crops and intercrops"," - typically not distinguishable at the 30m pixel scale. The summary reports the dominant cash crop.",[35,255,256,259],{},[38,257,258],{},"Tillage and OM management"," - invisible to the satellite. ACI tells you what was grown, not how.",[35,261,262,265],{},[38,263,264],{},"Unseeded fallow vs. summer fallow"," - both look the same to the satellite. Practice-level distinctions require additional inputs.",[11,267,268],{},"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.",[24,270,272],{"id":271},"coverage-and-use-cases","Coverage and use cases",[32,274,275,281],{},[35,276,277,280],{},[38,278,279],{},"Alberta + Saskatchewan:"," full coverage of the cultivated land base",[35,282,283,286],{},[38,284,285],{},"Manitoba, BC, Ontario:"," partial AAFC coverage; we ingest where available",[11,288,289,290,294],{},"Combined with ",[18,291,293],{"href":292},"\u002Flearn\u002Fhow-to\u002Flsrs-soil-productivity-score","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.",[24,296,298],{"id":297},"related","Related",[32,300,301,307,313,319],{},[35,302,303],{},[18,304,306],{"href":305},"\u002Flearn\u002Fhow-to\u002Faafc-crop-history-quarter-section","AAFC Crop History per Quarter Section",[35,308,309],{},[18,310,312],{"href":311},"\u002Flearn\u002Fhow-to\u002Fcanola-wheat-rotation-mapping","Canola-Wheat Rotation Mapping",[35,314,315],{},[18,316,318],{"href":317},"\u002Fblog\u002Flsrs-explained-what-the-score-tells-you","LSRS Explained",[35,320,321],{},"AAFC Annual Crop Inventory layer reference",{"title":323,"searchDepth":324,"depth":324,"links":325},"",2,[326,327,328,329,330,331,332,333],{"id":26,"depth":324,"text":27},{"id":112,"depth":324,"text":113},{"id":161,"depth":324,"text":162},{"id":168,"depth":324,"text":169},{"id":198,"depth":324,"text":199},{"id":235,"depth":324,"text":236},{"id":271,"depth":324,"text":272},{"id":297,"depth":324,"text":298},"industry",null,"2026-05-23","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.","md",{},true,"\u002Fblog\u002Faafc-crop-inventory-walkthrough",{"title":5,"description":337},"blog\u002Faafc-crop-inventory-walkthrough",[345,346,347,348],"AAFC","Crop Inventory","Ag Bundle","Agriculture","zigQs7si7IiOIIoA8wW-uJzPqY8Q3YCHxDPEtLEPUJU"]