Class OPMParser


  • public class OPMParser
    extends ODMParser
    A parser for the CCSDS OPM (Orbit Parameter Message).
    Since:
    6.1
    Author:
    sports
    • Constructor Detail

      • OPMParser

        public OPMParser()
        Simple constructor.

        This class is immutable, and hence thread safe. When parts must be changed, such as reference date for Mission Elapsed Time or Mission Relative Time time systems, or the gravitational coefficient or the IERS conventions, the various withXxx methods must be called, which create a new immutable instance with the new parameters. This is a combination of the builder design pattern and a fluent interface.

        The initial date for Mission Elapsed Time and Mission Relative Time time systems is not set here. If such time systems are used, it must be initialized before parsing by calling withMissionReferenceDate(AbsoluteDate).

        The gravitational coefficient is not set here. If it is needed in order to parse Cartesian orbits where the value is not set in the CCSDS file, it must be initialized before parsing by calling withMu(double).

        The IERS conventions to use is not set here. If it is needed in order to parse some reference frames or UT1 time scale, it must be initialized before parsing by calling withConventions(IERSConventions).

    • Method Detail

      • withMu

        public OPMParser withMu​(double newMu)
        Set gravitational coefficient.
        Specified by:
        withMu in class ODMParser
        Parameters:
        newMu - gravitational coefficient to use while parsing
        Returns:
        a new instance, with gravitational coefficient date replaced
        See Also:
        ODMParser.getMu()
      • withSimpleEOP

        public OPMParser withSimpleEOP​(boolean newSimpleEOP)
        Set EOP interpolation method.
        Specified by:
        withSimpleEOP in class ODMParser
        Parameters:
        newSimpleEOP - if true, tidal effects are ignored when interpolating EOP
        Returns:
        a new instance, with EOP interpolation method replaced
        See Also:
        ODMParser.isSimpleEOP()
      • withInternationalDesignator

        public OPMParser withInternationalDesignator​(int newLaunchYear,
                                                     int newLaunchNumber,
                                                     String newLaunchPiece)
        Set international designator.

        This method may be used to ensure the launch year number and pieces are correctly set if they are not present in the CCSDS file header in the OBJECT_ID in the form YYYY-NNN-P{PP}. If they are already in the header, they will be parsed automatically regardless of this method being called or not (i.e. header information override information set here).

        Specified by:
        withInternationalDesignator in class ODMParser
        Parameters:
        newLaunchYear - launch year
        newLaunchNumber - launch number
        newLaunchPiece - piece of launch (from "A" to "ZZZ")
        Returns:
        a new instance, with TLE settings replaced
      • parse

        public OPMFile parse​(String fileName)
        Parse a CCSDS Orbit Data Message.
        Overrides:
        parse in class ODMParser
        Parameters:
        fileName - name of the file containing the message
        Returns:
        parsed orbit
      • parse

        public OPMFile parse​(InputStream stream)
        Parse a CCSDS Orbit Data Message.
        Overrides:
        parse in class ODMParser
        Parameters:
        stream - stream containing message
        Returns:
        parsed orbit
      • parse

        public OPMFile parse​(InputStream stream,
                             String fileName)
        Parse a CCSDS Orbit Data Message.
        Specified by:
        parse in class ODMParser
        Parameters:
        stream - stream containing message
        fileName - name of the file containing the message (for error messages)
        Returns:
        parsed orbit