Click or drag to resize

GpsRinexPropagator Class

GPS RINEX Propagator class propagates GPS orbits - providing GPS satellite positions based on RINEX broadcast ephemeris sets.
Inheritance Hierarchy

Namespace:  AGI.Foundation.Propagators
Assembly:  AGI.Foundation.Navigation (in AGI.Foundation.Navigation.dll) Version: 24.3.420.0 (24.3.420.0)
Syntax
public class GpsRinexPropagator : CartesianOnePointPropagator, 
	IAvailability

The GpsRinexPropagator type exposes the following members.

Constructors
  NameDescription
Public methodGpsRinexPropagator(RinexNavigationRecord)
Creates a propagator based upon a RinexNavigationRecord.
Protected methodGpsRinexPropagator(GpsRinexPropagator, CopyContext)
Initializes a new instance as a copy of an existing instance.
Top
Properties
  NameDescription
Public propertyAvailabilityIntervals
Gets a TimeIntervalCollection over which data is available. If the availability interval is infinite, this returns Infinite.
Public propertyEvaluationBehavior
Gets or sets the type of behavior the GpsRinexPropagator will have when it is evaluated beyond its AvailabilityIntervals. The default behavior is Extrapolate.
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 propertyReferenceFrame
Gets the Earth Fixed reference frame, which is the frame that the GPS satellite orbital positions are referenced to.
Top
Methods
  NameDescription
Protected methodCheckForSameDefinition(CartesianOnePointPropagator)
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 CartesianOnePointPropagatorCheckForSameDefinition(CartesianOnePointPropagator).)
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).
(Inherited from CartesianOnePointPropagator.)
Protected methodCheckForSameDefinition(GpsRinexPropagator)
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).
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 CartesianOnePointPropagatorComputeCurrentDefinitionHashCode.)
Public methodCreatePoint
Creates a Point that represents the motion produced by this propagator.
(Inherited from CartesianOnePointPropagator.)
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.
(Overrides DefinitionalObjectFreezeAggregatedObjects.)
Public methodGetAvailabilityIntervals
Gets the intervals over which data is available.
Public methodGetDefinitionHashCode
Gets a hash code representing the definition of this object.
(Inherited from DefinitionalObject.)
Public methodGetEvaluator

Gets an evaluator that can propagate at individual dates.

This evaluator propagates the orbit state. The result of evaluating will be a MotionT corresponding to the orbital state at the given JulianDate expressed in the propagator's ReferenceFrame.

Note: when evaluating with this evaluator, it may be more efficient to specify times using an arithmetically safe TimeStandard to avoid the need to convert in order to perform the propagation. The length of a time step may be different in different TimeStandards. So be careful when specifying times.

(Inherited from CartesianOnePointPropagator.)
Public methodGetEvaluator(EvaluatorGroup)

Gets an evaluator that can propagate at individual dates.

This evaluator propagates the orbit state from a collection of IGpsElements derived from a RinexNavigationRecord and based on the IS-GPS-200D standards. The result of evaluating will be a Motion<Cartesian> corresponding to the orbital position and velocity at the given JulianDate expressed in the Earth Fixed ReferenceFrame defined by the propagator.

(Overrides CartesianOnePointPropagatorGetEvaluator(EvaluatorGroup).)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Protected methodGetMotionReferenceFrame
Gets the reference frame in which the motion is defined.
(Overrides CartesianOnePointPropagatorGetMotionReferenceFrame.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsAvailable
Determines if valid data is available for the given JulianDate.
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.)
Public methodPropagate(JulianDate, JulianDate, Duration, Int32, ReferenceFrame)

Calculates position (and zero or more derivatives) for regular time steps over an interval.

Note: when propagating, it may be more efficient to specify times using an arithmetically safe TimeStandard to avoid the need to convert in order to perform the propagation. The length of a time step may be different in different TimeStandards. So be careful when specifying times.

(Inherited from CartesianOnePointPropagator.)
Public methodPropagate(JulianDate, JulianDate, Duration, Int32, ReferenceFrame, ITrackCalculationProgress)

Calculates position (and zero or more derivatives) for regular time steps over an interval.

Note: when evaluating with this evaluator, it may be more efficient to specify times using an arithmetically safe TimeStandard to avoid the need to convert in order to perform the propagation. The length of a time step may be different in different TimeStandards. So be careful when specifying times.

(Inherited from CartesianOnePointPropagator.)
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
Remarks

The propagation scheme in the GPS Propagator is defined in the Interface Specification IS-GPS-200D. The IS can be found at the US Coast Guard Navigation Center website: IS GPS-200D

IS-GPS-200D states that element sets should not be used beyond their curve fit interval. Currently, if the time you evaluate the propagator at is outside the element set's epoch (before or after), a propagation will still occur. Any limiting must be done by the user of the propagator.

See Also