Note: How do we want to use north & east offsets? When someone shifts a guidance line, should we modify the guidance line, record an event with the documentation / logged data, or clone the guidance line into a new object with different offsets? Is the operator nudging a guidance line something worth recording, or is it a non-repeatable event?

Decision to ignore nudge events pending additional input or use cases documenting a relevant need.

20150915: ISO handles this by capturing the nudge as a guidance offset element (tag GuidanceShift, GST) that is recorded as an event. It includes shift (2-D translation) and Offset (translation perpendicular to the track, which can involve a radius change.)

20150915: Q: Should we add GST elements for the purposes of ISO11783 conformance test compatibility?

A: The agreement is that we are inserting this for the strict purposes of passing AEF conformance tests, as opposed to scope creep. This would entail a) Creating the equivalent of the GST class. b) Creating the mechanism to insert it in the context of LoggedData, akin to an ASP.

Note: Decided to remove AdaptiveCurve guidance types in favor of creating a guidance group containing multiple AB Curve objects. Noted that AdaptiveCurve is a setting for the steering and guidance system rather than a valid type of predefined guidance line.

GuidanceAllocation

AttributeTypeMultiplicityDescription
IdCompoundIdentifier1Compound identifier that allows instances of this object to be referenced from multiple other objects.
GuidanceGroupIdInteger1
TimeScopesTimeScope0..n
GuidanceShiftGuidanceShift0..1

GuidanceGroup

AttributeTypeMultiplicityDescription
IdCompoundIdentifier1Compound identifier that allows instances of this object to be referenced from multiple other objects.
DescriptionString0..1
GuidancePatternIdsInteger1..*
BoundingPolygonMultiPolygon0..1An optional boundary for this line. The boundary can be used to limit the validity of a GuidancePattern to a certain area. This boundary shall fit inside the GuidanceGroup and Partfield boundaries. Note that each boundary polygon can have interior boundaries in addition to the exterior boundary to designate exclusion zones.

 GuidanceShift

AttributeTypeMultiplicityDescription
GuidanceGroupIdInteger1
GuidancePatternIdInteger1
EastShiftNumericRepresentationValue0..1
NorthShiftNumericRepresentationValue0..1
PropagationOffsetNumericRepresentationValue0..1
TimeScopeTmeScope0..n
TimeScopeIdsInteger0..*

 GuidancePattern

AttributeTypeMultiplicityDescription
IdCompoundIdentifier1Compound identifier that allows instances of this object to be referenced from multiple other objects.
GuidancePatternTypeGuidancePatternTypeEnum1
GpsSourceGpsSource1
OriginalEpsgCodeString0..1Documents the original spatial coordinate system of the data if the GuidancePattern was recorded in something other than WGS84. (This would indicate that the points have been re-projected.)
DescriptionString0..1
SwathWidthNumericRepresentationValue0..1
PropagationDirectionPropagationDirectionEnum0..1

1 = BothDirections

2 = LeftOnly

3 = RightOnly

4 = NoPropagation

The direction is defined while standing on the first point (A) and looking to the next point .

When this attribute is not defined in the GuidancePattern then propagation shall be applied in both directions.
ExtensionGuidanceExtensionEnum0..1

1 = FromBothPoints (From both first and last point )

2 = FromA (From first point (A) only)

3 =FromB (From last point (B) only )

4 = None (No extensions)

When this attribute is not defined in the GuidancePattern then extensions shall be applied from both first and last point. Extension means that guidance shall be continued when the specified point of the GuidancePattern is passed. The GuidancePattern is extended by the guidance system.

NumberOfSwathsLeftInteger0..1Number of swaths to propagate GuidancePattern to the left. The direction is defined while standing on the first point (A) and looking to the next point. When this attribute is not defined, the propagation to the left is not bound by a specific number of swaths and follows attribute GuidancePatternPropagationDirection
NumberOfSwathsRightInteger0..1Number of swaths to propagate GuidancePattern to the right. The direction is defined while standing on the first point (A) and looking to the next point. When this attribute is not defined, the propagation to the right is not bound by a specific number of swaths and follows attribute GuidancePatternPropagationDirection
BoundingPolygonMultiPolygon0..1An optional boundary for this line. The boundary can be used to limit the validity of a GuidancePattern to a certain area. This boundary shall fit inside the GuidanceGroup and Partfield boundaries. Note that each boundary polygon can have interior boundaries in addition to the exterior boundary to designate exclusion zones.

GpsSource

AttributeTypeMultiplicityDescription
SourceTypeGpsSourceEnum1

We have an enumeration in the ArgoUML model, which represents the union of a) John Deere GPS source terms, b) ISO PTN Attribute S (PositionStatus), nd c) Some typical FMIS usages (e.g., "Drawn") We will likely use an EnumeratedRepresentation for this, as the list is expected to grow.

Note that the ISO Plug-In should be able to convert any value to an ISO-compatible value.

EstimatedPrecisionNumericRepresentationValue0..1
HorizontalAccuracyNumericRepresentationValue0..1
VerticalAccuracyNumericRepresentationValue0..1
NumberOfSatellitesInteger0..1Inserted for ISO11783 PTN compatibility
GpsUtcTimeDateTime0..1Inserted for ISO11783 compatibility. ISO plug-in will convert to/from this representation and the separate time / date attributes used by ISOXML.

GuidancePatternTypeEnum

Enumeration LiteralDescription
APlus
AbLine
AbCurve
CenterPivot
Spiral

GuidanceExtensionEnum

Enumeration LiteralDescription
FromBothPoints
FromA
FromB
None

GpsSourceEnum

Enumeration LiteralDescription
Unknown
Drawn
MobileGPS
DeereRTK
DeereRTKX
DeereSF1
DeereSF2
DeereWAAS
GNSSfix
DGNSSfix
PreciseGNSS
RTKFixedInteger
RTKFloat
EstDRmode
ManualInput
SimulateMode
DesktopGeneratedData
Other
PPP
SBAS
Mechanical


Sub-classes of GuidancePattern

APlus

AttributeTypeMultiplicityDescription
PointPoint1
HeadingDouble1


AbLine

AttributeTypeMultiplicityDescription
APoint1
BPoint1
EastShiftComponentDouble0..1
NorthShiftComponentDouble0..1
HeadingDouble0..1


MultiAbLine

AttributeTypeMultiplicityDescription
AbLinesAbLine1..*


AbCurve

AttributeTypeMultiplicityDescription
EastShiftComponentDouble0..1
NorthShiftComponentDouble0..1
ShapeLineString0..*
HeadingDouble0..1
NumberOfSegmentsInteger1


CenterPivot [Not Implemented]

AttributeTypeMultiplicityDescription
StartPointPoint1"A" point in Pivot diagram
EndPointPoint1"B" point in Pivot diagram
CenterPoint1"C" point in Pivot diagram

Spiral

AttributeTypeMultiplicityDescription
ShapeLineString1"A" point in Spiral diagram is the start point, "B" point in Spiral diagram is the last point from where the next parallel path starts.


PivotGuidancePattern

AttributeTypeMultiplicityDescription
StartPointPoint1
EndPointPoint1
CenterPoint1
RadiusNumericRepresentationValue1
Point1Point1
Point2Point1
Point3Point1
DefinitionMethodPivotGuidanceDefinitionEnum1


PivotGuidanceDefinitionEnum

Enumeration LiteralDescription
PivotGuidancePatternStartEndCenter
PivotGuidancePatternCenterRadius
PivotGuidancePatternThreePoints