Class FieldTLE<T extends CalculusFieldElement<T>>

    • Constructor Detail

      • FieldTLE

        public FieldTLE​(Field<T> field,
                        String line1,
                        String line2,
                        TimeScale utc)
        Simple constructor from unparsed two lines using the given time scale as UTC.

        This method uses the default data context.

        The static method isFormatOK(String, String) should be called before trying to build this object.

        Parameters:
        field - field utilized by default
        line1 - the first element (69 char String)
        line2 - the second element (69 char String)
        utc - the UTC time scale.
      • FieldTLE

        @DefaultDataContext
        public FieldTLE​(int satelliteNumber,
                        char classification,
                        int launchYear,
                        int launchNumber,
                        String launchPiece,
                        int ephemerisType,
                        int elementNumber,
                        FieldAbsoluteDate<T> epoch,
                        T meanMotion,
                        T meanMotionFirstDerivative,
                        T meanMotionSecondDerivative,
                        T e,
                        T i,
                        T pa,
                        T raan,
                        T 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 number
        classification - classification (U for unclassified)
        launchYear - launch year (all digits)
        launchNumber - launch number
        launchPiece - launch piece (3 char String)
        ephemerisType - type of ephemeris
        elementNumber - element number
        epoch - elements epoch
        meanMotion - mean motion (rad/s)
        meanMotionFirstDerivative - mean motion first derivative (rad/s²)
        meanMotionSecondDerivative - mean motion second derivative (rad/s³)
        e - eccentricity
        i - inclination (rad)
        pa - argument of perigee (rad)
        raan - right ascension of ascending node (rad)
        meanAnomaly - mean anomaly (rad)
        revolutionNumberAtEpoch - revolution number at epoch
        bStar - ballistic coefficient
        See Also:
        FieldTLE(int, char, int, int, String, int, int, FieldAbsoluteDate, CalculusFieldElement, CalculusFieldElement, CalculusFieldElement, CalculusFieldElement, CalculusFieldElement, CalculusFieldElement, CalculusFieldElement, CalculusFieldElement, int, double, TimeScale)
      • FieldTLE

        public FieldTLE​(int satelliteNumber,
                        char classification,
                        int launchYear,
                        int launchNumber,
                        String launchPiece,
                        int ephemerisType,
                        int elementNumber,
                        FieldAbsoluteDate<T> epoch,
                        T meanMotion,
                        T meanMotionFirstDerivative,
                        T meanMotionSecondDerivative,
                        T e,
                        T i,
                        T pa,
                        T raan,
                        T 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 number
        classification - classification (U for unclassified)
        launchYear - launch year (all digits)
        launchNumber - launch number
        launchPiece - launch piece (3 char String)
        ephemerisType - type of ephemeris
        elementNumber - element number
        epoch - elements epoch
        meanMotion - mean motion (rad/s)
        meanMotionFirstDerivative - mean motion first derivative (rad/s²)
        meanMotionSecondDerivative - mean motion second derivative (rad/s³)
        e - eccentricity
        i - inclination (rad)
        pa - argument of perigee (rad)
        raan - right ascension of ascending node (rad)
        meanAnomaly - mean anomaly (rad)
        revolutionNumberAtEpoch - revolution number at epoch
        bStar - ballistic coefficient
        utc - the UTC time scale.
    • Method Detail

      • getLine1

        public String getLine1()
        Get the first line.
        Returns:
        first line
      • getLine2

        public String 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

        public String getLaunchPiece()
        Get the launch piece.
        Returns:
        the launch piece
      • getEphemerisType

        public int getEphemerisType()
        Get the type of ephemeris.
        Returns:
        the ephemeris type (one of DEFAULT, SGP, SGP4, SGP8, SDP4, SDP8)
      • getElementNumber

        public int getElementNumber()
        Get the element number.
        Returns:
        the element number
      • getMeanMotion

        public T getMeanMotion()
        Get the mean motion.
        Returns:
        the mean motion (rad/s)
      • getMeanMotionFirstDerivative

        public T getMeanMotionFirstDerivative()
        Get the mean motion first derivative.
        Returns:
        the mean motion first derivative (rad/s²)
      • getMeanMotionSecondDerivative

        public T getMeanMotionSecondDerivative()
        Get the mean motion second derivative.
        Returns:
        the mean motion second derivative (rad/s³)
      • getE

        public T getE()
        Get the eccentricity.
        Returns:
        the eccentricity
      • getI

        public T getI()
        Get the inclination.
        Returns:
        the inclination (rad)
      • getPerigeeArgument

        public T getPerigeeArgument()
        Get the argument of perigee.
        Returns:
        omega (rad)
      • getRaan

        public T getRaan()
        Get Right Ascension of the Ascending node.
        Returns:
        the raan (rad)
      • getMeanAnomaly

        public T 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.
        Returns:
        bStar
      • computeSemiMajorAxis

        public T 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

        public String toString()
        Get a string representation of this TLE set.

        The representation is simply the two lines separated by the platform line separator.

        Overrides:
        toString in class Object
        Returns:
        string representation of this TLE set
      • stateToTLE

        public static <T extends CalculusFieldElement<T>> FieldTLE<T> stateToTLE​(FieldSpacecraftState<T> state,
                                                                                 FieldTLE<T> templateTLE,
                                                                                 TleGenerationAlgorithm generationAlgorithm)
        Convert Spacecraft State into TLE.
        Type Parameters:
        T - type of the element
        Parameters:
        state - Spacecraft State to convert into TLE
        templateTLE - 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.
        generationAlgorithm - TLE generation algorithm
        Returns:
        a generated TLE
        Since:
        12.0
      • isFormatOK

        public static boolean isFormatOK​(String line1,
                                         String line2)
        Check the lines format validity.
        Parameters:
        line1 - the first element
        line2 - the second element
        Returns:
        true if format is recognized (non null lines, 69 characters length, line content), false if not
      • toTLE

        public TLE toTLE()
        Convert FieldTLE into TLE.
        Returns:
        TLE
      • equals

        public boolean equals​(Object o)
        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.

        Overrides:
        equals in class Object
        Parameters:
        o - other tle
        Returns:
        true if this tle equals the provided tle
      • hashCode

        public int hashCode()
        Get a hashcode for this tle.
        Overrides:
        hashCode in class Object
        Returns:
        hashcode