Crop variables and calculations
There are a few calculations the system will need to perform in order to support Crops V2.0. The detailed underlying schema and pre-populated values for crops can be found here: https://docs.google.com/spreadsheets/d/1BoY6mEU1om14oc799m7XK9FCemxzrF406eie4V-5ozc/edit?usp=sharing. In most cases, users can overwrite these values in the app (shown in the below table as “From data & overridable”).
Please be aware that all variables need to be normalized to the same unit system! For more information on displaying values, please check out Unit displays.
Variables
Attribute | Type | Units | Measure | Notes |
---|---|---|---|---|
Total Area | Calculated & overridable | Decimal | Area | Calculated and overridable when creating / editing a location of type area. |
% of location | User entered | Decimal | Area | Validation: ≥ 0, ≤ 100 |
Seeding Rate | From data & overridable | Decimal | Weight / Area | This is essentially the number of seeds needed to “saturate” a given area. In either kg / ha or lbs / ac. |
Yield per area | From data | Decimal | Weight | Will be given in kg / m^2. May need to be converted to imperial for calculations if the user’s display is in imperial. |
Yield per plant | From data | Decimal | Weight | Will be given in kg. May need to be converted to imperial for calculations if the user’s display is in imperial. |
Average seed weight | From data | Decimal | Weight | Will be given in g. May need to be converted to imperial for calculations if the user’s display is in imperial. |
# of plants | User input | Integer |
| Validation: 1 - 1,000,000 |
# of beds | User input | Integer |
| Validation: 1 - 1,000,000 |
# of rows in bed | User input | Integer |
| Validation: 1 - 1,000,000 |
# of rows | User input | Integer |
| Validation: 1 - 1,000,000 |
Length of row | User input | Decimal | Distance | Validation: 1 - 1,000,000 |
Total length of rows | User input | Decimal | Distance | Validation: 1 - 1,000,000 For users who have variable length rows, we ask them to add up the approximate length of their rows for calculating estimated seed required and estimated yield. |
# of containers | User input | Integer |
| Validation: 1 - 1,000,000 |
# of plants / container | User input | Integer |
| Validation: 1 - 1,000,000 |
Planting depth | From data & overridable | Decimal | Distance | Validation: 1 - 1,000,000 |
Plant spacing | From data & overridable | Decimal | Distance | Validation: 1 - 1,000,000 |
Bed length | User input | Decimal | Distance | Validation: 1 - 1,000,000 |
Bed width | User input | Decimal | Distance | Validation: 1 - 1,000,000 |
Calculations
Attribute | Type | Units | Measure | Formula | Notes |
---|---|---|---|---|---|
Area Used | Calculated | Decimal | Area | For broadcast: Area_used = Total_Area * %_of_location
| Unit from Total_Area (e.g. Ha, Ac, etc.) should be maintained.
|
Estimated seed required | Calculated & overridable | Seed (Integer) or Weight (Decimal) | Seed or Weight | For broadcast: Estimated_seed_required (in weight) = area_used * seeding_rate Estimated_seed_required (in seeds) = area_used * seeding_rate * average_seed_weight
For container: Estimated_seed_required (in weight) = #_of_containers * #_of_plants/container * average_seed_weight Estimated_seed_required (in seeds) = #_of_containers * #_of_plants/container
For in ground: Estimated_seed_required (in weight) = #_of_plants * average_seed_weight Estimated_seed_required (in seeds) = #_of_plants
For rows (same length rows): Estimated_seed_required (in weight) = ((#_of_rows * length_of_rows) / plant_spacing) * average_seed_weight Estimated_seed_required (in seeds) = ((#_of_rows * length_of_rows) / plant_spacing)
For rows (variable length rows): Estimated_seed_required (in weight) = ((Total_length_of_rows) / plant_spacing) * average_seed_weight Estimated_seed_required (in seeds) = ((Total_length_of_rows) / plant_spacing)
For beds: Estimated_seed_required (in weight) = ((#_of_beds * #_of_rows_per_bed * bed_length) / plant_spacing) * average_seed_weight Estimated_seed_required (in seeds) = ((#_of_beds * #_of_rows_per_bed * bed_length) / plant_spacing) | Estimated seed required can be displayed in either weight or seeds. The weight will be a standard weight unit (e.g. kg, lbs) and seeds will be its own unit. Weight will display to two decimal places beyond the decimal. Seeds will be whole numbers (ceiling). For both cases, you will need to ensure that the variables are converted to the desired output (e.g. g → kg).
|
Estimated annual harvest | Calculated & overridable | Decimal | Weight | For broadcast: Estimated_harvest = Area_used * yield_per_area
For rows: Estimated_harvest = ((#_of_rows * length_of_rows) / plant_spacing) * yield_per_plant
For beds: Estimated_harvest = ((#_of_beds * #_of_rows_per_bed * bed_length) / plant_spacing) * yield_per_plant
For containers: Estimated_harvest = #_of_containers * #_of_plants/container * yield_per_plant
For individual plants: Estimated_harvest = #_of_plants * yield_per_plant | For all cases, may need to convert from one unit system to another (e.g. cm → in) and/or normalize for a unit (e.g. ft → in).
In general, yield is a per area measurement - typically tons per hectare. This is what is documented on: https://docs.google.com/spreadsheets/d/1BoY6mEU1om14oc799m7XK9FCemxzrF406eie4V-5ozc/edit?usp=sharing
However, since many of our producers are not growing hectares of crops, we’ll display this as a “Estimated annual harvest” to distinguish that it is an overall value, not a per area value. |