|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.orekit.frames.FramesFactory
public class FramesFactory
Factory for predefined reference frames.
Several predefined reference frames are implemented in OREKIT. They are linked together in a tree with the
Geocentric Celestial Reference Frame (GCRF) as the root of the tree. The IERS frames require a FramesConfiguration.
If no configuration is specified by the user, a default one is used. The user can create a configuration with the
FramesConfigurationBuilder
, and pass it to the FramesFactory
with
the setConfiguration(FramesConfiguration)
method.
The user can retrieve those reference frames using various static methods (getFrame(Predefined)
,
getGCRF()
, getCIRF()
, getTIRF()
, getITRF()
, getEME2000()
, getMOD(boolean)
,
getTOD(boolean)
, getGTOD(boolean)
, getITRFEquinox()
, getTEME()
and
getVeis1950()
).
The frames defined by the IERS are available, and are described in the IERS
conventions (2010). The are fully configurable. Using the FramesConfigurationBuilder
,
one can specify all models pertaining to the transformations between the IERS frames.
This frame is used to define position on solid Earth. It rotates with the Earth and includes the pole motion with
respect to Earth crust as provided by the frames configuration
. Its pole axis is the
IERS Reference Pole (IRP).
The classical paradigm used prior to IERS conventions 2003 is equinox based and uses more intermediate frames. Only some of these frames are supported in Orekit.
Here is a schematic representation of the predefined reference frames tree:
GCRF │ ┌──────────────────┴──────┬────────────────────┐ │ │ Frame bias │ │ │ EME2000 │ │ │ │ │ Precession effects │ Bias, Precession and Nutation effects │ │ │ with or w/o EOP nutation correction │ MOD MOD (Mean Equator Of Date) │ │ w/o EOP corrections │ ┌─────────┤ Nutation effects ├──────────────────────────────────┐ (Celestial Intermediate Reference Frame) CIRF │ │ │ │ │ │ TOD TOD (True Equator Of Date) │ Earth natural rotation │ │ │ w/o EOP corrections │ │ │ │ Sidereal Time │ │ │ │ │ │ │ (Terrestrial Intermediate Reference Frame) TIRF EOD GTOD GTOD (Greenwich True Of Date) EOD (Mean ecliptic and │ w/o EOP corrections equinox of the epoch) Pole motion │ │ │ ├────────────┐ │ │ │ (International Terrestrial Reference Frame) ITRF ITRF VEIS1950 equinox-based
This is a utility class, so its constructor is private.
Method Summary | |
---|---|
static FactoryManagedFrame |
getCIRF()
Get the CIRF reference frame. |
static FramesConfiguration |
getConfiguration()
Getter for the current configuration. |
static FactoryManagedFrame |
getEME2000()
Get the unique EME2000 frame. |
static FactoryManagedFrame |
getEODFrame(boolean applyEOPCorr)
This class implements the EOD frame (mean ecliptic and equinox of the epoch). |
static Frame |
getFrame(Predefined factoryKey)
Get one of the predefined frames. |
static Frame |
getGCRF()
Get the unique GCRF frame. |
static FactoryManagedFrame |
getGTOD(boolean applyEOPCorr)
Get the GTOD reference frame. |
static Frame |
getH0MinusN(String name,
AbsoluteDate h0MinusN,
double longitude)
Get the "H0 - n" reference frame. |
static Frame |
getH0MinusN(String name,
AbsoluteDate h0,
double n,
double longitude)
Get the "H0 - n" reference frame. |
static Frame |
getICRF()
Get the unique ICRF frame. |
static FactoryManagedFrame |
getITRF()
Get the ITRF reference frame. |
static FactoryManagedFrame |
getITRFEquinox()
Get the equinox-based ITRF reference frame. |
static FactoryManagedFrame |
getMOD(boolean applyEOPCorr)
Get the MOD reference frame. |
static FactoryManagedFrame |
getTEME()
Get the TEME reference frame. |
static FactoryManagedFrame |
getTIRF()
Get the TIRF reference frame. |
static FactoryManagedFrame |
getTOD(boolean applyEOPCorr)
Get the TOD reference frame. |
static FactoryManagedFrame |
getVeis1950()
Get the VEIS 1950 reference frame. |
static void |
setConfiguration(FramesConfiguration newCfg)
Sets a new configuration. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static Frame getFrame(Predefined factoryKey) throws OrekitException
factoryKey
- key of the frame within the factory
OrekitException
- if frame cannot be built due to missing datapublic static Frame getGCRF()
The GCRF frame is the root frame in the frame tree.
public static Frame getICRF() throws OrekitException
The ICRF frame is centered at solar system barycenter and aligned with EME2000.
OrekitException
- if solar system ephemerides cannot be loadedpublic static FactoryManagedFrame getCIRF()
public static FactoryManagedFrame getTIRF() throws OrekitException
OrekitException
- if the precession-nutation model data embedded in the library cannot be read.public static FactoryManagedFrame getITRF() throws OrekitException
OrekitException
- if the precession-nutation model data embedded in the library cannot be read.public static FactoryManagedFrame getEME2000()
The EME2000 frame is also called the J2000 frame. The former denomination is preferred in Orekit.
public static FactoryManagedFrame getVeis1950() throws OrekitException
Its parent frame is the GTOD frame without EOP corrections.
OrekitException
- if data embedded in the library cannot be readpublic static FactoryManagedFrame getITRFEquinox() throws OrekitException
OrekitException
- if data embedded in the library cannot be readpublic static FactoryManagedFrame getGTOD(boolean applyEOPCorr) throws OrekitException
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).
applyEOPCorr
- if true, EOP corrections are applied (here, lod)
OrekitException
- if data embedded in the library cannot be readpublic static FactoryManagedFrame getTOD(boolean applyEOPCorr) throws OrekitException
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).
applyEOPCorr
- if true, EOP corrections are applied (here, nutation)
OrekitException
- if data embedded in the library cannot be readpublic static FactoryManagedFrame getMOD(boolean applyEOPCorr) throws OrekitException
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).
applyEOPCorr
- if true, EOP corrections are applied (EME2000/GCRF bias compensation)
OrekitException
- if data embedded in the library cannot be readpublic static FactoryManagedFrame getTEME() throws OrekitException
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.
OrekitException
- if data embedded in the library cannot be readpublic static FactoryManagedFrame getEODFrame(boolean applyEOPCorr) throws OrekitException
This class implements the EOD frame (mean ecliptic and equinox of the epoch).
See "Astronomical Algorithms", chapter 24 "Solar Coordinates", Jean Meeus, 1991.
applyEOPCorr
- true to take into account EOP corrections
OrekitException
- if data embedded in the library cannot be readpublic static Frame getH0MinusN(String name, AbsoluteDate h0, double n, double longitude) throws OrekitException
name
- name of the frame.h0
- the H0 date.n
- the offset for the date (date = H0 - n).longitude
- the rotation angle around the ITRF Z axis (rad).
OrekitException
- when the ITRF-GCRF transformation cannot be computedpublic static Frame getH0MinusN(String name, AbsoluteDate h0MinusN, double longitude) throws OrekitException
name
- name of the frame.h0MinusN
- the H0 - n date.longitude
- the rotation angle around the ITRF Z axis (rad).
OrekitException
- when the ITRF-GCRF transformation cannot be computedpublic static void setConfiguration(FramesConfiguration newCfg)
newCfg
- the new configuration.public static FramesConfiguration getConfiguration()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |