Class SP3

    • Constructor Detail

      • SP3

        public SP3​(double mu,
                   int interpolationSamples,
                   Frame frame)
        Create a new SP3 file object.
        Parameters:
        mu - is the standard gravitational parameter in m³ / s².
        interpolationSamples - number of samples to use in interpolation.
        frame - reference frame
      • SP3

        public SP3​(SP3Header header,
                   double mu,
                   int interpolationSamples,
                   Frame frame)
        Create a new SP3 file object.
        Parameters:
        header - header
        mu - is the standard gravitational parameter in m³ / s².
        interpolationSamples - number of samples to use in interpolation.
        frame - reference frame
        Since:
        12.1
    • Method Detail

      • validate

        public void validate​(boolean parsing,
                             String fileName)
                      throws OrekitException
        Check file is valid.
        Parameters:
        parsing - if true, we are parsing an existing file, and are more lenient in order to accept some common errors (like between 86 and 99 satellites in SP3a, SP3b or SP3c files)
        fileName - file name to generate the error message
        Throws:
        OrekitException - if file is not valid
      • getHeader

        public SP3Header getHeader()
        Get the header.
        Returns:
        header
        Since:
        12.0
      • splice

        public static SP3 splice​(Collection<SP3> sp3)
        Splice several SP3 files together.

        Splicing SP3 files is intended to be used when continuous computation covering more than one file is needed. The files should all have the exact same metadata: type, time system, coordinate system, except for satellite accuracy which can be different from one file to the next one, and some satellites may be missing in some files… Once sorted (which is done internally), if the gap between segments from two file is at most epoch interval, then the segments are merged as one segment, otherwise the segments are kept separated.

        The spliced file only contains the satellites that were present in all files. Satellites present in some files and absent from other files are silently dropped.

        Depending on producer, successive SP3 files either have a gap between the last entry of one file and the first entry of the next file (for example files with a 5 minutes epoch interval may end at 23:55 and the next file start at 00:00), or both files have one point exactly at the splicing date (i.e. 24:00 one day and 00:00 next day). In the later case, the last point of the early file is dropped and the first point of the late file takes precedence, hence only one point remains in the spliced file ; this design choice is made to enforce continuity and regular interpolation.

        Parameters:
        sp3 - SP3 files to merge
        Returns:
        merged SP3
        Since:
        12.0
      • changeFrame

        public static SP3 changeFrame​(SP3 original,
                                      Frame newFrame)
        Change the frame of an SP3 file.
        Parameters:
        original - original SP3 file
        newFrame - frame to use for the changed SP3 file
        Returns:
        changed SP3 file
        Since:
        12.1
      • addSatellite

        public void addSatellite​(String satId)
        Add a new satellite with a given identifier to the list of stored satellites.
        Parameters:
        satId - the satellite identifier
      • getEphemeris

        public SP3Ephemeris getEphemeris​(int index)
        Get an ephemeris.
        Parameters:
        index - index of the satellite
        Returns:
        satellite ephemeris
        Since:
        12.0
      • getEphemeris

        public SP3Ephemeris getEphemeris​(String satId)
        Get an ephemeris.
        Parameters:
        satId - satellite identifier
        Returns:
        satellite ephemeris, or null if not found
        Since:
        12.0
      • getSatelliteCount

        public int getSatelliteCount()
        Get the number of satellites contained in this orbit file.
        Returns:
        the number of satellites
      • containsSatellite

        public boolean containsSatellite​(String satId)
        Tests whether a satellite with the given id is contained in this orbit file.
        Parameters:
        satId - the satellite id
        Returns:
        true if the satellite is contained in the file, false otherwise