Class SP3
- All Implemented Interfaces:
EphemerisFile<SP3Coordinate,SP3Segment>
- Author:
- Thomas Neidhart, Evan Ward
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.orekit.files.general.EphemerisFile
EphemerisFile.EphemerisSegment<C extends TimeStampedPVCoordinates>, EphemerisFile.SatelliteEphemeris<C extends TimeStampedPVCoordinates,S extends EphemerisFile.EphemerisSegment<C>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSatellite(String satId) Add a new satellite with a given identifier to the list of stored satellites.static SP3changeFrame(SP3 original, Frame newFrame) Change the frame of an SP3 file.booleancontainsSatellite(String satId) Tests whether a satellite with the given id is contained in this orbit file.getEphemeris(int index) Get an ephemeris.getEphemeris(String satId) Get an ephemeris.Get the header.intGet the number of satellites contained in this orbit file.Get the loaded ephemeris for each satellite in the file.static SP3splice(Collection<SP3> sp3) Splice several SP3 files together.voidCheck file is valid.
-
Constructor Details
-
SP3
Create a new SP3 file object.- Parameters:
mu- is the standard gravitational parameter in m³ / s².interpolationSamples- number of samples to use in interpolation.frame- reference frame
-
SP3
Create a new SP3 file object.- Parameters:
header- headermu- is the standard gravitational parameter in m³ / s².interpolationSamples- number of samples to use in interpolation.frame- reference frame- Since:
- 12.1
-
-
Method Details
-
validate
Check file is valid.- Parameters:
parsing- if true, we are parsing an existing file, and are more lenient in order to accept some common errors (like between 86 and 99 satellites in SP3a, SP3b or SP3c files)fileName- file name to generate the error message- Throws:
OrekitException- if file is not valid
-
getHeader
Get the header.- Returns:
- header
- Since:
- 12.0
-
splice
Splice several SP3 files together.Splicing SP3 files is intended to be used when continuous computation covering more than one file is needed. The files should all have the exact same metadata:
type,time system,coordinate system, except for satellite accuracy which can be different from one file to the next one, and some satellites may be missing in some files… Once sorted (which is done internally), if the gap between segments from two file is at mostepoch interval, then the segments are merged as one segment, otherwise the segments are kept separated.The spliced file only contains the satellites that were present in all files. Satellites present in some files and absent from other files are silently dropped.
Depending on producer, successive SP3 files either have a gap between the last entry of one file and the first entry of the next file (for example files with a 5 minutes epoch interval may end at 23:55 and the next file start at 00:00), or both files have one point exactly at the splicing date (i.e. 24:00 one day and 00:00 next day). In the later case, the last point of the early file is dropped and the first point of the late file takes precedence, hence only one point remains in the spliced file ; this design choice is made to enforce continuity and regular interpolation.
- Parameters:
sp3- SP3 files to merge- Returns:
- merged SP3
- Since:
- 12.0
-
changeFrame
Change the frame of an SP3 file.- Parameters:
original- original SP3 filenewFrame- frame to use for the changed SP3 file- Returns:
- changed SP3 file
- Since:
- 12.1
-
addSatellite
Add a new satellite with a given identifier to the list of stored satellites.- Parameters:
satId- the satellite identifier
-
getSatellites
Description copied from interface:EphemerisFileGet the loaded ephemeris for each satellite in the file.- Specified by:
getSatellitesin interfaceEphemerisFile<SP3Coordinate,SP3Segment> - Returns:
- a map from the satellite's ID to the information about that satellite contained in the file.
-
getEphemeris
Get an ephemeris.- Parameters:
index- index of the satellite- Returns:
- satellite ephemeris
- Since:
- 12.0
-
getEphemeris
Get an ephemeris.- Parameters:
satId- satellite identifier- Returns:
- satellite ephemeris, or null if not found
- Since:
- 12.0
-
getSatelliteCount
public int getSatelliteCount()Get the number of satellites contained in this orbit file.- Returns:
- the number of satellites
-
containsSatellite
Tests whether a satellite with the given id is contained in this orbit file.- Parameters:
satId- the satellite id- Returns:
trueif the satellite is contained in the file,falseotherwise
-