org.orekit.frames
Class FramesFactory

java.lang.Object
  extended by org.orekit.frames.FramesFactory
All Implemented Interfaces:
java.io.Serializable

public class FramesFactory
extends java.lang.Object
implements java.io.Serializable

Factory for predefined reference frames.

FramesFactory Presentation

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.

Reference Frames

The user can retrieve those reference frames using various static methods (getGCRF(), getCIRF2000(), getTIRF2000(boolean), getTIRF2000(), getITRF2005(boolean), getITRF2005(), getEME2000(), getMEME(boolean), getTEME(boolean), getPEF(boolean) and getVeis1950()).

International Terrestrial Reference Frame 2005

This frame is the current (as of 2008) reference realization of the International Terrestrial Reference System produced by IERS. It is described in IERS conventions (2003). It replaces the Earth Centered Earth Fixed frame which is the reference frame for GPS satellites.

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 IERS data. Its pole axis is the IERS Reference Pole (IRP).

OREKIT proposes all the intermediate frames used to build this specific frame. This implementation follows the new non-rotating origin paradigm mandated by IAU 2000 resolution B1.8. It is therefore based on Celestial Ephemeris Origin (CEO-based) and Earth Rotating Angle.

Classical paradigm: equinox-based transformations

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 |                     MEME                 MEME  (Mean Equator of Date)
                                                 |                       |             w/o EOP corrections
                                                 |                       |  Nutation effects  |
    (Celestial Intermediate Reference Frame) CIRF2000                    |                    |
                                                 |                     TEME                 TEME  (True Equator of Date)
                          Earth natural rotation |                       |             w/o EOP corrections
                                                 |-------------          |    Sidereal Time   |
                                                 |            |          |                    |
  (Terrestrial Intermediate Reference Frame) TIRF2000     TIRF2000      PEF                  PEF  (Pseudo Earth Fixed)
                                                 |    w/o tidal effects                w/o EOP corrections
                                     Pole motion |            |                               |
                                                 |            |                               |
 (International Terrestrial Reference Frame) ITRF2005     ITRF2005                        VEIS1950
                                                      w/o tidal effects
 

This is a utility class, so its constructor is private.

Version:
$Revision: 3185 $ $Date: 2010-03-19 10:33:37 +0100 (ven. 19 mars 2010) $
Author:
Guylaine Prat, Luc Maisonobe, Pascal Parraud
See Also:
Serialized Form

Field Summary
static java.lang.String BULLETINB_1980_FILENAME
          Default regular expression for the BulletinB files (IAU1980 compatibles).
static java.lang.String BULLETINB_2000_FILENAME
          Default regular expression for the BulletinB files (IAU2000 compatibles).
static java.lang.String EOPC04_1980_FILENAME
          Default regular expression for the EOPC04 files (IAU1980 compatibles).
static java.lang.String EOPC04_2000_FILENAME
          Default regular expression for the EOPC04 files (IAU2000 compatibles).
 
Method Summary
static void addDefaultEOP1980HistoryLoaders(java.lang.String eopC04SupportedNames, java.lang.String bulletinBSupportedNames)
          Add the default loaders for EOP 1980 history.
static void addDefaultEOP2000HistoryLoaders(java.lang.String eopC04SupportedNames, java.lang.String bulletinBSupportedNames)
          Add the default loaders for EOP 2000 history.
static void addEOP1980HistoryLoader(EOP1980HistoryLoader loader)
          Add a loader for EOP 1980 history.
static void addEOP2000HistoryLoader(EOP2000HistoryLoader loader)
          Add a loader for EOP 2000 history.
static void clearEOP1980HistoryLoaders()
          Clear loaders for EOP 1980 history.
static void clearEOP2000HistoryLoaders()
          Clear loaders for EOP 2000 history.
static Frame getCIRF2000()
          Get the CIRF2000 reference frame.
static Frame getEME2000()
          Get the unique EME2000 frame.
static EOP1980History getEOP1980History()
          Get Earth Orientation Parameters history (IAU1980) data.
static EOP2000History getEOP2000History()
          Get Earth Orientation Parameters history (IAU2000) data.
static Frame getGCRF()
          Get the unique GCRF frame.
static Frame getITRF2005()
          Get the ITRF2005 reference frame, ignoring tidal effects.
