Interface Frames
-
- All Known Implementing Classes:
AbstractFrames
,LazyLoadedFrames
public interface Frames
A collection of commonly usedFrame
s. This interface defines methods for obtaining instances of many commonly used reference frames.- Since:
- 10.0
- Author:
- Guylaine Prat, Luc Maisonobe, Pascal Parraud, Evan Ward
- See Also:
FramesFactory
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description Frame
buildUncachedITRF(UT1Scale ut1)
Build an uncached International Terrestrial Reference Frame with specificEOP history
.FactoryManagedFrame
getCIRF(IERSConventions conventions, boolean simpleEOP)
Get the CIRF2000 reference frame.Frame
getEcliptic(IERSConventions conventions)
Get the ecliptic frame.FactoryManagedFrame
getEME2000()
Get the unique EME2000 frame.EOPHistory
getEOPHistory(IERSConventions conventions, boolean simpleEOP)
Get Earth Orientation Parameters history.Frame
getFrame(Predefined factoryKey)
Get one of the predefined frames.Frame
getGCRF()
Get the unique GCRF frame.FactoryManagedFrame
getGTOD(boolean applyEOPCorr)
Get the GTOD reference frame.FactoryManagedFrame
getGTOD(IERSConventions conventions, boolean simpleEOP)
Get the GTOD reference frame.Frame
getICRF()
Get the unique ICRF frame.VersionedITRF
getITRF(ITRFVersion version, IERSConventions conventions, boolean simpleEOP)
Get an specific International Terrestrial Reference Frame.FactoryManagedFrame
getITRF(IERSConventions conventions, boolean simpleEOP)
Get an unspecified International Terrestrial Reference Frame.FactoryManagedFrame
getITRFEquinox(IERSConventions conventions, boolean simpleEOP)
Get the equinox-based ITRF reference frame.FactoryManagedFrame
getMOD(boolean applyEOPCorr)
Get the MOD reference frame.FactoryManagedFrame
getMOD(IERSConventions conventions)
Get the MOD reference frame.FactoryManagedFrame
getPZ9011(IERSConventions convention, boolean simpleEOP)
Get the PZ-90.11 (Parametry Zemly – 1990.11) reference frame.FactoryManagedFrame
getTEME()
Get the TEME reference frame.FactoryManagedFrame
getTIRF(IERSConventions conventions)
Get the TIRF reference frame, ignoring tidal effects.FactoryManagedFrame
getTIRF(IERSConventions conventions, boolean simpleEOP)
Get the TIRF reference frame.FactoryManagedFrame
getTOD(boolean applyEOPCorr)
Get the TOD reference frame.FactoryManagedFrame
getTOD(IERSConventions conventions, boolean simpleEOP)
Get the TOD reference frame.FactoryManagedFrame
getVeis1950()
Get the VEIS 1950 reference frame.static Frames
of(TimeScales timeScales, Supplier<Frame> icrfSupplier)
Create a set of frames from the given data.static Frames
of(TimeScales timeScales, CelestialBodies celestialBodies)
Create a set of frames from the given data.
-
-
-
Method Detail
-
getEOPHistory
EOPHistory getEOPHistory(IERSConventions conventions, boolean simpleEOP)
Get Earth Orientation Parameters history.- Parameters:
conventions
- conventions for which EOP history is requestedsimpleEOP
- if true, tidal effects are ignored when interpolating EOP- Returns:
- Earth Orientation Parameters history
-
getFrame
Frame getFrame(Predefined factoryKey)
Get one of the predefined frames.- Parameters:
factoryKey
- key of the frame within the factory- Returns:
- the predefined frame
-
getGCRF
Frame getGCRF()
Get the unique GCRF frame.The GCRF frame is the root frame in the frame tree.
- Returns:
- the unique instance of the GCRF frame
-
getICRF
Frame getICRF()
Get the unique ICRF frame.The ICRF frame is centered at solar system barycenter and aligned with GCRF.
- Returns:
- the unique instance of the ICRF frame
-
getEcliptic
Frame getEcliptic(IERSConventions conventions)
Get the ecliptic frame. The IAU defines the ecliptic as "the plane perpendicular to the mean heliocentric orbital angular momentum vector of the Earth-Moon barycentre in the BCRS (IAU 2006 Resolution B1)." The +z axis is aligned with the angular momentum vector, and the +x axis is aligned with +x axis ofMOD
.This implementation agrees with the JPL 406 ephemerides to within 0.5 arc seconds.
- Parameters:
conventions
- IERS conventions to apply- Returns:
- the selected reference frame singleton.
-
getEME2000
FactoryManagedFrame getEME2000()
Get the unique EME2000 frame.The EME2000 frame is also called the J2000 frame. The former denomination is preferred in Orekit.
- Returns:
- the unique instance of the EME2000 frame
-
getITRF
FactoryManagedFrame getITRF(IERSConventions conventions, boolean simpleEOP)
Get an unspecified International Terrestrial Reference Frame.The frame returned uses the
Earth Orientation Parameters
blindly. So if for example one loads only EOP 14 C04 files to retrieve the parameters, the frame will be anITRFVersion.ITRF_2014
. However, if parameters are loaded from different files types, or even for file types that changed their reference (like Bulletin A switching fromITRFVersion.ITRF_2008
toITRFVersion.ITRF_2014
starting with Vol. XXXI No. 013 published on 2018-03-29), then the ITRF returned by this method will jump from one version to another version.IF a specific version of ITRF is needed, then
getITRF(ITRFVersion, IERSConventions, boolean)
should be used instead.- Parameters:
conventions
- IERS conventions to applysimpleEOP
- if true, tidal effects are ignored when interpolating EOP- Returns:
- the selected reference frame singleton.
- Since:
- 6.1
- See Also:
getITRF(ITRFVersion, IERSConventions, boolean)
-
getTIRF
FactoryManagedFrame getTIRF(IERSConventions conventions)
Get the TIRF reference frame, ignoring tidal effects.- Parameters:
conventions
- IERS conventions to apply- Returns:
- the selected reference frame singleton. library cannot be read.
-
getITRF
VersionedITRF getITRF(ITRFVersion version, IERSConventions conventions, boolean simpleEOP)
Get an specific International Terrestrial Reference Frame.Note that if a specific version of ITRF is required, then
simpleEOP
should most probably be set tofalse
, as ignoring tidal effects has an effect of the same order of magnitude as the differences between the variousITRF versions
.- Parameters:
version
- ITRF versionconventions
- IERS conventions to applysimpleEOP
- if true, tidal effects are ignored when interpolating EOP- Returns:
- the selected reference frame singleton.
- Since:
- 9.2
-
buildUncachedITRF
Frame buildUncachedITRF(UT1Scale ut1)
Build an uncached International Terrestrial Reference Frame with specificEOP history
.This frame and its parent frames (TIRF and CIRF) will not be cached, they are rebuilt from scratch each time this method is called. This factory method is intended to be used when EOP history is changed at run time. For regular ITRF use, the
getITRF(IERSConventions, boolean)
and {linkgetITRF(ITRFVersion, IERSConventions, boolean)
are more suitable.- Parameters:
ut1
- UT1 time scale (contains theEOP history
)- Returns:
- an ITRF frame with specified time scale and embedded EOP history
- Since:
- 12.0
-
getTIRF
FactoryManagedFrame getTIRF(IERSConventions conventions, boolean simpleEOP)
Get the TIRF reference frame.- Parameters:
conventions
- IERS conventions to applysimpleEOP
- if true, tidal effects are ignored when interpolating EOP- Returns:
- the selected reference frame singleton.
- Since:
- 6.1
-
getCIRF
FactoryManagedFrame getCIRF(IERSConventions conventions, boolean simpleEOP)
Get the CIRF2000 reference frame.- Parameters:
conventions
- IERS conventions to applysimpleEOP
- if true, tidal effects are ignored when interpolating EOP- Returns:
- the selected reference frame singleton.
-
getVeis1950
FactoryManagedFrame getVeis1950()
Get the VEIS 1950 reference frame.Its parent frame is the GTOD frame with IERS 1996 conventions without EOP corrections.
- Returns:
- the selected reference frame singleton.
-
getITRFEquinox
FactoryManagedFrame getITRFEquinox(IERSConventions conventions, boolean simpleEOP)
Get the equinox-based ITRF reference frame.- Parameters:
conventions
- IERS conventions to applysimpleEOP
- if true, tidal effects are ignored when interpolating EOP- Returns:
- the selected reference frame singleton.
- Since:
- 6.1
-
getGTOD
FactoryManagedFrame getGTOD(boolean applyEOPCorr)
Get the GTOD reference frame.The applyEOPCorr parameter is available mainly for testing purposes or for consistency with legacy software that don't handle EOP correction parameters. Beware that setting this parameter to
false
leads to crude accuracy (order of magnitudes for errors might be above 250m in LEO and 1400m in GEO). For this reason, setting this parameter to false is restricted toIERS 1996
conventions, and hence theIERS conventions
cannot be freely chosen here.- Parameters:
applyEOPCorr
- if true, EOP corrections are applied (here, dut1 and lod)- Returns:
- the selected reference frame singleton.
-
getGTOD
FactoryManagedFrame getGTOD(IERSConventions conventions, boolean simpleEOP)
Get the GTOD reference frame.- Parameters:
conventions
- IERS conventions to applysimpleEOP
- if true, tidal effects are ignored when interpolating EOP- Returns:
- the selected reference frame singleton.
-
getTOD
FactoryManagedFrame getTOD(boolean applyEOPCorr)
Get the TOD reference frame.The applyEOPCorr parameter is available mainly for testing purposes or for consistency with legacy software that don't handle EOP correction parameters. Beware that setting this parameter to
false
leads to crude accuracy (order of magnitudes for errors might be above 1m in LEO and 10m in GEO). For this reason, setting this parameter to false is restricted toIERS 1996
conventions, and hence theIERS conventions
cannot be freely chosen here.- Parameters:
applyEOPCorr
- if true, EOP corrections are applied (here, nutation)- Returns:
- the selected reference frame singleton.
-
getTOD
FactoryManagedFrame getTOD(IERSConventions conventions, boolean simpleEOP)
Get the TOD reference frame.- Parameters:
conventions
- IERS conventions to applysimpleEOP
- if true, tidal effects are ignored when interpolating EOP- Returns:
- the selected reference frame singleton.
-
getMOD
FactoryManagedFrame getMOD(boolean applyEOPCorr)
Get the MOD reference frame.The applyEOPCorr parameter is available mainly for testing purposes or for consistency with legacy software that don't handle EOP correction parameters. Beware that setting this parameter to
false
leads to crude accuracy (order of magnitudes for errors might be above 1m in LEO and 10m in GEO). For this reason, setting this parameter to false is restricted toIERS 1996
conventions, and hence theIERS conventions
cannot be freely chosen here.- Parameters:
applyEOPCorr
- if true, EOP corrections are applied (EME2000/GCRF bias compensation)- Returns:
- the selected reference frame singleton.
-
getMOD
FactoryManagedFrame getMOD(IERSConventions conventions)
Get the MOD reference frame.- Parameters:
conventions
- IERS conventions to apply- Returns:
- the selected reference frame singleton.
-
getTEME
FactoryManagedFrame getTEME()
Get the TEME reference frame.The TEME frame is used for the SGP4 model in TLE propagation. This frame has no official definition and there are some ambiguities about whether it should be used as "of date" or "of epoch". This frame should therefore be used only for TLE propagation and not for anything else, as recommended by the CCSDS Orbit Data Message blue book.
- Returns:
- the selected reference frame singleton.
-
getPZ9011
FactoryManagedFrame getPZ9011(IERSConventions convention, boolean simpleEOP)
Get the PZ-90.11 (Parametry Zemly – 1990.11) reference frame.The PZ-90.11 reference system was updated on all operational GLONASS satellites starting from 3:00 pm on December 31, 2013.
The transition between parent frame (ITRF-2008) and PZ-90.11 frame is performed using a seven parameters Helmert transformation.
From To ΔX(m) ΔY(m) ΔZ(m) RX(mas) RY(mas) RZ(mas) Epoch ITRF-2008 PZ-90.11 +0.003 +0.001 -0.000 +0.019 -0.042 +0.002 2010
- Parameters:
convention
- IERS conventions to applysimpleEOP
- if true, tidal effects are ignored when interpolating EOP- Returns:
- the selected reference frame singleton.
- See Also:
- "Springer Handbook of Global Navigation Satellite Systems, Peter Teunissen & Oliver Montenbruck"
-
of
static Frames of(TimeScales timeScales, CelestialBodies celestialBodies)
Create a set of frames from the given data.- Parameters:
timeScales
- used to build the frames as well as the EOP data set.celestialBodies
- used to getgetICRF()
which is the inertial frame of the solar system barycenter.- Returns:
- a set of reference frame constructed from the given data.
- See Also:
of(TimeScales, Supplier)
-
of
static Frames of(TimeScales timeScales, Supplier<Frame> icrfSupplier)
Create a set of frames from the given data.- Parameters:
timeScales
- used to build the frames as well as the EOP data set.icrfSupplier
- used to getgetICRF()
. For example,celestialBodies.getSolarSystemBarycenter().getInertiallyOrientedFrame()
- Returns:
- a set of reference frame constructed from the given data.
- See Also:
CelestialBodies
,TimeScales.of(Collection, BiFunction)
-
-