Package org.orekit.files.iirv
Class IIRVMessage
- java.lang.Object
-
- org.orekit.files.iirv.IIRVMessage
-
public class IIRVMessage extends Object
Container for Improved Interrange Vector (IIRV) messages, implemented as a list of sequentialIIRVVector
instances.The IIRV message consists of a series of sequential
IIRVVector
s 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.SSSVectorEpochTerm
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 message13-18 Third IIRVVector
in message... nth IIRVVector
in message- Since:
- 13.0
- Author:
- Nick LaFarge
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
IIRVMessage.IncludeMessageMetadata
Options for how message metadata appears in the IIRV message file.
-
Constructor Summary
Constructors Constructor Description IIRVMessage()
Constructor that initializes to an empty list of vectors.IIRVMessage(List<IIRVVector> vectors)
Constructor from a list of IIRVIIRVVector
s that monotonically increase in bothSequenceNumberTerm
and time (DayOfYearTerm
andVectorEpochTerm
).IIRVMessage(IIRVMessage other)
Copy constructor.IIRVMessage(IIRVVector... vectors)
Constructor from a list of IIRVIIRVVector
s that monotonically increase in bothSequenceNumberTerm
and time (DayOfYearTerm
andVectorEpochTerm
).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(IIRVVector v)
Adds anIIRVVector
to the message (seeArrayList.add(Object)
).boolean
equals(Object o)
IIRVVector
get(int i)
Gets theIIRVVector
located at a given index in the message.String
getSatelliteID()
Returns the satellite ID (set to the value of theVehicleIdCodeTerm
).List<IIRVVector>
getVectors()
Gets the list of sequentialIIRVVector
instances contained within the overall IIRV message.ArrayList<String>
getVectorStrings(IIRVMessage.IncludeMessageMetadata includeMessageMetadataSetting)
Converts theIIRVVector
s contained in the message file into a list of their String representations.int
hashCode()
boolean
isEmpty()
Returns true if no vectors exist in the message.int
size()
Returns the number of IIRV vectors contained in the message.String
toMessageString(IIRVMessage.IncludeMessageMetadata includeMessageMetadataSetting)
Converts theIIRVVector
s 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).
-
-
-
Constructor Detail
-
IIRVMessage
public IIRVMessage()
Constructor that initializes to an empty list of vectors.
-
IIRVMessage
public IIRVMessage(List<IIRVVector> vectors)
Constructor from a list of IIRVIIRVVector
s that monotonically increase in bothSequenceNumberTerm
and time (DayOfYearTerm
andVectorEpochTerm
).- Parameters:
vectors
- list of sequentialIIRVVector
s.
-
IIRVMessage
public IIRVMessage(IIRVVector... vectors)
Constructor from a list of IIRVIIRVVector
s that monotonically increase in bothSequenceNumberTerm
and time (DayOfYearTerm
andVectorEpochTerm
).- Parameters:
vectors
- list of sequential IIRV vectors.
-
IIRVMessage
public IIRVMessage(IIRVMessage other)
Copy constructor.- Parameters:
other
- otherIIRVMessage
instance.
-
-
Method Detail
-
add
public void add(IIRVVector v)
Adds anIIRVVector
to the message (seeArrayList.add(Object)
).- Parameters:
v
- IIRV vector to add to the message
-
get
public IIRVVector get(int i)
Gets theIIRVVector
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()
-
getVectorStrings
public ArrayList<String> getVectorStrings(IIRVMessage.IncludeMessageMetadata includeMessageMetadataSetting)
Converts theIIRVVector
s contained in the message file into a list of their String representations.- Parameters:
includeMessageMetadataSetting
- Setting for when message metadata terms appear in the created IIRV message- Returns:
- list of
IIRVVector
strings for each vector the message - See Also:
IIRVVector.toIIRVString(boolean)
-
toMessageString
public String toMessageString(IIRVMessage.IncludeMessageMetadata includeMessageMetadataSetting)
Converts theIIRVVector
s 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
IIRVVector
s for the IIRV message - See Also:
IIRVVector.toIIRVString(boolean)
-
getVectors
public List<IIRVVector> getVectors()
Gets the list of sequentialIIRVVector
instances contained within the overall IIRV message.- Returns:
- list of sequential
IIRVVector
instances contained within the overall IIRV message.
-
getSatelliteID
public String getSatelliteID()
Returns the satellite ID (set to the value of theVehicleIdCodeTerm
).- Returns:
- the satellite ID
- See Also:
VehicleIdCodeTerm
-
-