static Frame getITRF2005(boolean ignoreTidalEffects)
          Get the ITRF2005 reference frame.
static Frame getMEME(boolean applyEOPCorr)
          Get the MEME reference frame.
static Frame getPEF(boolean applyEOPCorr)
          Get the PEF reference frame.
static Frame getTEME(boolean applyEOPCorr)
          Get the TEME reference frame.
static Frame getTIRF2000()
          Get the TIRF2000 reference frame, ignoring tidal effects.
static Frame getTIRF2000(boolean ignoreTidalEffects)
          Get the TIRF2000 reference frame.
static Frame getVeis1950()
          Get the VEIS 1950 reference frame.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EOPC04_1980_FILENAME

public static final java.lang.String EOPC04_1980_FILENAME
Default regular expression for the EOPC04 files (IAU1980 compatibles).

See Also:
Constant Field Values

BULLETINB_1980_FILENAME

public static final java.lang.String BULLETINB_1980_FILENAME
Default regular expression for the BulletinB files (IAU1980 compatibles).

See Also:
Constant Field Values

EOPC04_2000_FILENAME

public static final java.lang.String EOPC04_2000_FILENAME
Default regular expression for the EOPC04 files (IAU2000 compatibles).

See Also:
Constant Field Values

BULLETINB_2000_FILENAME

public static final java.lang.String BULLETINB_2000_FILENAME
Default regular expression for the BulletinB files (IAU2000 compatibles).

See Also:
Constant Field Values
Method Detail

addEOP1980HistoryLoader

public static void addEOP1980HistoryLoader(EOP1980HistoryLoader loader)
Add a loader for EOP 1980 history.

Parameters:
loader - custom loader to add for the EOP history
See Also:
addDefaultEOP1980HistoryLoaders(String, String), clearEOP1980HistoryLoaders(), addEOP2000HistoryLoader(EOP2000HistoryLoader)

addDefaultEOP1980HistoryLoaders

public static void addDefaultEOP1980HistoryLoaders(java.lang.String eopC04SupportedNames,
                                                   java.lang.String bulletinBSupportedNames)
Add the default loaders for EOP 1980 history.

The default loaders look for IERS EOP 05 C04 and bulletins B files.

Parameters:
eopC04SupportedNames - regular expression for supported EOP05 C04 files names (may be null if the default IERS file names are used)
bulletinBSupportedNames - regular expression for supported bulletin B files names (may be null if the default IERS file names are used)
See Also:
IERS EOP 05 C04 files, IERS bulletins B, addEOP1980HistoryLoader(EOP1980HistoryLoader), clearEOP1980HistoryLoaders(), addDefaultEOP2000HistoryLoaders(String, String)

clearEOP1980HistoryLoaders

public static void clearEOP1980HistoryLoaders()
Clear loaders for EOP 1980 history.

See Also:
addEOP1980HistoryLoader(EOP1980HistoryLoader), addDefaultEOP1980HistoryLoaders(String, String), clearEOP2000HistoryLoaders()

getEOP1980History

public static EOP1980History getEOP1980History()
                                        throws OrekitException
Get Earth Orientation Parameters history (IAU1980) data.

If no EOP1980HistoryLoader has been added by calling addEOP1980HistoryLoader or if clearEOP1980HistoryLoaders has been called afterwards, the addDefaultEOP1980HistoryLoaders(String, String) method will be called automatically with two null parameters (supported file names).

Returns:
Earth Orientation Parameters history (IAU1980) data
Throws:
OrekitException - if the data cannot be loaded

addEOP2000HistoryLoader

public static void addEOP2000HistoryLoader(EOP2000HistoryLoader loader)
Add a loader for EOP 2000 history.

Parameters:
loader - custom loader to add for the EOP history
See Also:
addDefaultEOP2000HistoryLoaders(String, String), clearEOP2000HistoryLoaders(), addEOP1980HistoryLoader(EOP1980HistoryLoader)

addDefaultEOP2000HistoryLoaders

public static void addDefaultEOP2000HistoryLoaders(java.lang.String eopC04SupportedNames,
                                                   java.lang.String bulletinBSupportedNames)
Add the default loaders for EOP 2000 history.

The default loaders look for IERS EOP 05 C04 and bulletins B files.

