Click or drag to resize

CcsdsOrbitEphemerisMessageSegment Class

Ephemeris (and optionally covariance) data for an object that is valid for a given time period. CreatePoint can be used to make a PointInterpolator that can interpolate over the ephemeris data.

The CCSDS specifications can be found on the CCSDS website. The two supported formats for OEM files are Key-value notation (KVN) and extensible markup language (XML). The official recommended standards for KVN OEM files can be found in "Orbit Data Messages", Document CCSDS 502.0-B-2 on the above website. The official recommended standards for XML OEM files can be found in "XML Specifications for Navigation Data Messages", Document CCSDS 505.0-B-2 on the website. Both documents also contain a few useful examples of correctly formatted OEM files for their respective formats.

Inheritance Hierarchy
SystemObject
  AGI.Foundation.InfrastructureDefinitionalObject
    AGI.Foundation.CcsdsCcsdsOrbitEphemerisMessageSegment

Namespace:  AGI.Foundation.Ccsds
Assembly:  AGI.Foundation.Models (in AGI.Foundation.Models.dll) Version: 24.1.418.0 (24.1.418.0)
Syntax
public class CcsdsOrbitEphemerisMessageSegment : DefinitionalObject

The CcsdsOrbitEphemerisMessageSegment type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyCenter
Gets or sets the origin of the ReferenceFrameName, which may be a natural Solar System body, including any planet barycenter or the Solar System barycenter, or another spacecraft.
Public propertyCovarianceAxes

Gets or sets a collection containing the axes of the covariance data.

This collection is not provided automatically by ReadFrom(String) because the axes provided with OEM covariance data are optional, and they are not necessarily supported as Axes objects.

If this is not provided by the user, an attempt will be made to build a collection of axes from the axes of given reference frame, the covariance axes names collection, and other data provided by the OEM file. If this attempt fails, will be returned. The user would then have to build this collection manually.

Note that this data is not required by CreatePoint.

Public propertyCovarianceAxesNames
Gets or sets a collection containing names for covariance axes that are different from those of the reference frame.
Public propertyCovarianceData
Gets or sets the covariance data.
Public propertyCovarianceDataComments
Gets a collection containing comments from the covariance data of a segment of a CCSDS OEM file.
Public propertyEphemerisData
Gets or sets the ephemeris data.
Public propertyEphemerisDataComments
Gets a collection containing comments from the ephemeris data of a segment of a CCSDS OEM file.
Public propertyInterpolationMethod
Gets or sets the optional interpolation method for the ephemeris data immediately following the metadata block.
Public propertyInterpolationOrder
Gets or sets the interpolation order for the ephemeris data immediately following the metadata block. By default, this is zero.
Public propertyInterpolator

Gets or sets an interpolator for the ephemeris data.

This value is not provided automatically by ReadFrom(String) because the interpolation information is optional.

If this is not provided by the user, an attempt will be made to build an interpolator from the given interpolation method, interpolation order, and ephemeris data. If this attempt fails, will be returned. The user would then have to build an interpolator manually.

Public propertyIsFrozen
Gets a value indicating whether this object is frozen. A frozen object cannot be modified and an ObjectFrozenException will be thrown if an attempt is made to do so.
(Inherited from DefinitionalObject.)
Public propertyMetaDataComments
Gets a collection containing comments from the meta data of a segment of a CCSDS OEM file.
Public propertyObjectId
Gets or sets the object identifier for which the ephemeris is provided.
Public propertyObjectName
Gets or sets the name of the object for which the ephemeris is provided.
Public propertyReferenceFrame

Gets or sets the reference frame in which the ephemeris data is given.

This value is not provided automatically by ReadFrom(String) because the reference frames given in OEM metadata are not necessarily supported as ReferenceFrame objects.

If this is not provided by the user, an attempt will be made to infer the reference frame from the given center, reference frame, and reference frame epoch data. If this attempt fails, will be returned.

The reference frame inference attempts to associate center names and reference frame names from the SANA website with reference frames available from the CentralBody, SolarSystemBarycenter, and PlanetarySystemBarycenter types. Only a subset of the SANA reference frames are supported, so it may be necessary for the user to manually create their own reference frames.

