Machine File Conversion Sample Responses
Overview
This page shows and describes sample responses from Leaf's API, along with a list of what properties you can expect for each type of data.
Machine Files
Leaf returns operation file in a standardized format. Summaries use
the point data to derive basic information about the operation and include links
to the original files and images of an operation. Naturally, different
types of operations contain different properties. For instance, an applied
operation will contain appliedRate
, whereas a harvested
operation will
contain wetMass
and other Yield properties. The resource below shows a typical return. A list of
all properties is available here.
A list of the properties as well as a sample summary response for an operation file is included below.
An operation returned by Leaf can be an individual file or contain multiple
individual files (uploaded, merged or uploaded).
If the operation contains more than one individual file, another key is added to
the resource, the "sources"
key, that is a list of individual file ids.
If the operation was created by an upload on the /batch
endpoint, the "batchId"
key will be added to the resource with the corresponding uuid.
Machine File Sample
You can move through the four tabs below to see a sample of how Leaf returns each of the operation types.
- Planted
- Applied
- Harvested
- Tillage
This is an example of a summary for a "harvested" operation
Properties by Operation Type
Select the tab you want to see: "planted", "applied", "harvested", or "tillage".
- Planted
- Applied
- Harvested
- Tillage
key | presence | type |
---|---|---|
crop | * | string |
seedRate | * | dict |
operationType | * | string "planted" |
originalOperationType | ** | string |
totalArea | * | float |
elevation | * | dict |
varieties | ** | dict |
seedRateTarget | ** | dict |
seedDepth | ** | dict |
machinery | ** | list of machineInfo objects |
speed | ** | dict |
totalPlanted | ** | int (number of seeds) |
operationDescription | ** | string |
downForce | ** | dict |
singulation | ** | dict |
totalFuelUsed | ** | dict |
* = Always in response
** = Usually in response but not required to pass tests
Standard Geojson
When the data is present in the original file, Leaf standardizes names and units to create the standardGeojson.
Below we list all the properties in the standardGeojson.
Summary Response Sample
Each operation file returns with a "standardgeojson" URL that allows you to download a full point dataset from the operation in a standardized geojson format. Below is an example of the format of each point in these files.
- Planted
- Applied
- Harvested
- Tillage
Properties
- Planted
- Applied
- Harvested
- Tillage
key | presence | type | example units | description |
---|---|---|---|---|
coords | * | Point (x,y) | - | Point (x,y) |
timestamp | * | string | - | ISO 8601 date, complete and with Z. example: 2011-10-05T14:48:00.000Z |
crop | * | string | - | Crop type (normalized) |
area | * | float | ftยฒ or mยฒ | Area represented by point |
heading | * | float | degrees | Heading of machine at point |
distance | * | float | ft or m | Distance traveled since previous point |
elevation | * | float | ft or m | Distance to sea level |
operationType | * | string | - | string "planted" |
originalOperationType | ** | string | - | string |
equipmentWidth | * | float | ft or m | Width of implement |
recordingStatus | ** | Boolean | - | Recording status of machine at point |
seedRate | * | int | seeds/mยฒ or seeds/ac | The rate of seeds planted at point |
variety | ** | string | - | The variety of seed being planted |
speed | ** | float | ft/s or m/s | Speed of machine at point |
sectionId | ** | int | - | ID of implement sensor section |
machinery | ** | list of machineInfo objects | - | name of machine & implement |
seedRateTarget | ** | int | seeds/mยฒ or seeds/ac | The target rate of seeds to be planted at the point |
seedDepth | ** | float | cm | The depth at which seeds were planted at point |
productIndex | ** | int | - | Index of the applied product |
downForce | ** | float | lbf | The weight detected by the down force sensor on each row that has one |
singulation | ** | float | % | The performance of each meter on the planter |
xOffset | ** | float | m | Vertical offset from the instrumentation sensor and the monitor GPS system |
yOffset | ** | float | m | Horizontal offset from the instrumentation sensor and the monitor GPS system |
fuelUsed | ** | float | L or gal | The fuel consumed |
* = Always in response
** = Usually in response but not required to pass tests
$ = Not available when the crop is sugarcane
Despite the example units, Leaf's API will push through every unit, if the processed file contains the required
(marked with *) properties.
Valid points
The points in the standardGeoJSON are considered valid if all the following rules are true:
property | rule |
---|---|
wetMass | > 0.0 |
wetMassPerArea | > 0.0 |
wetVolume | > 0.0 |
wetVolumePerArea | > 0.0 |
harvestMoisture | > 0.0 and <100.0 |
appliedRate | > 0.0 |
seedRate | > 0.0 |
tillageDepthActual | > 0.0 |
recordingStatus | = "On" |
The API will automatically clean the invalid points when the cleanupStandardGeojson
configuration is enabled.
Images
Also, Leaf displays all the numerical properties across all operation types via a png file. Here's a sample response from a Leaf harvested file.
Machine Files Units
Here is an example of Units from the numerical properties of the Machine Files.
- Planted
- Harvested
- Applied
- Tillage