Parameters:
eopC04SupportedNames - regular expression for supported EOP05 C04 files names (may be null if the default IERS file names are used)
bulletinBSupportedNames - regular expression for supported bulletin B files names (may be null if the default IERS file names are used)
See Also:
IERS EOP 05 C04 files, IERS bulletins B, addEOP2000HistoryLoader(EOP2000HistoryLoader), clearEOP2000HistoryLoaders(), addDefaultEOP1980HistoryLoaders(String, String)

clearEOP2000HistoryLoaders

public static void clearEOP2000HistoryLoaders()
Clear loaders for EOP 2000 history.

See Also:
addEOP2000HistoryLoader(EOP2000HistoryLoader), addDefaultEOP2000HistoryLoaders(String, String), clearEOP1980HistoryLoaders()

getEOP2000History

public static EOP2000History getEOP2000History()
                                        throws OrekitException
Get Earth Orientation Parameters history (IAU2000) data.

If no EOP2000HistoryLoader has been added by calling addEOP2000HistoryLoader or if clearEOP2000HistoryLoaders has been called afterwards, the addDefaultEOP2000HistoryLoaders(String, String) method will be called automatically with two null parameters (supported file names).

Returns:
Earth Orientation Parameters history (IAU2000) data
Throws:
OrekitException - if the data cannot be loaded

getGCRF

public static 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

getEME2000

public static Frame 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

getITRF2005

public static Frame getITRF2005()
                         throws OrekitException
Get the ITRF2005 reference frame, ignoring tidal effects.

Returns:
the selected reference frame singleton.
Throws:
OrekitException - if the precession-nutation model data embedded in the library cannot be read.

getITRF2005

public static Frame getITRF2005(boolean ignoreTidalEffects)
                         throws OrekitException
Get the ITRF2005 reference frame.

Parameters:
ignoreTidalEffects - if true, tidal effects are ignored
Returns:
the selected reference frame singleton.
Throws:
OrekitException - if the precession-nutation model data embedded in the library cannot be read.

getTIRF2000

public static Frame getTIRF2000()
                         throws OrekitException
Get the TIRF2000 reference frame, ignoring tidal effects.

Returns:
the selected reference frame singleton.
Throws:
OrekitException - if the precession-nutation model data embedded in the library cannot be read.

getTIRF2000

public static Frame getTIRF2000(boolean ignoreTidalEffects)
                         throws OrekitException
Get the TIRF2000 reference frame.

Parameters:
ignoreTidalEffects - if true, tidal effects are ignored
Returns:
the selected reference frame singleton.
Throws:
OrekitException - if the precession-nutation model data embedded in the library cannot be read.

getCIRF2000

public static Frame getCIRF2000()
                         throws OrekitException
Get the CIRF2000 reference frame.

Returns:
the selected reference frame singleton.
Throws:
OrekitException - if the precession-nutation model data embedded in the library cannot be read.

getVeis1950

public static Frame getVeis1950()
                         throws OrekitException
Get the VEIS 1950 reference frame.

Its parent frame is the PEF frame without EOP corrections.

Returns:
the selected reference frame singleton.
Throws:
OrekitException - if data embedded in the library cannot be read

getPEF

public static Frame getPEF(boolean applyEOPCorr)
                    throws OrekitException
Get the PEF 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).

Parameters:
applyEOPCorr - if true, EOP corrections are applied (here, lod)
Returns:
the selected reference frame singleton.
Throws:
OrekitException - if data embedded in the library cannot be read

getTEME

public static Frame getTEME(boolean applyEOPCorr)
                     throws OrekitException
Get the TEME 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).

Parameters:
applyEOPCorr - if true, EOP corrections are applied (here, nutation)
Returns:
the selected reference frame singleton.
Throws:
OrekitException - if data embedded in the library cannot be read

getMEME

public static Frame getMEME(boolean applyEOPCorr)
                     throws OrekitException
Get the MEME 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).

Parameters:
applyEOPCorr - if true, EOP corrections are applied (EME2000/GCRF bias compensation)
Returns:
the selected reference frame singleton.
Throws:
OrekitException - if data embedded in the library cannot be read


Copyright © 2002-2010 CS Communication & Systèmes. All Rights Reserved.