ADAPT - LoggedData / OperationData / Section / Meter Discussion

ADAPT - LoggedData / OperationData / Section / Meter Discussion

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.

LoggedData (implements WorkRecord)

  • As of 20150129, LoggedData only has the data already contained in its parent class. We will be on the lookout for any attributes that we need to add, especially in the context of Scouting / FieldObservations. If there are none before the release of v1 of the ADAPT data model, we reserve the right to collapse LoggedData back to its parent.

  • In the future we will want to consider auxiliary actors in the process of logging data (e.g. a truck and its driver, a grain cart and its driver, etc...) 

  • We have not yet implemented the concept of mark/note, which would allow for space- and time-specific notes to be logged.

  • 20150427: @R. Andres Ferreyra (Unlicensed) reviewed the LoggedData object with PAIL team members @Dan Berne (Unlicensed) and @aberger@agsense.net (Unlicensed). LoggedData is very compatible with PAIL's InboundData and OffsiteData objects, but the general idea of OperationData (which, I believe is central to the SPADE interpretation of LoggedData) does not fit at all. PAIL's suggestion is to create a subclass of LoggedData called Observations, that has OperationData as optional (at best.) This may be a good home for scouting data as well, although it remains to be discussed whether scouting plans (incl. pre-arranged scouting locations) are not analogous to WorkOrders / WorkItems.

Attribute

Type

Multiplicity

Description

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



MachineId

Integer

0..1



OperationData

  • We will break this out so we have only one OperationData object instance per load. 

Attribute

Type

Multiplicity

Description

Attribute

Type

Multiplicity

Description

Id

CompoundIdentifier

1

Unique identifer

Nov 25, 2015 @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.

ProductId

Integer

0..1

The product used for the operation

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?

EquipmentConfigID

Integer

0..1



EquipmentConfigurationIds

Integer

0..*



GetSpatialRecords()

IEnumerable<SpatialRecord>



Returns an IEnumerable of SpatialRecord

GetDeviceElementUses()

(int, IEnumerable<DeviceElementuse>)





Description

String

0..1



CoincidentOperationDataIds

Integer

0..*



GetSections(Depth: Integer)

IEnumerable<Section>





ConnectorIds

Integer

0..n

A reference to the Connector objects linking MachineConfiguration and ImplementConfiguration (or two ImplementConfiguration) objects. Somewhat redundant because that info can be traced back through the ImplementConfiguration and its Connector references to machine and/or other impllements, but included here to help test / sanity check / select Connectors for processing / export.

SpatialRecord

Attribute

Type

Multiplicity

Description

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 [Not Implemented]

  • 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

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) [Not Implemented]

Attribute

Type

Multiplicity

Description

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

Discuss further. @R. Andres Ferreyra (Unlicensed)

AppliedLatency

NumericRepresentationValue

1

The latency reported by the controller

ReportedLatency

NumericRepresentationValue

1

The latency reported by the implement

NumericMeter (Subclass of Meter) [Not Implemented]

Attribute

Type

Multiplicity

Description

Attribute

Type

Multiplicity

Description

UnitOfMeasure

UnitOfMeasure

1

The unit this meter was recorded in

EnumeratedMeter (Subclass of Meter) [Not Implemented]

Attribute

Type

Multiplicity

Description

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.

SectionSummary

Attribute

Type

Multiplicity

Description

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

CalibrationFactor

  • This is typically entered as a result of measurement via scale tickets, etc.

Attribute

Type

Multiplicity

Description

Attribute

Type

Multiplicity

Description

Id

CompoundIdentifier

1

The id of the calibration factor

MeterId

Integer