ADAPT - Prescription Discussion

Note: Plugins would need to publish limitations on name, width, height, row count, column count, etc. 

20151001: Removed WorkItemOperationID, reversing the direction of the relationship between Prescription and WorkItemOperation.

Prescription

AttributeTypeMultiplicityDescription
Id

CompoundIdentifier

1Unique identifier
DescriptionString1User-defined name of the prescription.

OperationType


OperationTypeEnum


1

Type of Prescription: Missing. Crop Protection, Tillage, etc

If we're needing to make these as standalone as possible, we will likely need to add a DDI somewhere..

201509

FieldIdInteger1A reference to the Field object for which this prescription is valid. The Field object must exist in the list of Fields on the Catalog object.
CropZoneIdInteger0..1A reference to a CropZone object which this prescription covers. The CropZone object must exist in the list of CropZones on the Catalog.
RxLookupIdsInteger0..*

Prescriptions can have multiple Products. Important for a variety of needs.

20150925: Listing them here is somewhat redundant, albeit useful.

RxProductLookupsRxProductLookup0..*
ProductIdsInteger0..*
ContextItemsContextItem0..*
TimeScopesTimeScope0..*
PersonRolesPersonRole0..*


RxProductLookup

AttributeTypeMultiplicityDescription
Id

CompoundIdentifier

1Unique identifier
ProductIdInteger0..1Identifies the participating product to be described. Note that it is optional in order to accommodate systems that do not treat tillage like a product with its own ID.
RepresentationNumericRepresentation1How are we going to express the quantity of product involved?

UnitOfMeasure


UnitOfMeasure


1

Specific unit of measure used. Please note that the representation itself only specifies the dimension (e.g., mass per unit area), NOT the UoM!

SpatialPrescription (sub-class of Prescription)

AttributeTypeMultiplicityDescription

BoundingBox

BoundingBox1The spatial extent of the prescription.
OutOfFieldRateNumericRepresentationValue0..1A default application or seeding rate to be used when the machine travels outside of the field.
LossOfGPSRateNumericRepresentationValue0..1A default application or seeding rate to be used when the machine loses its GPS signal and can no longer tell which zone it is working in.


RasterGridPrescription  (Child class of SpatialPrescription)

AttributeTypeMultiplicityDescription
OriginPoint1GridMinimumNorthPosition, GridMinimumEastPosition
RowCountInteger1GridMaximumRow
ColumnCountInteger1GridMaximumColumn
CellWidthNumericRepresentationValue1GridCellEastSize (in WGS84 degrees)
CellHeightNumericRepresentationValue1GridCellNorthSize (in WGS84 degrees)
RatesRxRates[,]1

Should have (RowCount * ColumnCount) number of values.

Note 1: this notation is [row,column]

Note 2: Each cell can have multiple rates for each product.

RatesRxCellLookup1..*


VectorPrescription (Child class of SpatialPrescription)

AttributeTypeMultiplicityDescription

RxShapeLookups

RxShapeLookup

1..*Defines a list of shapes, each with 1 or more products/rates associated with it.

RxShapeLookup

AttributeTypeMultiplicityDescription
ShapeMultiPolygon1
Rates

RxRates

1Changed from an array of RxRate for consistency with use of RxRates in RasterGridPrescription.
RatesRxRate1..*

RxRates

AttributeTypeMultiplicityDescription
RatesRxRate1..*

RxRate

AttributeTypeMultiplicityDescription
RateDouble1Note that it is not necessary to use a NumericRepresentationValue here, because the unit of measure info is provided by the RxProduct objects.
RxProductLookupIdInteger1

ManualPrescription (Child class of Prescription)

AttributeTypeMultiplicityDescription
ProductUsesProductUse1..*
TotalAreaNumericRepresentationValue0..1Relevant in a rate-mediated manual prescription. Not needed in a totals-mediated prescription.
TankAmountNumericRepresentationValue0..1Relevant in a tank-mediated manual prescription.
TotalTanksDouble0..1Relevant in a tank-mediated manual prescription. Allows rounding out the mass balance of the application.
ApplicationStrategyApplicationStrategyEnum0..1

ApplicationStrategyEnum

Enumeration LiteralDescription
RatePerArea
RatePerTank
TotalProduct

ProductUse

AttributeTypeMultiplicityDescription
ProductIdInteger1
RateNumericRepresentationValue0..1This is optional to accommodate prescriptions that are specified by total product / tank.
AppliedAreaNumericRepresentationValue0..1
ProductTotalNumericRepresentationValue0..1

BoundingBox

AttributeTypeMultiplicityDescription
MinXNumericRepresentationValue1The smallest X value (expected to be longitude) which bounds a spatial region.
MinYNumericRepresentationValue1The smallest Y value (expected to be latitude) which bounds a spatial region.
MaxXNumericRepresentationValue1The largest X value (expected to be longitude) which bounds a spatial region.
MaxYNumericRepresentationValue1The largest Y value (expected to be latitude) which bounds a spatial region.

RadialExtent

AttributeTypeMultiplicityDescription
StartAngleNumericRepresentationValue0..1
EndAngleNumericRepresentationValue0..1
SectionIdInteger0..1
InnerRadiusNumericRepresentationValue0..1
OuterRadiusNumericRepresentationValue0..1
RotCtrPoint0..1

RadialLookupCollection

AttributeTypeMultiplicityDescription
RadialLookupsRxRadialLookup1..*
StartAngleNumericRepresentationValue1
EndAngleNumericRepresentationValue1
RotCtrPoint0..1
ShapeLookupsRxShapeLookup0..*

RadialPrescription

AttributeTypeMultiplicityDescription
RadialLookupCollectionsRadialLookupCollection1..*

RxCellLookup

AttributeTypeMultiplicityDescription
RxRatesRxRate1..*

RxRadialLookup

AttributeTypeMultiplicityDescription
ExtentRadialExtent1
RxRatesRxRate1..*