Field polygons and sensor settings: crop assignment, phenology dates, degree-days
Field polygons as GeoJSON with crop and area, and per-node settings with crop assignment, planting and phenology dates, last spray date and the growing-degree-day accumulator. 25 fields across 2 datasets.
Catalogue entries: Field polygons, Sensor settings.
Questions this data answers
Which fields and crops are registered on the account, with what area, so the satellite and risk layers know what to compute?
Which risk models run on each node, from the crop assigned to it?
Which model windows are open right now, from the planting, emergence and tuber-initiation dates on file?
How many degree-days has the crop accumulated since the planting date the farmer entered?
Is the spray advisory still in its waiting period after the last recorded spray?
Both describe the farm rather than measure anything on it directly. Field polygons are the shapes the satellite pipeline averages inside every week: a name, a crop label, the polygon as drawn, and the area computed straight off it. Sensor settings carry each soil node’s display name, crop assignment, the season’s key dates, the last spray date, a node’s own position where it differs from the station’s, and the growing-degree-day accumulator the platform advances every single hour.
What the dates gate
The potato models are gated entirely by crop stage. Late and early blight only start accumulating severity from emergence onward. Common scab gets evaluated solely inside a window after tuber initiation, which is exactly why its tile reads low for most of the season regardless of conditions. Row closure changes the canopy microclimate the leaf-wetness proxy assumes. Haulm kill closes the season outright for every model at once. A row with no dates simply runs the models ungated and records that fact in the risk dataset’s own metadata, so a reader can always tell a genuinely low score from an ungated one.
Crop labels
Free-text labels get normalised before they can select a model set: potatoes, Irish, viazi all map to potato; onions, kitunguu map to onion; coffee, kahawa, arabica map to coffee. A group label such as vegetables deliberately maps to nothing, since a group names several crops at once and the farm has to say which. A weather-only station with no soil node instead takes its crop from the farm profile, or from a field polygon if one exists.
Polygons in practice
A field of 2 hectares typically comes out to 6 to 12 vertices and about 200 optical pixels. Fields under roughly half a hectare hold too few pixels for a stable mean and get flagged as such. A polygon crossing a road or a homestead pulls that road straight into the index, so draw the cropped area itself, never the whole parcel. Editing a polygon changes what next week’s run averages going forward; rows already written keep the values the old shape produced.
Field polygons
User-drawn field boundaries (GeoJSON) consumed by the satellite pipeline.
How a polygon is used
1 pixel = 10 m × 10 m = 0.01 ha
A 2 ha field covers about 200 optical pixels.
Indices are averaged inside the polygon; cloudy scenes are left out.
A cloudy week shows as a gap, not as an invented value.
Field
Value in the example
Note
field_name
Potatoes Naivasha 1
shown in the dashboard and the field indices
crop_label
potato
read by the crop registry when no sensor carries a crop
area_ha
2.1
computed from the polygon on save
geometry
GeoJSON Polygon, 7 vertices
stored as drawn; consumed weekly by the satellite pipeline
gateway_id
the owning station
a field belongs to 1 station
1 field polygon exists on the demonstration account. The satellite indices dataset carries its field_id on every row.
Dataset idfarm.fields
Cadenceon edit
EndpointGET /farm/fields
Key scopefarm:read
Declared fields8
History2026-03 to today
Coverageyour own account
StatusOwn sensors, own account
Narrowed to your own gateways and to devices approved for API exposure.
Only for the account that owns the hardware. Readings and everything computed from them are served to keys on the owning account and to nobody else. The way to get this dataset is a station on your own field, or your own sensors sent in through Sensor Ingest. A NuaSense station on the field is what produces these rows; the hardware is described at nuasense.com/products.
Fields
Field
Unit
Note
id
—
gateway_id
—
field_name
—
crop_label
—
geometry
—
GeoJSON jsonb
area_ha
ha
created_at
—
updated_at
—
Filters
No tag filters. Narrow with start, end, fields and limit.
Through the MCP connector the same read is the platform_dataset tool with dataset=farm.fields. Through a scheduled export it is one job with the same filters, delivered as a file. Every dataset takes the same arguments: start and end, every with agg, fields, limit up to 5,000, order, and the tags it declares.
Sensor settings
Per-sensor display name, crop assignment and GDD accumulator.
late and early blight: severity accumulates from emergence
common scab: 0 to 42 days after tuber initiation
degree-days for potato and for 9 pests accumulate from planting
Dates come from sensor settings. Without them the models run without phenology gates and say so in metadata_json.
Field
Set by
Read by
name
the user, per node
dashboard, alert messages
crop_label, crop_type_id
the user
crop registry → model set; threshold rules per crop
planting_date, emergence_date
the user
degree-day accumulators, blight severity start
tuber_initiation_date, row_closure_date
the user
common scab window, canopy microclimate assumptions
last_spray_date
the user or the advisory engine
spray-window cooldown
haulm_kill_date
the user
closes the season for every model
gdd_base7_to_date
the platform, hourly
growing-degree-day accumulator since planting
location_lat, location_lon
the user
per-node position where it differs from the station
Dataset idfarm.sensor_settings
Cadenceon edit
EndpointGET /farm/sensor-settings
Key scopefarm:read
Declared fields17
History2026-03 to today
Coverageyour own account
StatusOwn sensors, own account
Narrowed to your own gateways and to devices approved for API exposure.
Only for the account that owns the hardware. Readings and everything computed from them are served to keys on the owning account and to nobody else. The way to get this dataset is a station on your own field, or your own sensors sent in through Sensor Ingest. A NuaSense station on the field is what produces these rows; the hardware is described at nuasense.com/products.
Fields
Field
Unit
Note
gateway_id
—
dev_eui
—
node_id
—
name
—
crop_label
—
crop_type_id
—
planting_date
—
emergence_date
—
tuber_initiation_date
—
row_closure_date
—
haulm_kill_date
—
last_spray_date
—
gdd_base7_to_date
°C·d
gdd_last_accumulated_at
—
location_lat
°
location_lon
°
updated_at
—
Filters
No tag filters. Narrow with start, end, fields and limit.
Through the MCP connector the same read is the platform_dataset tool with dataset=farm.sensor_settings. Through a scheduled export it is one job with the same filters, delivered as a file. Every dataset takes the same arguments: start and end, every with agg, fields, limit up to 5,000, order, and the tags it declares.
Related datasets
Also in Farm records
Alert and advisory history for your farmThe append-only record of threshold alerts sent and of advisories generated, sent or held, with metric, rule, channel, delivery status, validity window and suppression reason. 28 fields across 2 datasets.
Read together with this page
Satellite NDVI and radar indices inside your field, weekly6 optical and 3 radar indices averaged inside the field polygon every week: greenness, chlorophyll, moisture and canopy structure for your own fields, cloud-masked and taken as a 15-day median.
Disease and pest risk data for potato, onion and coffeeRisk per threat for the station's crop, every hour: percent, level, threat score, accumulated disease severity, the conducive hours behind the score and how much input data backed it. 22 models across potato, onion and coffee.
Soil moisture and temperature data per soil nodeSoil node readings at 2 depths about every 10 minutes, plus hourly and daily roll-ups, 17 fields across 3 datasets, the series the soil-window models and the water balance read.