Class RinexBaseHeader

java.lang.Object
org.orekit.files.rinex.section.RinexBaseHeader
Direct Known Subclasses:
RinexClockObsBaseHeader, RinexNavigationHeader

public abstract class RinexBaseHeader extends Object
Base container for Rinex headers.
Since:
12.0
  • Constructor Details

    • RinexBaseHeader

      protected RinexBaseHeader(RinexFileType fileType)
      Simple constructor.
      Parameters:
      fileType - file type
  • Method Details

    • getFileType

      public RinexFileType getFileType()
      Get the file type.
      Returns:
      file type
    • getFormatVersion

      public double getFormatVersion()
      Getter for the format version.
      Returns:
      the format version
    • setFormatVersion

      public void setFormatVersion(double formatVersion)
      Setter for the format version.
      Parameters:
      formatVersion - the format version to set
    • getSatelliteSystem

      public SatelliteSystem getSatelliteSystem()
      Getter for the satellite system.

      Not specified for RINEX 2.X versions (value is null).

      Returns:
      the satellite system
    • setSatelliteSystem

      public void setSatelliteSystem(SatelliteSystem satelliteSystem)
      Setter for the satellite system.
      Parameters:
      satelliteSystem - the satellite system to set
    • parseSatelliteSystem

      public abstract SatelliteSystem parseSatelliteSystem(String line, SatelliteSystem defaultSatelliteSystem)
      Parse satellite system.
      Parameters:
      line - header line
      defaultSatelliteSystem - satellite system to use if string is null or empty
      Returns:
      parsed satellite system
      Since:
      14.0
    • getProgramName

      public String getProgramName()
      Getter for the program name.
      Returns:
      the program name
    • setProgramName

      public void setProgramName(String programName)
      Setter for the program name.
      Parameters:
      programName - the program name to set
    • getRunByName

      public String getRunByName()
      Getter for the run/by name.
      Returns:
      the run/by name
    • setRunByName

      public void setRunByName(String runByName)
      Setter for the run/by name.
      Parameters:
      runByName - the run/by name to set
    • getCreationDateComponents

      public DateTimeComponents getCreationDateComponents()
      Getter for the creation date of the file as a string.
      Returns:
      the creation date
    • setCreationDateComponents

      public void setCreationDateComponents(DateTimeComponents creationDateComponents)
      Setter for the creation date as a string.
      Parameters:
      creationDateComponents - the creation date to set
    • getCreationTimeZone

      public String getCreationTimeZone()
      Getter for the creation time zone of the file as a string.
      Returns:
      the creation time zone as a string
    • setCreationTimeZone

      public void setCreationTimeZone(String creationTimeZone)
      Setter for the creation time zone.
      Parameters:
      creationTimeZone - the creation time zone to set
    • getCreationDate

      public AbsoluteDate getCreationDate()
      Getter for the creation date.

      The creation date seems to be mandatory, but we have seen several files missing it, even files created by IGS itself (in clock files, essentially). We accept these null dates to at least allow parsing the files as this header information does not really seem essential

      Returns:
      the creation date
    • setCreationDate

      public void setCreationDate(AbsoluteDate creationDate)
      Setter for the creation date.
      Parameters:
      creationDate - the creation date to set
    • setReceiverNumber

      public void setReceiverNumber(String receiverNumber)
      Set the number of the receiver.
      Parameters:
      receiverNumber - number of the receiver
    • getReceiverNumber

      public String getReceiverNumber()
      Get the number of the receiver.
      Returns:
      number of the receiver
    • setReceiverType

      public void setReceiverType(String receiverType)
      Set the type of the receiver.
      Parameters:
      receiverType - type of the receiver
    • getReceiverType

      public String getReceiverType()
      Get the type of the receiver.
      Returns:
      type of the receiver
    • setReceiverVersion

      public void setReceiverVersion(String receiverVersion)
      Set the version of the receiver.
      Parameters:
      receiverVersion - version of the receiver
    • getReceiverVersion

      public String getReceiverVersion()
      Get the version of the receiver.
      Returns:
      version of the receiver
    • getLeapSecondsGNSS

      public int getLeapSecondsGNSS()
      Getter for the number of leap second for GNSS time scales.
      Returns:
      the number of leap seconds for GNSS time scales
      Since:
      14.0
    • setLeapSecondsGNSS

      public void setLeapSecondsGNSS(int leapSecondsGNSS)
      Setter for the number of leap seconds for GNSS time scales.
      Parameters:
      leapSecondsGNSS - the number of leap seconds for GNSS time scales to set
      Since:
      14.0
    • setLeapSecondsFuture

      public void setLeapSecondsFuture(int leapSecondsFuture)
      Set the future or past leap seconds.
      Parameters:
      leapSecondsFuture - Future or past leap seconds
      Since:
      14.0
    • getLeapSecondsFuture

      public int getLeapSecondsFuture()
      Get the future or past leap seconds.
      Returns:
      Future or past leap seconds
      Since:
      14.0
    • setLeapSecondsWeekNum

      public void setLeapSecondsWeekNum(int leapSecondsWeekNum)
      Set the respective leap second week number.
      Parameters:
      leapSecondsWeekNum - Respective leap second week number
      Since:
      14.0
    • getLeapSecondsWeekNum

      public int getLeapSecondsWeekNum()
      Get the respective leap second week number.
      Returns:
      Respective leap second week number
      Since:
      14.0
    • setLeapSecondsDayNum

      public void setLeapSecondsDayNum(int leapSecondsDayNum)
      Set the respective leap second day number.
      Parameters:
      leapSecondsDayNum - Respective leap second day number
      Since:
      14.0
    • getLeapSecondsDayNum

      public int getLeapSecondsDayNum()
      Get the respective leap second day number.
      Returns:
      Respective leap second day number
      Since:
      14.0
    • getDoi

      public String getDoi()
      Getter for the Digital Object Information.
      Returns:
      the Digital Object Information
      Since:
      12.0
    • setDoi

      public void setDoi(String doi)
      Setter for the Digital Object Information.
      Parameters:
      doi - the Digital Object Information to set
      Since:
      12.0
    • getLicense

      public String getLicense()
      Getter for the license of use.
      Returns:
      the license of use
      Since:
      12.0
    • setLicense

      public void setLicense(String license)
      Setter for the license of use.
      Parameters:
      license - the license of use
      Since:
      12.0
    • getStationInformation

      public String getStationInformation()
      Getter for the station information.
      Returns:
      the station information
      Since:
      12.0
    • setStationInformation

      public void setStationInformation(String stationInformation)
      Setter for the station information.
      Parameters:
      stationInformation - the station information to set
      Since:
      12.0
    • parseVersionFileTypeSatelliteSystem

      public void parseVersionFileTypeSatelliteSystem(String line, SatelliteSystem defaultSatelliteSystem, String name, double... supportedVersions)
      Parse version, file type and satellite system.
      Parameters:
      line - line to parse
      defaultSatelliteSystem - satellite system to use if string is null or empty
      name - file name (for error message generation)
      supportedVersions - supported versions
      Since:
      14.0
    • parseProgramRunByDate

      public abstract void parseProgramRunByDate(String line, TimeScales timeScales)
      Parse program, run/by and date.
      Parameters:
      line - line to parse
      timeScales - the set of time scales used for parsing dates
      Since:
      14.0
    • parseProgramRunByDate

      protected void parseProgramRunByDate(String prgm, String run, String date, TimeScales timeScales)
      Parse program, run/by and date.
      Parameters:
      prgm - PGM field
      run - RUN BY field
      date - date field
      timeScales - the set of time scales used for parsing dates
      Since:
      14.0
    • checkType

      public abstract void checkType(String line, String name)
      Check file type.
      Parameters:
      line - header line
      name - file name (for error message)
      Since:
      14.0
    • checkType

      protected void checkType(String line, int typeIndex, String name)
      Check file type.
      Parameters:
      line - header line
      typeIndex - index of the file type in the line
      name - file name (for error message)
      Since:
      14.0
    • getLabelIndex

      public abstract int getLabelIndex()
      Get the index of the header label.
      Returns:
      index of the header label
      Since:
      14.0
    • matchFound

      public abstract boolean matchFound(Label label, String line)
      Check if a label is found in a line.
      Parameters:
      label - label to check
      line - header line
      Returns:
      true if label is found in the header line
      Since:
      14.0