Click or drag to resize

UsafGeneralPerturbationElements Class

United States Air Force (USAF) general perturbation (GP) orbital elements.
Inheritance Hierarchy

Namespace:  AGI.Foundation.Propagators
Assembly:  AGI.Foundation.Models (in AGI.Foundation.Models.dll) Version: 24.1.418.0 (24.1.418.0)
public class UsafGeneralPerturbationElements : Sgp4Elements

The UsafGeneralPerturbationElements type exposes the following members.

Public propertyArgumentOfPerigee
Gets or sets the argument of perigee, in degrees.
(Inherited from Sgp4Elements.)
Public propertyBallisticCoefficient
Gets or sets the ballistic coefficient or the area times the drag coefficient divided by the mass. This value has the units of m^2/kg.
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:
(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 propertyEnergyDissipationRate
Gets or sets the energy dissipation rate of the satellite due to atmospheric drag in watts/kg.
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 UsafGeneralPerturbationElements has ephemeris type 4.
Public propertyEpoch
Gets or sets the epoch at which these initial conditions are defined.
(Overrides Sgp4ElementsEpoch.)
Public propertyErrorGrowthRate
Gets or sets the last calculated error growth rate in kilometers per day.
Public propertyInclination
Gets or sets the inclination, in degrees
(Inherited from Sgp4Elements.)
Public propertyInternationalDesignator
Gets or sets the international designator.
Public propertyLastObservationTime
Gets or sets the time of last observation that was used by orbit determination for the satellite. This time is in +/- fractional days relative to the Epoch.
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 propertyObjectType
Gets or sets the type of orbiting body.
Public propertyOriginalSatelliteNumber
Gets or sets the original satellite number of the object. This is often the same as the SatelliteNumber.
Public propertyRadarCrossSection
Gets or sets the median radar cross section of the object.
Public propertyRawEpoch
Gets or sets the epoch at which these initial conditions are defined, represented in the standard form: YYYYDDD.DDDD.
(Overrides Sgp4ElementsRawEpoch.)
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 propertySolarRadiationParameter
Gets or sets the AGOM or the area times the solar radiation pressure coefficient (gamma) divided by the mass. This value has the units of m^2/kg.
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.)
Public propertyVisualMagnitude
Gets or sets the median visual magnitude of the object scaled to the standard distance of 35786 km (elevation of GEO at zenith). This value is used regardless of the sensor to satellite geometry.
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 USAF General Perturbation elements in from a file (most likely a .csv).
Public methodStatic memberReadFromCsvFile(TextReader)
Reads the USAF General Perturbation elements in from a file (most likely a .csv).
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)

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


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

// Header is not included in USAF General Perturbation elements CSV file.
// See documentation for USAFGeneralPerturbationElements.ReadFromCsvFile
// to interpret the format.
const string csvGpString =
    "U,5,1958-002B,2020,338.9480997,-3.50E-07,,-2.21E-05,,1," +
    "3.42E+01,6.61E+01,1.85E-01,3.51E+01,3.36E+02,1.08E+01," +

var builder = new StringBuilder();

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