Note: The integer IDs below correspond to the ReferenceID element in CompoundIdentifiers
Note: This list supersedes, as of 20150129, the WorkItemOperation material in a previously circulated Excel.
Attribute | Type | Multiplicity | Description |
---|---|---|---|
Id | CompoundIdentifier | 1 | |
WorkRecordId | Integer | 1 | |
GrowerId | Integer | 0..1 | |
FarmId | Integer | 0..1 | |
FieldId | Integer | 0..1 | |
CropZoneId | Integer | 0..1 | |
TimeScopes | TimeScope | 0..* | |
PersonRoleIds | Integer | 0..* | |
EquipmentConfigurationGroup | EquipmentConfigurationGroup | 0..1 | |
GuidanceAllocationIds | Integer | 0..* | |
WorkItemIds | Integer | 0..* | |
SummaryId | Integer | 0..1 | |
Notes | Note | 0..* | |
OperationData | OperationData | 1..* | |
ReleaseSpatialData | Action | ||
Description | String | 0..1 | |
Attribute | Type | Multiplicity | Description |
---|---|---|---|
Id | CompoundIdentifier | 1 | Unique identifer R. Andres Ferreyra (Unlicensed): I think this needs to go; I see no reason for OperationData to need to exist independently of the LoggedData. |
LoadId | Integer | 0..1 | A reference to the load. See ADAPT - Load / LoadDestination Discussion |
OperationType | OperationTypeEnum | 1 | The operation performed |
PrescriptionId | Integer | 0..1 | A reference to the Prescription, if any, used during this operation. If multiple products are used they will be included as a single multi-product prescription. |
| |||
ProductIds | Integer | 0..* | |
VarietyLocatorId | Integer | 0..1 | A reference to the VarietyLocator layer used during this operation, if any |
WorkItemOperationId | Integer | 0..1 | A reference to the Work Item Operation that generated this work |
MaxDepth | Integer | 1 | Count of depth |
SpatialRecordCount | Integer | 1 | How many spatial records are there? |
EquipmentConfigurationIds | Integer | 0..* | |
GetSpatialRecords() | IEnumerable<SpatialRecord> | Returns an IEnumerable of SpatialRecord | |
GetDeviceElementUses() | (int, IEnumerable<DeviceElementuse>) | ||
Description | String | 0..1 | |
CoincidentOperationDataIds | Integer | 0..* | |
Attribute | Type | Multiplicity | Description |
---|---|---|---|
Geometry | Shape | 1 | The geometry defining the location |
Timestamp | DateTime | 1 | The timestamp of the location. |
GetMeterValue(meter: Meter) | RepresentationValue | ? | |
SetMeterValue(meter: Meter, RepresentationValue: value) | |||
GetAppliedLatency(meter: Meter) |
Attribute | Type | Multiplicity | Description |
---|---|---|---|
Id | CompoundIdentifier | 1 | UniqueIdentifier |
OperationDataId | Integer | 1 | A reference to the OperationData this section applies to |
Depth | Integer | 1 | Indicates which depth the section was recorded for |
Order | Integer | 1 | An incrementing value indicating the order of the sections from left to right |
SectionWidth | NumericRepresentationValue | 1 | The width of the section |
TotalDistanceTravelled | NumericRepresentationValue | 0..1 | Total distance travelled for the operation when section status was on |
TotalElapsedTime | NumericRepresentationValue | 0..1 | Total elapsed time for the operation when the section status was on |
Meters | Meter | 0..n |
Attribute | Type | Multiplicity | Description |
---|---|---|---|
Id | CompoundIdentifier | 1 | UniqueIdentifier |
SectionId | Integer | 1 | A reference to the Section where this meter was recorded |
Representation | Representation | 1 | The object for what DDI is defined |
Values | Double | 1..n | The values recorded. Aligned by index with the sections
|
AppliedLatency | NumericRepresentationValue | 1 | The latency reported by the controller |
ReportedLatency | NumericRepresentationValue | 1 | The latency reported by the implement |
Attribute | Type | Multiplicity | Description |
---|---|---|---|
UnitOfMeasure | UnitOfMeasure | 1 | The unit this meter was recorded in |
Attribute | Type | Multiplicity | Description |
---|---|---|---|
ValueCodes | Integer | 1..* | Integers that correspond to the Code of an enumeration member. The specific enumeration is implicit in the Representation identified in the parent class. |
Attribute | Type | Multiplicity | Description |
---|---|---|---|
Id | Integer | 1 | UniqueIdentifier |
SectionId | Integer | 1 | A reference to the Section that this summary applies to |
TotalDistanceTravelled | NumericRepresentation | 1 | The total distance traveled with this section on |
TotalElapsedTime | NumericRepresentation | 1 | The total elapsed time with this section on |
Attribute | Type | Multiplicity | Description |
---|---|---|---|
Id | CompoundIdentifier | 1 | The id of the calibration factor |
MeterId | Integer | 1 | The meter to apply the calibration factor to |
TimeScopeIds | Integer | 0...n | The time the calibration occurred. 20150903: R. Andres Ferreyra (Unlicensed) replaced datetime class with TimeScope, for consistency with other mandates. |
Value | NumericRepresentationValue | 1 | The value of the calibration. 20150903: R. Andres Ferreyra (Unlicensed) replaced Double type with NumericRepresentationValue, for consistency with other mandates. |
Note:
foreach (spatialRecord in operationData.GetSpatialRecords()) { var shape = spatialRecord.GetShape(); var time = spatialRecord.GetTimeElapsed(); for(depth=0; depth< operationData.GetMaxDepth();depth++) { foreach(section in operation.GetSections(depth) { var width = section.Width; foreach(meter in section.GetMeters()) { if(meter is NumericMeter) { var value = spatialRecord.GetMeterValue(meter); // Yo, note that there are different representations for meters... var appliedLatency = spatialRecord.GetAppliedLatency(meter); } else if(meter is EnumeratedMeter) { var value = spatialRecord.GetMeterValue(meter); } } } } } |