Public propertyReferenceFrameEpoch
Gets or sets the epoch of reference frame, if not intrinsic to the definition of the reference frame.
Public propertyReferenceFrameName

Gets or sets the name of the reference frame in which the ephemeris data are given.

The reference frame must be the same for all data elements, with the exception of the covariance matrix, for which an applicable different reference frame may be specified.

Public propertyReferenceFrameType
Gets or sets the type of the reference frame.
Public propertyStartTime
Gets or sets the start of total time span covered by the ephemeris data and covariance data immediately following the metadata block.
Public propertyStopTime
Gets or sets the end of total time span covered by ephemeris data and covariance data immediately following the metadata block.
Public propertyTimeStandard

Gets or sets the time standard used for metadata, ephemeris data, and covariance data.

The valid values for CCSDS time systems are given by the SANA website. Only time systems that are compatible with the available time standards can be read by ReadFrom(String).

Public propertyUseableStartTime

Gets or sets the optional start of useable time span covered by ephemeris data immediately following the metadata block.

Note that this value is ignored by CreatePoint.

Public propertyUseableStopTime

Gets or sets the optional end of useable time span covered by ephemeris data immediately following the metadata block.

Note that this value is ignored by CreatePoint.

Top
Methods
  NameDescription
Protected methodCheckForSameDefinition(CcsdsOrbitEphemerisMessageSegment)
Checks to determine if another instance has the same definition as this instance and returns if it does. Derived classes MUST override this method and check all new fields introduced by the derived class for definitional equivalence. It is NOT necessary to check base class fields because the base class will already have done that. When overriding this method, you should NOT call the base implementation because it will return for all derived-class instances. Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
Protected methodCheckForSameDefinition(DefinitionalObject)
Checks to determine if another instance has the same definition as this instance and returns if it does. Derived classes MUST override this method and check all new fields introduced by the derived class for definitional equivalence. It is NOT necessary to check base class fields because the base class will already have done that. When overriding this method, you should NOT call the base implementation because it will return for all derived-class instances. Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
(Overrides DefinitionalObjectCheckForSameDefinition(DefinitionalObject).)
Public methodClone
Clones this object using the specified context.
(Overrides DefinitionalObjectClone(CopyContext).)
Protected methodComputeCurrentDefinitionHashCode
Computes a hash code based on the current properties of this object. Derived classes MUST override this method and compute a hash code that combines: a unique hash code seed, the base implementation result, and the hash codes of all new fields introduced by the derived class which are used in the CheckForSameDefinition(DefinitionalObject) method.
(Overrides DefinitionalObjectComputeCurrentDefinitionHashCode.)
Public methodCreatePoint

Creates a Point whose time-varying position is computed by interpolating over the ephemeris data held by this instance.

If the ReferenceFrame or Interpolator is not provided by the user, an attempt will be made to infer those values from the available information in other properties. If that attempt fails, a PropertyInvalidException will be thrown.

Public methodEnumerateDependencies
Enumerates the dependencies of this object by calling EnumerateT(T) for each object that this object directly depends upon. Derived classes which contain additional dependencies MUST override this method, call the base implementation, and enumerate dependencies introduced by the derived class.
(Overrides DefinitionalObjectEnumerateDependencies(DependencyEnumerator).)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFreeze
Freezes this object. Further attempts to modify it will result in an ObjectFrozenException.
(Inherited from DefinitionalObject.)
Protected methodFreezeAggregatedObjects
Called by Freeze to also freeze any objects that are considered to be a part of this object. Derived classes which contain additional aggregated objects MUST override this method, call the base implementation, and freeze aggregated objects introduced by the derived class. The objects that need to be frozen in this method are frequently created in this object's constructor and are not settable via properties.
(Inherited from DefinitionalObject.)
Public methodGetDefinitionHashCode
Gets a hash code representing the definition of this object.
(Inherited from DefinitionalObject.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsSameDefinition
Determines if this object has the same definition as another object.
(Inherited from DefinitionalObject.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodThrowIfFrozen
Throws ObjectFrozenException if this object IsFrozen. This method should be called from any method or property that modifies this object.
(Inherited from DefinitionalObject.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also