LSRS Productivity Score Overlay
Status: Planned Issue: #158Bundle: Ag Bundle (gated at Farmer + Investor tiers — Lite gets a lookup, not the full overlay).
Goal
Render the AAFC Land Suitability Rating System (LSRS) productivity score on the DLS grid as a polygon-fill layer with a continuous colour ramp. Lets farmers, agronomists, and farmland investors compare quarter sections side-by-side on a single nationally-consistent productivity index without leaving the Township Canada map.
Source
LSRS is published by Agriculture and Agri-Food Canada. Coverage is national for the Prairie provinces and parts of southern Ontario / BC. The dataset combines:
- Climate suitability (growing-degree-days, precipitation)
- Soil suitability (drainage, salinity, texture, organic matter)
- Landscape suitability (slope, stoniness)
into a single integer score per polygon, typically 0–100. AAFC publishes the raster + polygon outputs under the Open Government Licence — Canada.
| Source | Coverage | Format |
|---|---|---|
| AAFC LSRS — Spring-Seeded Small Grains | National (Prairie focus) | SHP / GeoTIFF |
| AAFC LSRS — Pasture (where applicable) | Subset | SHP |
| AAFC Soil Landscapes of Canada (already in our catalog) | National | already shipped |
Phase 1 ships the spring-seeded small-grains LSRS (highest customer demand). Phase 2 considers crop-specific variants once usage data justifies it.
Customer-facing layer model
A single polygon-fill layer with a continuous colour ramp:
| Score range | Colour | Label |
|---|---|---|
| 0–20 | #d73027 (red) | Very poor |
| 21–40 | #fc8d59 (orange) | Poor |
| 41–60 | #fee090 (yellow) | Fair |
| 61–80 | #91bfdb (blue) | Good |
| 81–100 | #4575b4 (deep blue) | Excellent |
Opacity tuned at ~50% so the underlying DLS grid and parcel layer remain visible. The ramp matches AAFC's published convention to avoid retraining users who already work with LSRS outputs.
API surface
Per-quarter-section lookup that returns the LSRS score for a given LSD:
GET /api/parcels/:lld/lsrs
→ { score: 67, class: "Good", source: "AAFC LSRS Spring Cereals (2018)" }
The lookup is used by:
- The parcel-report API (free indexable tier — see #157)
- The Land Portfolio Manager rollup (Farmer tier)
- The Territory & Prospecting tool's parcel table (Investor tier)
The score appears in the free parcel-report; the overlay layer on the map is the entitlement gate (Farmer+).
Acceptance criteria progress
- AAFC LSRS ingestion → PMTiles archive at
maps.townshipcanada.com/lsrs_spring_cereals.pmtiles - Layer config:
app/config/mapLayers/dataCatalog/lsrsSpringCereals.js+ label - Catalog entry in
app/config/mapLayers/index.js(Ag category) -
GET /api/parcels/[lld]/lsrsendpoint - Parcel-report integration (writes score into the report JSON for the static pages — see #164)
- Entitlement gating: overlay visible for
requireAgPlan(event, PLAN_AG_FARMER); lookup available at Lite