public class TLESeries extends Object implements DataLoader, Serializable
TLE data is read using the standard Orekit mechanism based on a configured DataProvidersManager
. This means TLE data may be retrieved from many different storage media (local disk files,
remote servers, database ...).
This class provides bounded ephemerides by finding the best initial TLE to propagate and then handling the propagation.
TLE
,
DataProvidersManager
,
Serialized FormConstructor and Description |
---|
TLESeries(String supportedNamesIn,
boolean ignoreNonTLELinesIn)
Simple constructor with a TLE file.
|
Modifier and Type | Method and Description |
---|---|
Set<Integer> |
getAvailableSatelliteNumbers()
Get the available satellite numbers.
|
TLE |
getClosestTLE(AbsoluteDate date)
Get the closest TLE to the selected date.
|
TLE |
getFirst()
Get the first TLE.
|
AbsoluteDate |
getFirstDate()
Get the start date of the series.
|
TLE |
getLast()
Get the last TLE.
|
AbsoluteDate |
getLastDate()
Get the last date of the series.
|
PVCoordinates |
getPVCoordinates(AbsoluteDate date)
Get the extrapolated position and velocity from an initial date.
|
void |
loadData(InputStream input,
String name)
Load data from a stream.
|
void |
loadTLEData()
Load TLE data for a specified object.
|
void |
loadTLEData(int satelliteNumber)
Load TLE data for a specified object.
|
void |
loadTLEData(int launchYear,
int launchNumber,
String launchPiece)
Load TLE data for a specified object.
|
boolean |
stillAcceptsData()
Check if the loader still accepts new data.
|
public TLESeries(String supportedNamesIn, boolean ignoreNonTLELinesIn)
This constructor does not load any data by itself. Data must be loaded later on by calling one of the
loadTLEData()
method, the loadTLEData(filterSatelliteNumber)
method or the loadTLEData(filterLaunchYear, filterLaunchNumber, filterLaunchPiece)
method.
supportedNamesIn
- regular expression for supported files names
(if null, a default pattern matching files with a ".tle" extension will be used)ignoreNonTLELinesIn
- if true, extra non-TLE lines are silently ignored,
if false an exception will be generated when such lines are encounteredloadTLEData()
,
loadTLEData(int)
,
loadTLEData(int, int, String)
public void loadTLEData() throws PatriusException
The TLE data already loaded in the instance will be discarded and replaced by the newly loaded data.
The filtering values will be automatically set to the first loaded satellite. This feature is useful when the
satellite selection is already set up by either the instance configuration (supported file names) or by the
data providers manager
configuration and the local filtering feature provided here
can be ignored.
PatriusException
- if some data can't be read, some
file content is corrupted or no TLE data is availableloadTLEData(int)
,
loadTLEData(int, int, String)
public Set<Integer> getAvailableSatelliteNumbers() throws PatriusException
PatriusException
- if some data can't be read, some
file content is corrupted or no TLE data is availablepublic void loadTLEData(int satelliteNumber) throws PatriusException
The TLE data already loaded in the instance will be discarded and replaced by the newly loaded data.
Calling this method with the satellite number set to a negative value, is equivalent to call
loadTLEData()
.
satelliteNumber
- satellite numberPatriusException
- if some data can't be read, some
file content is corrupted or no TLE data is available for the selected objectloadTLEData()
,
loadTLEData(int, int, String)
public void loadTLEData(int launchYear, int launchNumber, String launchPiece) throws PatriusException
The TLE data already loaded in the instance will be discarded and replaced by the newly loaded data.
Calling this method with either the launch year or the launch number set to a negative value, or the launch piece
set to null or an empty string are all equivalent to call loadTLEData()
.
launchYear
- launch year (all digits)launchNumber
- launch numberlaunchPiece
- launch piecePatriusException
- if some data can't be read, some
file content is corrupted or no TLE data is available for the selected objectloadTLEData()
,
loadTLEData(int)
public boolean stillAcceptsData()
This method is used to speed up data loading by interrupting crawling the data sets as soon as a loader has found the data it was waiting for. For loaders that can merge data from any number of sources (for example JPL ephemerides or Earth Orientation Parameters that are split among several files), this method should always return true to make sure no data is left over.
stillAcceptsData
in interface DataLoader
public void loadData(InputStream input, String name) throws IOException, PatriusException
loadData
in interface DataLoader
input
- data input streamname
- name of the file (or zip entry)IOException
- if data can't be readPatriusException
- if some data is missing
or if some loader specific error occurspublic PVCoordinates getPVCoordinates(AbsoluteDate date) throws PatriusException
first date
; last date
].date
- the final datePatriusException
- if the underlying propagator cannot be initializedpublic TLE getClosestTLE(AbsoluteDate date)
date
- the datepublic AbsoluteDate getFirstDate()
public AbsoluteDate getLastDate()
public TLE getFirst()
public TLE getLast()
Copyright © 2020 CNES. All rights reserved.