public class JPLEphemeridesLoader extends AbstractSelfFeedingLoader implements CelestialBodyLoader
JPL ephemerides binary files contain ephemerides for all solar system planets.
The JPL ephemerides binary files are recognized thanks to their base names,
which must match the pattern [lu]nx[mp]####.ddd
(or
[lu]nx[mp]####.ddd.gz
for gzip-compressed files) where # stands for a
digit character and where ddd is an ephemeris type (typically 405 or 406).
The loader supports files encoded in big-endian as well as in little-endian notation.
Usually, big-endian files are named unx[mp]####.ddd
, while little-endian files
are named lnx[mp]####.ddd
.
The IMCCE ephemerides binary files are recognized thanks to their base names,
which must match the pattern inpop*.dat
(or
inpop*.dat.gz
for gzip-compressed files) where * stands for any string.
The loader supports files encoded in big-endian as well as in little-endian notation.
Usually, big-endian files contain bigendian
in their names, while little-endian files
contain littleendian
in their names.
The loader supports files in TDB or TCB time scales.
Modifier and Type | Class and Description |
---|---|
static class |
JPLEphemeridesLoader.EphemerisType
List of supported ephemerides types.
|
static interface |
JPLEphemeridesLoader.RawPVProvider
Interface for raw position-velocity retrieval.
|
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_DE_SUPPORTED_NAMES
Default supported files name pattern for JPL DE files.
|
static String |
DEFAULT_INPOP_SUPPORTED_NAMES
Default supported files name pattern for IMCCE INPOP files.
|
Constructor and Description |
---|
JPLEphemeridesLoader(String supportedNames,
JPLEphemeridesLoader.EphemerisType generateType)
Create a loader for JPL ephemerides binary files.
|
JPLEphemeridesLoader(String supportedNames,
JPLEphemeridesLoader.EphemerisType generateType,
DataProvidersManager dataProvidersManager,
TimeScales timeScales,
Frame gcrf)
Create a loader for JPL ephemerides binary files.
|
Modifier and Type | Method and Description |
---|---|
double |
getLoadedAstronomicalUnit()
Get astronomical unit.
|
double |
getLoadedConstant(String... names)
Get a constant defined in the ephemerides headers.
|
double |
getLoadedEarthMoonMassRatio()
Get Earth/Moon mass ratio.
|
double |
getLoadedGravitationalCoefficient(JPLEphemeridesLoader.EphemerisType body)
Get the gravitational coefficient of a body.
|
double |
getMaxChunksDuration()
Get the maximal chunks duration.
|
CelestialBody |
loadCelestialBody(String name)
Load celestial body.
|
feed, getDataProvidersManager, getSupportedNames, setSupportedNames
public static final String DEFAULT_DE_SUPPORTED_NAMES
public static final String DEFAULT_INPOP_SUPPORTED_NAMES
@DefaultDataContext public JPLEphemeridesLoader(String supportedNames, JPLEphemeridesLoader.EphemerisType generateType)
default data context
.supportedNames
- regular expression for supported files namesgenerateType
- ephemeris type to generateJPLEphemeridesLoader(String, EphemerisType, DataProvidersManager, TimeScales,
Frame)
public JPLEphemeridesLoader(String supportedNames, JPLEphemeridesLoader.EphemerisType generateType, DataProvidersManager dataProvidersManager, TimeScales timeScales, Frame gcrf)
supportedNames
- regular expression for supported files namesgenerateType
- ephemeris type to generatedataProvidersManager
- provides access to the ephemeris files.timeScales
- used to access the TCB and TDB time scales while loading data.gcrf
- Earth centered frame aligned with ICRF.public CelestialBody loadCelestialBody(String name)
loadCelestialBody
in interface CelestialBodyLoader
name
- name of the celestial bodypublic double getLoadedAstronomicalUnit()
public double getLoadedEarthMoonMassRatio()
public double getLoadedGravitationalCoefficient(JPLEphemeridesLoader.EphemerisType body)
body
- body for which the gravitational coefficient is requestedpublic double getLoadedConstant(String... names)
Note that since constants are defined in the JPL headers files, they are available as soon as one file is available, even if it doesn't match the desired central date. This is because the header must be parsed before the dates can be checked.
There are alternate names for constants since for example JPL names are different from INPOP names (Sun gravity: GMS or GM_Sun, Mars gravity: GM4 or GM_Mar...).
names
- alternate names of the constantpublic double getMaxChunksDuration()
Copyright © 2002-2020 CS Group. All rights reserved.