Class IIRVMessage


  • public class IIRVMessage
    extends Object
    Container for Improved Interrange Vector (IIRV) messages, implemented as a list of sequential IIRVVector instances.

    The IIRV message consists of a series of sequential IIRVVectors that each contains ephemeris state data at a particular epoch. The message body is defined as:

    ttuuuuuuuqjjGIIRVarrrr<<≡≡
    vs1ciiiibbnnndoyhhmmsssssccc<<≡≡
    sxxxxxxxxxxxxsyyyyyyyyyyyyszzzzzzzzzzzzccc<<==
    sxxxxxxxxxxxxsyyyyyyyyyyyyszzzzzzzzzzzzccc<<==
    mmmmmmmmaaaaakkkksrrrrrrrccc<<==
    ITERM oooo<<==

    Line No. / Characters / Value / Type / Description / Class
    1 tt 2 characters Constant Message Type (Operations Data Message) MessageTypeTerm
    uuuuuuu 0000000 to 9999999 Integer Message ID MessageIDTerm
    q 1 character String Message Source MessageSourceTerm
    jj
    • 10 = Nominal
    • 15 = In-flight Update
    String Message class (10=nominal) MessageClassTerm
    GIIRV "GIIRV" Constant Message ID MessageStartConstantTerm
    a
    • ASCII space = GSFC
    • Z = WLP
    • E = ETR
    • L = JPL
    • W = WTR
    • J = JSC
    • P = PMR
    • A = CSTC
    • K = KMR
    • C = CNES
    String Origin identification OriginIdentificationTerm
    rrrr
    • GSFC = NASA Goddard Space Flight Center
    • WLP = Wallops Island tracking radars
    • ETR = NASA/USFC Eastern Test Range
    • JPL = NASA Jet Propulsion Laboratory
    • WTR = NASA/USFC Western Test Range
    • JSC = NASA Johnson Space Center
    • PMR = Navy Pacific Missile Range
    • CSTC = Air Force Satellite Control Facility
    • KMR = Army Kwajalein Missile Range
    • CNES = French Space Agency National
      Centre for Space Studies (CNES)
    • MANY = Message originated from more
      than one of the above stations
    String Destination routing indicator RoutingIndicatorTerm
    << "\r\r" Constant Carriage returns n/a
    == "\n\n" Constant Line feeds n/a
    2 v
    • 1 = Free flight (routine on-orbit)
    • 2 = Forced (special orbit update)
    • 3 = Spare
    • 4 = Maneuver ignition
    • 5 = Maneuver cutoff
    • 6 = Reentry
    • 7 = Powered flight
    • 8 = Stationary
    • 9 = Spare
    Integer Vector type VectorTypeTerm
    s
    • 1 = Nominal/planning
    • 2 = Real-time
    • 3 = Off-line
    • 4 = Off-line/mean
    Integer Source of data DataSourceTerm
    1 "1" = interrange message Constant Transfer type TransferTypeConstantTerm
    c
    • 1 = Geocentric True-of-Date Rotating
    • 2 = Geocentric mean of 1950.0 (B1950.0)
    • 3 = Heliocentric B1950.0
    • 4 = Reserved for JPL use (non-GSFC)
    • 5 = Reserved for JPL use (non-GSFC)
    • 6 = Geocentric mean of 2000.0 (J2000.0)
    • 7 = Heliocentric J2000.0
    Integer Coordinate system CoordinateSystemTerm
    iiii 0000-9999 Integer Support Identification Code (SIC) SupportIdCodeTerm
    bb 00-99 Integer Vehicle Identification Code (VIC) VehicleIdCodeTerm
    nnn 000-999 Integer Sequence number SequenceNumberTerm
    doy 001-366 Integer Day of year DayOfYearTerm
    hhmmsssss 000000000 - 235959999 Integer Vector epoch (in UTC)
    HH:mm:ss.SSS
    VectorEpochTerm
    ccc 000-999 Integer Checksum for line 2 CheckSumTerm
    << "\r\r" Constant Carriage returns n/a
    == "\n\n" Constant Line feeds n/a
    3 s
    • " " (ASCII Space) = positive
    • "-" = Negative
    Integer Positive/negative sign n/a
    xxxxxxxxxxxx 0 - 9999999999999 Integer X component of position (m) PositionVectorComponentTerm
    yyyyyyyyyyyy 0 - 9999999999999 Integer Y component of position (m) PositionVectorComponentTerm
    zzzzzzzzzzzz 0 - 9999999999999 Integer Z component of position (m) PositionVectorComponentTerm
    ccc 000-999 Integer Checksum for line 3 CheckSumTerm
    << "\r\r" Constant Carriage returns n/a
    == "\n\n" Constant Line feeds n/a
    4 s
    • " " (ASCII Space) = positive
    • "-" = Negative
    Integer Positive/negative sign n/a
    xxxxxxxxxxxx 0 - 9999999999.999 Double X component of velocity (m/s) VelocityVectorComponentTerm
    yyyyyyyyyyyy 0 - 9999999999.999 Double Y component of velocity (m/s) VelocityVectorComponentTerm
    zzzzzzzzzzzz 0 - 9999999999.999 Double Z component of velocity (m/s) VelocityVectorComponentTerm
    ccc 000-999 Integer Checksum for line 4 CheckSumTerm
    << "\r\r" Constant Carriage returns n/a
    == "\n\n" Constant Line feeds n/a
    5 mmmmmmmm 0 - 99999999.9 Double Spacecraft mass (kg) MassTerm
    aaaaa 0 - 999.99 Double Average cross-sectional area (m^2) CrossSectionalAreaTerm
    kkkk 0 - 99.99 Double Drag coefficient (dimensionless) DragCoefficientTerm
    srrrrrrr -99.99999 to 99.99999 Double Solar reflectivity coefficient (dimensionless) SolarReflectivityCoefficientTerm
    ccc 000-999 Integer Checksum for line 5 CheckSumTerm
    << "\r\r" Constant Carriage returns n/a
    == "\n\n" Constant Line feeds n/a
    6 ITERM "ITERM" Constant End of message MessageEndConstantTerm
    ITERM ASCII Space Constant Spare (blank) character SpareConstantTerm
    oooo "GCQU" or "GAQD" String Originator routing indicator OriginatorRoutingIndicatorTerm
    << "\r\r" Constant Carriage returns n/a
    == "\n\n" Constant Line feeds n/a
    7-12 Second IIRVVector in message
    13-18 Third IIRVVector in message
    ... nth IIRVVector in message
    Since:
    13.0
    Author:
    Nick LaFarge
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • get

        public IIRVVector get​(int i)
        Gets the IIRVVector located at a given index in the message.
        Parameters:
        i - index of the element to return
        Returns:
        element at the given index
        See Also:
        ArrayList.get(int)
      • size

        public int size()
        Returns the number of IIRV vectors contained in the message.
        Returns:
        number of IIRV vectors contained in the message
        See Also:
        ArrayList.size()
      • isEmpty

        public boolean isEmpty()
        Returns true if no vectors exist in the message.
        Returns:
        true if no vectors exist in the message
        See Also:
        ArrayList.isEmpty()
      • toMessageString

        public String toMessageString​(IIRVMessage.IncludeMessageMetadata includeMessageMetadataSetting)
        Converts the IIRVVectors contained in the message file into a single String, where no deliminator included between each vector (the vectors already have trailing line carriage and line returns).
        Parameters:
        includeMessageMetadataSetting - Setting for when message metadata terms appear in the created IIRV message
        Returns:
        String containing all IIRVVectors for the IIRV message
        See Also:
        IIRVVector.toIIRVString(boolean)
      • getVectors

        public List<IIRVVector> getVectors()
        Gets the list of sequential IIRVVector instances contained within the overall IIRV message.
        Returns:
        list of sequential IIRVVector instances contained within the overall IIRV message.