Class TLE
- All Implemented Interfaces:
TimeStamped,ParameterDriversProvider
TLE sets can be built either by providing directly the two lines, in which case parsing is performed internally or by providing the already parsed elements.
TLE are not transparently convertible to Orbit
instances. They are significant only with respect to their dedicated propagator, which also computes position and velocity coordinates.
Any attempt to directly use orbital parameters like eccentricity,
inclination, etc. without any reference to the TLE propagator is prone to errors.
More information on the TLE format can be found on the CelesTrak website.
- Author:
- Fabien Maussion, Luc Maisonobe
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringParameter name for B* coefficient.static final intIdentifier for default type of ephemeris (SGP4/SDP4).static final intIdentifier for SDP4 type of ephemeris.static final intIdentifier for SDP8 type of ephemeris.static final intIdentifier for SGP type of ephemeris.static final intIdentifier for SGP4 type of ephemeris.static final intIdentifier for SGP8 type of ephemeris. -
Constructor Summary
ConstructorsConstructorDescriptionTLE(int satelliteNumber, char classification, int launchYear, int launchNumber, String launchPiece, int ephemerisType, int elementNumber, AbsoluteDate epoch, double meanMotion, double meanMotionFirstDerivative, double meanMotionSecondDerivative, double e, double i, double pa, double raan, double meanAnomaly, int revolutionNumberAtEpoch, double bStar) Simple constructor from already parsed elements.TLE(int satelliteNumber, char classification, int launchYear, int launchNumber, String launchPiece, int ephemerisType, int elementNumber, AbsoluteDate epoch, double meanMotion, double meanMotionFirstDerivative, double meanMotionSecondDerivative, double e, double i, double pa, double raan, double meanAnomaly, int revolutionNumberAtEpoch, double bStar, TimeScale utc) Simple constructor from already parsed elements using the given time scale as UTC.Simple constructor from unparsed two lines.Simple constructor from unparsed two lines using the given time scale as UTC. -
Method Summary
Modifier and TypeMethodDescriptiondoubleCompute the semi-major axis from the mean motion of the TLE and the gravitational parameter from TLEConstants.booleanCheck if this tle equals the provided tle.doublegetBStar()Get the ballistic coefficient at tle date.doublegetBStar(AbsoluteDate date) Get the ballistic coefficient at a specific date.charGet the classification.getDate()Get the TLE current date.doublegetE()Get the eccentricity.intGet the element number.intGet the type of ephemeris.doublegetI()Get the inclination.intGet the launch number.Get the launch piece.intGet the launch year.getLine1()Get the first line.getLine2()Get the second line.doubleGet the mean anomaly.doubleGet the mean motion.doubleGet the mean motion first derivative.doubleGet the mean motion second derivative.Get the drivers for TLE propagation SGP4 and SDP4.doubleGet the argument of perigee.doublegetRaan()Get Right Ascension of the Ascending node.intGet the revolution number.intGet the satellite id.getUtc()Get the UTC time scale used to create this TLE.inthashCode()Get a hashcode for this tle.static booleanisFormatOK(String line1, String line2) Check the lines format validity.static intparseSatelliteNumber(String satNumberString) Parse a satellite number from a String.static TLEstateToTLE(SpacecraftState state, TLE templateTLE, OsculatingToMeanConverter converter, DataContext dataContext) Convert Spacecraft State into TLE.toString()Get a string representation of this TLE set.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupportedMethods inherited from interface org.orekit.time.TimeStamped
durationFrom
-
Field Details
-
SGP
public static final int SGPIdentifier for SGP type of ephemeris.- See Also:
-
SGP4
public static final int SGP4Identifier for SGP4 type of ephemeris.- See Also:
-
SDP4
public static final int SDP4Identifier for SDP4 type of ephemeris.- See Also:
-
SGP8
public static final int SGP8Identifier for SGP8 type of ephemeris.- See Also:
-
SDP8
public static final int SDP8Identifier for SDP8 type of ephemeris.- See Also:
-
DEFAULT
public static final int DEFAULTIdentifier for default type of ephemeris (SGP4/SDP4).- See Also:
-
B_STAR
Parameter name for B* coefficient.- See Also:
-
-
Constructor Details
-
TLE
Simple constructor from unparsed two lines. This constructor uses thedefault data context.The static method
isFormatOK(String, String)should be called before trying to build this object.- Parameters:
line1- the first element (69 char String)line2- the second element (69 char String)- See Also:
-
TLE
Simple constructor from unparsed two lines using the given time scale as UTC.The static method
isFormatOK(String, String)should be called before trying to build this object.- Parameters:
line1- the first element (69 char String)line2- the second element (69 char String)utc- the UTC time scale.- Since:
- 10.1
-
TLE
@DefaultDataContext public TLE(int satelliteNumber, char classification, int launchYear, int launchNumber, String launchPiece, int ephemerisType, int elementNumber, AbsoluteDate epoch, double meanMotion, double meanMotionFirstDerivative, double meanMotionSecondDerivative, double e, double i, double pa, double raan, double meanAnomaly, int revolutionNumberAtEpoch, double bStar) Simple constructor from already parsed elements. This constructor uses the
default data context.The mean anomaly, the right ascension of ascending node Ω and the argument of perigee ω are normalized into the [0, 2π] interval as they can be negative. After that, a range check is performed on some of the orbital elements:
meanMotion >= 0 0 <= i <= π 0 <= Ω <= 2π 0 <= e <= 1 0 <= ω <= 2π 0 <= meanAnomaly <= 2π- Parameters:
satelliteNumber- satellite numberclassification- classification (U for unclassified)launchYear- launch year (all digits)launchNumber- launch numberlaunchPiece- launch piece (3 char String)ephemerisType- type of ephemeriselementNumber- element numberepoch- elements epochmeanMotion- mean motion (rad/s)meanMotionFirstDerivative- mean motion first derivative (rad/s²)meanMotionSecondDerivative- mean motion second derivative (rad/s³)e- eccentricityi- inclination (rad)pa- argument of perigee (rad)raan- right ascension of ascending node (rad)meanAnomaly- mean anomaly (rad)revolutionNumberAtEpoch- revolution number at epochbStar- ballistic coefficient- See Also:
-
TLE
public TLE(int satelliteNumber, char classification, int launchYear, int launchNumber, String launchPiece, int ephemerisType, int elementNumber, AbsoluteDate epoch, double meanMotion, double meanMotionFirstDerivative, double meanMotionSecondDerivative, double e, double i, double pa, double raan, double meanAnomaly, int revolutionNumberAtEpoch, double bStar, TimeScale utc) Simple constructor from already parsed elements using the given time scale as UTC.
The mean anomaly, the right ascension of ascending node Ω and the argument of perigee ω are normalized into the [0, 2π] interval as they can be negative. After that, a range check is performed on some of the orbital elements:
meanMotion >= 0 0 <= i <= π 0 <= Ω <= 2π 0 <= e <= 1 0 <= ω <= 2π 0 <= meanAnomaly <= 2π- Parameters:
satelliteNumber- satellite numberclassification- classification (U for unclassified)launchYear- launch year (all digits)launchNumber- launch numberlaunchPiece- launch piece (3 char String)ephemerisType- type of ephemeriselementNumber- element numberepoch- elements epochmeanMotion- mean motion (rad/s)meanMotionFirstDerivative- mean motion first derivative (rad/s²)meanMotionSecondDerivative- mean motion second derivative (rad/s³)e- eccentricityi- inclination (rad)pa- argument of perigee (rad)raan- right ascension of ascending node (rad)meanAnomaly- mean anomaly (rad)revolutionNumberAtEpoch- revolution number at epochbStar- ballistic coefficientutc- the UTC time scale.- Since:
- 10.1
-
-
Method Details
-
getUtc
Get the UTC time scale used to create this TLE.- Returns:
- UTC time scale.
-
getLine1
Get the first line.- Returns:
- first line
-
getLine2
Get the second line.- Returns:
- second line
-
getSatelliteNumber
public int getSatelliteNumber()Get the satellite id.- Returns:
- the satellite number
-
getClassification
public char getClassification()Get the classification.- Returns:
- classification
-
getLaunchYear
public int getLaunchYear()Get the launch year.- Returns:
- the launch year
-
getLaunchNumber
public int getLaunchNumber()Get the launch number.- Returns:
- the launch number
-
getLaunchPiece
Get the launch piece.- Returns:
- the launch piece
-
getEphemerisType
public int getEphemerisType()Get the type of ephemeris. -
getElementNumber
public int getElementNumber()Get the element number.- Returns:
- the element number
-
getDate
Get the TLE current date.- Specified by:
getDatein interfaceTimeStamped- Returns:
- the epoch
-
getMeanMotion
public double getMeanMotion()Get the mean motion.- Returns:
- the mean motion (rad/s)
-
getMeanMotionFirstDerivative
public double getMeanMotionFirstDerivative()Get the mean motion first derivative.- Returns:
- the mean motion first derivative (rad/s²)
-
getMeanMotionSecondDerivative
public double getMeanMotionSecondDerivative()Get the mean motion second derivative.- Returns:
- the mean motion second derivative (rad/s³)
-
getE
public double getE()Get the eccentricity.- Returns:
- the eccentricity
-
getI
public double getI()Get the inclination.- Returns:
- the inclination (rad)
-
getPerigeeArgument
public double getPerigeeArgument()Get the argument of perigee.- Returns:
- omega (rad)
-
getRaan
public double getRaan()Get Right Ascension of the Ascending node.- Returns:
- the raan (rad)
-
getMeanAnomaly
public double getMeanAnomaly()Get the mean anomaly.- Returns:
- the mean anomaly (rad)
-
getRevolutionNumberAtEpoch
public int getRevolutionNumberAtEpoch()Get the revolution number.- Returns:
- the revolutionNumberAtEpoch
-
getBStar
public double getBStar()Get the ballistic coefficient at tle date.- Returns:
- bStar
-
getBStar
Get the ballistic coefficient at a specific date.- Parameters:
date- at which the ballistic coefficient wants to be known.- Returns:
- bStar
-
computeSemiMajorAxis
public double computeSemiMajorAxis()Compute the semi-major axis from the mean motion of the TLE and the gravitational parameter from TLEConstants.- Returns:
- the semi-major axis computed.
-
toString
Get a string representation of this TLE set.The representation is simply the two lines separated by the platform line separator.
-
stateToTLE
public static TLE stateToTLE(SpacecraftState state, TLE templateTLE, OsculatingToMeanConverter converter, DataContext dataContext) Convert Spacecraft State into TLE.The B* is not calculated. Its value is simply copied from the model to the generated TLE.
- Parameters:
state- Spacecraft State to convert into TLEtemplateTLE- only used to get identifiers like satellite number, launch year, etc. In other words, the keplerian elements contained in the generated TLE are based on the provided state and not the template TLE.converter- osculating to mean orbit converterdataContext- data context- Returns:
- a generated TLE
- Since:
- 13.0
-
isFormatOK
Check the lines format validity.- Parameters:
line1- the first elementline2- the second element- Returns:
- true if format is recognized (non null lines, 69 characters length, line content), false if not
-
parseSatelliteNumber
Parse a satellite number from a String.This method supports both traditional 5-digits satellite numbers and Alpha-5 TLE satellites IDs.
- Parameters:
satNumberString- the string to parse (e.g., "25544" or "A0001")- Returns:
- the satellite number as an integer
- Since:
- 14.0
-
equals
Check if this tle equals the provided tle.Due to the difference in precision between object and string representations of TLE, it is possible for this method to return false even if string representations returned by
toString()are equal. -
hashCode
public int hashCode()Get a hashcode for this tle. -
getParametersDrivers
Get the drivers for TLE propagation SGP4 and SDP4.- Specified by:
getParametersDriversin interfaceParameterDriversProvider- Returns:
- drivers for SGP4 and SDP4 model parameters
-