Skip to main content

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

Open the Canvas →

Start small

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

PropertyValue
Field boundariesCalifornia Statewide Crop Mapping (CA SCM), Source Cooperative / fiboa, CC-0, 438k polygons
Satellite imagerySentinel-2 L2A COGs, AWS Open Data (anonymous)
Scene catalogFused STAC index, partitioned 2015–2025
Spectral bands usedRed (B04) + NIR (B08) for NDVI

See also