...
Attribute | Type | Multiplicity | Description | |||
---|---|---|---|---|---|---|
WorkItemIdId | CompoundIdentifier | 1 | ||||
WorkRecordId | Integer | 1 | ||||
GrowerId | Integer | 0..1 | ||||
FarmId | NotesInteger | LoggedNote | 0.. | *1 | ||
FieldId | Integer | 0.. | *1 | |||
CropZoneId | MachineId | Integer | 0..1 | |||
FarmIdTimeScopes | TimeScope | 0..* | ||||
PersonRoleIds | Integer | 0..* | ||||
EquipmentConfigurationGroup | EquipmentConfigurationGroup | 0..1 | FieldId | |||
GuidanceAllocationIds | Integer | 0..* | ||||
WorkItemIds | Integer | 0..1* | ||||
SummaryId | Integer | 0..1 | ||||
Notes | PersonRoleIdsNote | Integer | 0..n* | |||
OperationData | OperationData | 1..* | SummaryId | |||
ReleaseSpatialData | Action | |||||
Description | String | 0..1 | ||||
OperationData
- We will break this out so we have only one OperationData object instance per load.
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..* | |
...
SpatialRecord
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) |
Section
- Depth 0 always represents the full swath and contains DDIs and their values at that level (e.g. Elevation, Weather Information, Fuel Consumption)
- Depths 1+ represent a segmented version of the full swath
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 |
Meter (analogous to a process data variable in ISO)
...
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:
Code Block | ||
---|---|---|
| ||
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); } } } } } |
...