NDVI Time Series for Farm Fields
This canvas answers two questions: how is the vegetation in these fields changing over time, and do different fields behave differently? Draw a box over California cropland, set a date range, press Run pipeline — and you get a map of analyzed fields linked to NDVI time-series charts, grouped by how each field behaves across the season.
Try it out
Begin with a box that's roughly 10–20 km across in the Central Valley and a single year's date range. The pipeline runs faster and the chart dashboard is easier to read with 20–60 fields than with several hundred.
1 · Draw your area and set the date range
The input widget shows a satellite map centered on California's Central Valley. You can pan and zoom and let the pipeline use the current map view, or click Draw box for a precise selection. Set Start date and End date, then press Run pipeline — the bounds and dates flow downstream automatically.
2 · Build the field × scene URL table
Two UDFs run in sequence here:
Sentinel-2 URL helpers is a shared library that knows how to build Cloud-Optimized GeoTIFF (COG) URLs from Sentinel-2 STAC metadata. It's a dependency, not something you interact with directly.
Build field × scene URL table does the actual work: it queries the California Statewide Crop Mapping (CA SCM) field boundary dataset and finds every field whose bounding box intersects your AOI. It then looks up cloud-free Sentinel-2 L2A scenes for your date range and builds a (field, band, date, URL) table ready for pixel sampling.
3 · Sample pixels at field centroids
This UDF reads the single Sentinel-2 pixel at the centroid of each field for every matching scene. It uses fused.submit to fan out the reads in parallel across row groups, so hundreds of fields and dates complete in roughly the same wall-clock time as a handful.
4 · NDVI dashboard
The output node computes NDVI — (NIR − Red) / (NIR + Red) — for each field and date, then:
- Clusters the fields using K-Means on three statistics (mean NDVI, variability, seasonal range) into up to four behavioral groups, labeled descriptively: High & Stable, Low & Variable, etc.
- Renders a linked dashboard — a satellite map on the left shows every analyzed field colored by cluster. The right panel shows one NDVI time-series chart per cluster, with a shaded 10–90th percentile band, a median line, and faint individual field traces.
Hover over a field on the map to highlight its NDVI curve in the chart. Hover over a line in a chart to highlight the corresponding field on the map.
The input widget exposes max_farms, max_workers, and cloud_cover as tunable parameters to trade off coverage, speed, and scene availability.
About the data
| Property | Value |
|---|---|
| Field boundaries | California Statewide Crop Mapping (CA SCM), Source Cooperative / fiboa, CC-0, 438k polygons |
| Satellite imagery | Sentinel-2 L2A COGs, AWS Open Data (anonymous) |
| Scene catalog | Fused STAC index, partitioned 2015–2025 |
| Spectral bands used | Red (B04) + NIR (B08) for NDVI |
See also
- AI Change Detection — a spatial view of where things changed using AI embeddings, rather than a time series of how individual fields changed.
- STAC catalogs guide — how Fused reads Sentinel-2 scenes via STAC.
- Parallel execution with fused.submit — how the pixel sampling step fans out across row groups.