Click or drag to resize

CelestrakGeneralPerturbationElements Class

Celestrak general perturbation (GP) orbital elements.
Inheritance Hierarchy
SystemObject
  AGI.Foundation.PropagatorsSgp4Elements
    AGI.Foundation.PropagatorsCelestrakGeneralPerturbationElements

Namespace:  AGI.Foundation.Propagators
Assembly:  AGI.Foundation.Models (in AGI.Foundation.Models.dll) Version: 24.3.420.0 (24.3.420.0)
Syntax
public class CelestrakGeneralPerturbationElements : Sgp4Elements

The CelestrakGeneralPerturbationElements type exposes the following members.

Constructors
  NameDescription
Public methodCelestrakGeneralPerturbationElements
Initializes a new instance.
Public methodCelestrakGeneralPerturbationElements(CelestrakGeneralPerturbationElements)
Initializes a new instance as a copy of an existing instance.
Public methodCelestrakGeneralPerturbationElements(Sgp4Elements, String, String, String, String, Double, Double, Int32, Int32, Int32)
Initializes a new instance from a set of Sgp4Elements and additional meta-data contained in a Celestrak General Perturbation file.
Top
Properties
  NameDescription
Public propertyArgumentOfPerigee
Gets or sets the argument of perigee, in degrees.
(Inherited from Sgp4Elements.)
Public propertyBStar
Gets or sets the BSTAR drag term, in units of 1 / EarthRadii. This term represents a modification of the ballistic coefficient (Coefficient of drag times area over mass). The value is modified by one half atmospheric density and expressed in units of inverse Earth radii. Source: https://celestrak.com/
(Inherited from Sgp4Elements.)
Public propertyClassification
Gets or sets the classification.
Public propertyEccentricity
Gets or sets the eccentricity
(Inherited from Sgp4Elements.)
Public propertyElementNumber
Gets or sets the element number.
Public propertyEphemerisType
Gets or sets the ephemeris type. Ephemeris Type 0 is the correct type for Sgp4Propagator. Ephemeris type 4 is not supported by Sgp4Propagator, and it will throw an argument exception if a CelestrakGeneralPerturbationElements has ephemeris type 4.
Public propertyEpoch
Gets or sets the epoch at which these initial conditions are defined.
(Inherited from Sgp4Elements.)
Public propertyInclination
Gets or sets the inclination, in degrees
(Inherited from Sgp4Elements.)
Public propertyInternationalDesignator
Gets or sets the international designator.
Public propertyMeanAnomaly
Gets or sets the mean anomaly, in degrees.
(Inherited from Sgp4Elements.)
Public propertyMeanMotion
Gets or sets the mean motion, in revolutions per day.
(Inherited from Sgp4Elements.)
Public propertyMeanMotionDot
Gets or sets the first derivative of mean motion divided by two, in revolutions per day squared.
Public propertyMeanMotionDotDot
Gets or sets the second derivative of mean motion divided by six, in revolutions per day cubed.
Public propertyName
Gets or sets the spacecraft name.
Public propertyRawEpoch
Gets or sets the epoch at which these initial conditions are defined, represented in the standard form: YYDDD.DDDD. Note: this will be represented to as much precision as possible and will not reflect the RawEpoch taken from a TwoLineElementSet format. To represent the correct precision for a TLE, use the TwoLineElementSet type instead.
(Inherited from Sgp4Elements.)
Public propertyRevolutionNumber
Gets or sets the revolution number at epoch.
Public propertyRightAscensionOfAscendingNode
Gets or sets the right ascension of the ascending node, in degrees
(Inherited from Sgp4Elements.)
Public propertySatelliteNumber
Gets or sets the satellite number.
Public propertySwitchingMethod
Gets or sets the method to use when switching between this element set and the following element set. By default, this is Sgp4ElementsSwitchByEpoch.
(Inherited from Sgp4Elements.)
Top
Methods
  NameDescription
Public methodClone
Clones this object using the specified context.
(Overrides Sgp4ElementsClone(CopyContext).)
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 methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodStatic memberReadFromCsvFile(String)
Reads the Celestrak General Perturbation elements in from a file (most likely a .csv).
Public methodStatic memberReadFromCsvFile(TextReader)
Reads the Celestrak General Perturbation elements in from a file (most likely a .csv).
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks

Warning: If the EphemerisType is 4, Sgp4Propagator will throw an exception if the Celestrak GP elements is input.

Examples

The following example shows how to create a Sgp4Propagator from a CSV-format Celestrak General Perturbation elements file.

C#
// Header for CELESTRAK General Perturbation elements CSV file.
const string csvGpHeader =
    "OBJECT_NAME,OBJECT_ID,EPOCH,MEAN_MOTION,ECCENTRICITY,INCLINATION," +
    "RA_OF_ASC_NODE,ARG_OF_PERICENTER,MEAN_ANOMALY,EPHEMERIS_TYPE," +
    "CLASSIFICATION_TYPE,NORAD_CAT_ID,ELEMENT_SET_NO,REV_AT_EPOCH,BSTAR," +
    "MEAN_MOTION_DOT,MEAN_MOTION_DDOT";
const string csvGpRowOne =
    "UNKNOWN,1987-068,2020-06-23T04:36:00.383904,14.29842842,.0066057,82.6660," +
    "87.5455,38.3103,322.2748,0,U,81409,999,34254,.46387E-3,1.238E-5,0";

var builder = new StringBuilder();
builder.AppendLine(csvGpHeader);
builder.AppendLine(csvGpRowOne);

Sgp4Propagator propagator;
using (var reader = new StringReader(builder.ToString()))
{
    var csvGpList = CelestrakGeneralPerturbationElements.ReadFromCsvFile(reader);
    var csvGp = csvGpList[0];
    propagator = new Sgp4Propagator(csvGp);
}
See Also