Machine file
A machine file returned byGET /files/{id}. The structure is the same across operation types; the summary properties vary.
{
"id": "7b525b72-a8e7-4d34-80bb-9ea2dde87a09",
"provider": "providerName",
"fields": [
"696b5df6-e401-4d13-bafe-3d2689723254"
],
"fileFormat": "CN1",
"fileName": "testFile.zip",
"downloadOriginalFile": "url",
"downloadStandardGeojson": "url",
"leafUserId": "286eeb50-8e85-4e33-9f2d-1b9dcf0e56d7",
"apiOwnerUsername": "test",
"summary": { ... }
}
Machine file summaries
Thesummary field on a machine file is a GeoJSON Feature. Properties differ by operation type.
Harvested
{
"type": "Feature",
"properties": {
"operationType": "harvested",
"startTime": "2015-09-23T00:00:00Z",
"endTime": "2015-09-24T00:36:55.8Z",
"crop": ["corn"],
"totalArea": { "value": 24963.04, "unit": "m2" },
"totalDistance": { "value": 17978.42, "unit": "ft" },
"elevation": { "avg": 155.78, "min": 147.6, "max": 162.4, "unit": "ft" },
"speed": { "avg": 4.93, "min": 2.43, "max": 6.39, "unit": "mi/hr" },
"harvestMoisture": { "avg": 18.22, "min": 12.75, "max": 21.18, "unit": "percentage" },
"wetMass": { "avg": 5.86, "min": 0.04, "max": 11.06, "unit": "lb" },
"totalWetMass": { "value": 72494.18, "unit": "lb" },
"wetMassPerArea": { "avg": 11752.32, "min": 87.80, "max": 40340.88, "unit": "lb/ac" },
"dryMass": { "avg": 5.63, "min": 0.04, "max": 10.89, "unit": "lb" },
"totalDryMass": { "value": 69707.74, "unit": "lb" },
"dryMassPerArea": { "avg": 11300.59, "min": 82.16, "max": 38518.42, "unit": "lb/ac" },
"wetVolume": { "avg": 0.10, "min": 0.001, "max": 0.20, "unit": "bu" },
"totalWetVolume": { "value": 1294.54, "unit": "bu" },
"wetVolumePerArea": { "avg": 209.86, "min": 1.57, "max": 720.37, "unit": "bu/ac" },
"dryVolume": { "avg": 0.10, "min": 0.001, "max": 0.19, "unit": "bu" },
"totalDryVolume": { "value": 1244.78, "unit": "bu" },
"dryVolumePerArea": { "avg": 201.80, "min": 1.47, "max": 687.83, "unit": "bu/ac" },
"totalFuelUsed": { "value": 196.25, "unit": "gal" },
"varieties": [
{
"name": "Corn",
"harvestMoisture": { "avg": 18.22, "min": 12.75, "max": 21.18, "unit": "percentage" },
"wetMass": { "value": 72494.18, "unit": "lb" },
"dryMass": { "value": 69707.74, "unit": "lb" },
"wetVolume": { "value": 1294.54, "unit": "bu" },
"dryVolume": { "value": 1244.78, "unit": "bu" },
"area": { "value": 24963.04, "unit": "m2" }
}
],
"machinery": [
{ "name": "Case IH X010 Series 7010", "type": "machine", "serialNumber": "8227260", "brand": "Case IH" },
{ "name": "Case IH Corn Head 15ft 6row", "type": "implement", "brand": "Case IH" }
],
"originalOperationType": "Harvesting"
},
"geometry": {
"type": "MultiPolygon",
"coordinates": [[[[-89.804, 40.478], [-89.808, 40.476], [-89.807, 40.473], [-89.805, 40.471], [-89.801, 40.471], [-89.798, 40.473], [-89.798, 40.476], [-89.801, 40.478], [-89.804, 40.478]]]]
}
}
Planted
{
"type": "Feature",
"properties": {
"operationType": "planted",
"startTime": "2015-05-02T20:02:28.64Z",
"endTime": "2015-05-02T20:09:32.64Z",
"crop": ["corn"],
"totalArea": { "value": 5779.89, "unit": "m2" },
"totalDistance": { "value": 1555.35, "unit": "ft" },
"elevation": { "avg": 142.05, "min": 141.9, "max": 142.2, "unit": "ft" },
"speed": { "avg": 3.91, "min": 0.058, "max": 4.258, "unit": "mi/hr" },
"seedRate": { "avg": 32889.93, "min": 31960, "max": 46135.31, "unit": "seeds/ac" },
"totalPlanted": { "value": 46974, "unit": "seeds" },
"singulation": { "avg": 99.62, "min": 99.48, "max": 99.76, "unit": "prcnt" },
"downForce": { "avg": 67.79, "min": 2, "max": 114, "unit": "lbf" },
"totalFuelUsed": { "value": 196.25, "unit": "gal" },
"varieties": [
{
"name": "variety",
"rate": { "avg": 32889.93, "min": 31960, "max": 46135.31, "unit": "seeds/ac", "minTarget": 32000, "maxTarget": 33000, "avgTarget": 32890.79 },
"area": { "value": 5779.89, "unit": "m2" },
"totalPlanted": { "value": 46974, "unit": "seeds" }
}
],
"machinery": [
{ "name": "Challenger 745 Tractor", "type": "machine", "serialNumber": "8220203", "brand": "Challenger" },
{ "name": "Kinze 40.0' 16 Row Planter", "type": "implement", "brand": "Kinze" }
],
"originalOperationType": "SowingAndPlanting"
},
"geometry": { "type": "MultiPolygon", "coordinates": [[[[-89.804, 40.478], [-89.808, 40.476], [-89.807, 40.473], [-89.805, 40.471], [-89.801, 40.471], [-89.798, 40.473], [-89.798, 40.476], [-89.801, 40.478], [-89.804, 40.478]]]] }
}
Applied
{
"type": "Feature",
"properties": {
"operationType": "applied",
"startTime": "2017-04-22T18:31:23.105Z",
"endTime": "2017-04-22T18:46:08.308Z",
"crop": [],
"totalArea": { "value": 63817.04, "unit": "m2" },
"totalDistance": { "value": 7532.93, "unit": "ft" },
"elevation": { "avg": 254.06, "min": 244.1, "max": 263.5, "unit": "ft" },
"speed": { "avg": 10.12, "min": 1.82, "max": 12.68, "unit": "mi/hr" },
"appliedRate": { "avg": 14.23, "min": 0.27, "max": 66.09, "unit": "gal/ac" },
"totalApplied": { "value": 224.46, "unit": "gal" },
"totalFuelUsed": { "value": 196.25, "unit": "gal" },
"tankMix": true,
"products": [
{
"name": "Fastac EC",
"type": "Component",
"rate": { "unit": "floz/ac", "value": 3.4 },
"totalApplied": { "value": 75.41, "unit": "floz" },
"area": { "value": 89753.33, "unit": "m2" }
},
{
"name": "Water",
"type": "Carrier",
"rate": { "unit": "gal/ac", "value": 15 },
"totalApplied": { "value": 332.68, "unit": "gal" },
"area": { "value": 89753.33, "unit": "m2" }
}
],
"operationDescription": "Pre-Emerge",
"machinery": [
{ "name": "John Deere R Series R4030", "type": "machine", "serialNumber": "10071690", "brand": "John Deere" },
{ "name": "Sprayer", "type": "implement", "brand": "unknown" }
],
"originalOperationType": "CropProtection"
},
"geometry": { "type": "MultiPolygon", "coordinates": [[[[-89.804, 40.478], [-89.808, 40.476], [-89.807, 40.473], [-89.805, 40.471], [-89.801, 40.471], [-89.798, 40.473], [-89.798, 40.476], [-89.801, 40.478], [-89.804, 40.478]]]] }
}
Tillage
{
"type": "Feature",
"properties": {
"operationType": "tillage",
"startTime": "2016-09-13T20:33:14.786Z",
"endTime": "2016-09-13T22:03:10.801Z",
"totalArea": { "value": 202441.91, "unit": "m2" },
"totalDistance": { "value": 54476.66, "unit": "ft" },
"elevation": { "avg": 994.65, "min": 994.65, "max": 994.65, "unit": "ft" },
"tillType": ["Closing Disk"],
"tillageDepthActual": { "avg": 0, "min": 0, "max": 0, "unit": "in" },
"tillageDepthTarget": { "avg": 6, "min": 6, "max": 6, "unit": "in" }
},
"geometry": { "type": "MultiPolygon", "coordinates": [[[[-89.804, 40.478], [-89.808, 40.476], [-89.807, 40.473], [-89.805, 40.471], [-89.801, 40.471], [-89.798, 40.473], [-89.798, 40.476], [-89.801, 40.478], [-89.804, 40.478]]]] }
}
Field operation
A field operation returned byGET /operations/{id}:
{
"id": "uuid",
"apiOwnerUsername": "leaf@withleaf.io",
"leafUserId": "uuid",
"startTime": "2016-09-19T18:30:51.640+00:00",
"endTime": "2016-09-21T21:48:25.000+00:00",
"updatedTime": "2023-04-15T12:00:00.000+00:00",
"type": "harvested",
"files": ["uuid-1", "uuid-2", "uuid-3"],
"fields": [
{ "id": "uuid", "coverage": 0.95 }
],
"providers": ["JohnDeere"]
}
Field operation summary
The operation summary (GET /operations/{id}/summary) has the same structure as a file summary but represents the merged result across all files in the operation. See the file summary examples above — the properties and format are identical, with differences only in the values (which reflect the merged dataset).
Standard GeoJSON point data
Each point in thestandardGeojson is a GeoJSON Feature. Properties vary by operation type.
Harvested point
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [-74.838, 28.687] },
"properties": {
"timestamp": "2011-10-05T14:48:00.000Z",
"operationType": "harvested",
"crop": "corn",
"variety": "Pioneer P1185",
"area": 3.42,
"distance": 12.5,
"heading": 180.3,
"speed": 4.2,
"elevation": 155.8,
"equipmentWidth": 15.0,
"harvestMoisture": 18.2,
"wetMass": 5.86,
"wetVolume": 0.10,
"wetMassPerArea": 11752.32,
"wetVolumePerArea": 209.86,
"dryMass": 5.63,
"dryVolume": 0.10,
"dryMassPerArea": 11300.59,
"dryVolumePerArea": 201.80,
"recordingStatus": "On",
"sectionId": 0,
"machinery": ["Case IH X010 Series 7010"]
}
}
Planted point
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [-74.838, 28.687] },
"properties": {
"timestamp": "2011-10-05T14:48:00.000Z",
"operationType": "planted",
"crop": "corn",
"variety": "P1309WAM",
"area": 3.42,
"distance": 12.5,
"heading": 90.1,
"speed": 4.6,
"elevation": 197.8,
"equipmentWidth": 40.0,
"seedRate": 36590,
"seedRateTarget": 37000,
"seedDepth": 2.0,
"downForce": 137.0,
"singulation": 99.3,
"skips": 0.29,
"doubles": 0.24,
"recordingStatus": "On",
"sectionId": 0,
"machinery": ["Challenger 745 Tractor"]
}
}
Applied point
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [-74.838, 28.687] },
"properties": {
"timestamp": "2011-10-05T14:48:00.000Z",
"operationType": "applied",
"crop": "corn",
"area": 3.42,
"distance": 12.5,
"heading": 270.5,
"speed": 10.1,
"elevation": 254.1,
"equipmentWidth": 90.0,
"appliedRate": 14.23,
"appliedRateTarget": 15.0,
"recordingStatus": "On",
"sectionId": 0,
"machinery": ["John Deere R Series R4030"],
"products": [
{ "name": "Fastac EC", "rate": { "value": 3.4 } },
{ "name": "Water", "rate": { "value": 15 } }
]
}
}
Tillage point
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [-93.150, 41.671] },
"properties": {
"timestamp": "2021-12-08T17:46:13.482Z",
"operationType": "tillage",
"area": 3.42,
"distance": 12.5,
"heading": 45.2,
"speed": 5.5,
"elevation": 690.4,
"equipmentWidth": 30.0,
"tillageDepthTarget": 4.0,
"tillType": ["Closing Disk"],
"recordingStatus": "On",
"sectionId": 0,
"machinery": ["MachineName"]
}
}
Properties by operation type
Properties are marked as: yes (always in response), configurable (required by default, can be made optional via configuration), or blank (present when data is available).Planted
| Property | Always present | Type | Description |
|---|---|---|---|
crop | configurable | string | Crop type (normalized). Required by default; set cropOptional to make optional. |
seedRate | configurable | int | Seeds per area at point. Required by default; set seedRateOptional to make optional. |
operationType | yes | string | "planted" |
totalArea | yes | float | Area covered |
elevation | yes | float | Elevation |
originalOperationType | string | Original operation type from the source data | |
varieties | dict | Per-variety breakdowns | |
seedRateTarget | int | Target seed rate | |
seedDepth | float | Planting depth | |
machinery | list | Machine/implement info | |
speed | float | Speed at point | |
totalPlanted | int | Total seeds | |
operationDescription | string | Description from source data | |
downForce | float | Down force reading | |
singulation | float | Meter performance % | |
totalFuelUsed | dict | Total fuel consumed |
Harvested
When the crop is known and a moisture value is present, Leaf will calculate and fill in any missing dry or wet yield values. For example, if the source data only provides wet mass, Leaf derives dry mass using the crop’s standard moisture percentage.| Property | Always present | Type | Description |
|---|---|---|---|
crop | configurable | string | Crop type. Required by default; set cropOptional to make optional. |
elevation | yes | float | Elevation |
harvestMoisture | yes | float | Moisture % |
operationType | yes | string | "harvested" |
totalArea | yes | float | Area covered |
wetMass / wetMassPerArea | yes | float | Wet mass and per-area |
wetVolume / wetVolumePerArea | yes* | float | Wet volume and per-area |
totalWetMass / totalWetVolume | yes | float | Totals |
dryMass / dryMassPerArea | yes | float | Dry mass and per-area |
dryVolume / dryVolumePerArea | yes* | float | Dry volume and per-area |
totalDryMass / totalDryVolume | yes | float | Totals |
originalOperationType | string | Original operation type from the source data | |
varieties | dict | Per-variety breakdowns | |
speed | float | Speed at point | |
machinery | list | Machine/implement info | |
operationDescription | string | Description from source data | |
totalFuelUsed | dict | Total fuel consumed |
Applied
| Property | Always present | Type | Description |
|---|---|---|---|
appliedRate | configurable | float | Applied rate. Required by default; can be configured as optional. |
operationType | yes | string | "applied" |
totalArea | yes | float | Area covered |
elevation | yes | float | Elevation |
products | yes | list | Product details |
originalOperationType | string | Original operation type from the source data | |
appliedRateTarget | float | Target rate | |
machinery | list | Machine/implement info | |
speed | float | Speed at point | |
totalApplied | float | Total product applied | |
operationDescription | string | Description from source data | |
tankMix | boolean | Whether a tank mix was used | |
totalFuelUsed | dict | Total fuel consumed |
Tillage
| Property | Always present | Type | Description |
|---|---|---|---|
elevation | yes | float | Elevation |
operationType | yes | string | "tillage" |
totalArea | yes | float | Area covered |
originalOperationType | string | Original operation type from the source data | |
tillageDepthTarget | float | Target depth | |
tillageDepthActual | float | Actual depth | |
speed | float | Speed at point | |
machinery | list | Machine/implement info | |
operationDescription | string | Description from source data | |
totalFuelUsed | dict | Total fuel consumed |
Images
V2 images
[
{
"property": "wetMassPerArea",
"legend": {
"ranges": [
{ "colorCode": "#C80000", "min": 0, "max": 20 },
{ "colorCode": "#FF2800", "min": 20, "max": 50 },
{ "colorCode": "#FF9600", "min": 50, "max": 100 },
{ "colorCode": "#FFF000", "min": 100, "max": 250 },
{ "colorCode": "#00E600", "min": 250, "max": 340 },
{ "colorCode": "#00BE00", "min": 340, "max": 480 },
{ "colorCode": "#008200", "min": 480, "max": 570 }
]
},
"extent": { "xMin": 0.0, "xMax": 0.0, "yMin": 0.0, "yMax": 0.0 },
"downloadUrl": "https://api.withleaf.io/...",
"status": "PROCESSED",
"url": "https://..."
}
]
GeoTIFF images
[
{
"property": "wetMassPerArea",
"url": "https://s3-url-to-geotiff/geotiff-uuid.tif",
"downloadUrl": "https://api.withleaf.io/..."
},
{
"property": "dryVolumePerArea",
"url": "https://s3-url-to-geotiff/geotiff-uuid.tif",
"downloadUrl": "https://api.withleaf.io/..."
},
{
"property": "harvestMoisture",
"url": "https://s3-url-to-geotiff/geotiff-uuid.tif",
"downloadUrl": "https://api.withleaf.io/..."
}
]

