Package pygeodesy :: Module trf
[frames] | no frames]

Module trf

Veness' Terrestrial Reference Frames (TRF).

Classes RefFrame, registry RefFrames and TRFError.

Transcoded from Chris Veness' (C) 2006-2019 JavaScript originals latlon-ellipsoidal-referenceframe.js and latlon-ellipsoidal-referenceframe-txparams.js.

Following is a copy of the comments in Veness' latlon-ellipsoidal-referenceframe.js.

Modern geodetic reference frames: a latitude/longitude point defines a geographic location on, above or below the earth’s surface, measured in degrees from the equator and the International Reference Meridian (IRM) and metres above the ellipsoid within a given Terrestrial Reference Frame at a given epoch.

This is scratching the surface of complexities involved in high precision geodesy, but may be of interest and/or value to those with less demanding requirements. More information here and here.

Note that ITRF solutions do not directly use an ellipsoid, but are specified by Cartesian coordinates. The GRS80 ellipsoid is recommended for transformations to geographical coordinates.

Note WGS84(G730/G873/G1150) are coincident with ITRF at 10-centimetre level, see also here. WGS84(G1674) and ITRF20014 / ITRF2008 "are likely to agree at the centimeter level", see also QPS/Qinsy.


Version: 22.04.07

Classes
  RefFrame
Terrestrial Reference Frame (TRF) parameters.
  Transform7Tuple
7-Tuple (tx, ty, tz, s, sx, sy, sz) Helmert transformation with translations tx, ty and tz in millimeter, scale s in ppb and rotations sx, sy and sz in milliarcseconds.
Functions
 
date2epoch(year, month, day)
Return the reference frame epoch for a calendar day.
 
epoch2date(epoch)
Return the date for a reference frame epoch.
 
trfXform(reframe1, reframe2, epoch=None, xform=None, rates=None)
Define a new Terrestrial Reference Frame (TRF) conversion.
Variables
  __all__ = _ALL_LAZY.trf
  RefFrames =
Some pre-defined RefFrames, all lazily instantiated.
  RefFrames.ETRF2000
RefFrame(name='ETRF2000', epoch=2005, ellipsoid=Ellipsoid(name='GRS80')
  RefFrames.GDA2020
RefFrame(name='GDA2020', epoch=2020, ellipsoid=Ellipsoid(name='GRS80')
  RefFrames.GDA94
RefFrame(name='GDA94', epoch=1994, ellipsoid=Ellipsoid(name='GRS80')
  RefFrames.ITRF2000
RefFrame(name='ITRF2000', epoch=1997, ellipsoid=Ellipsoid(name='GRS80')
  RefFrames.ITRF2005
RefFrame(name='ITRF2005', epoch=2000, ellipsoid=Ellipsoid(name='GRS80')
  RefFrames.ITRF2008
RefFrame(name='ITRF2008', epoch=2005, ellipsoid=Ellipsoid(name='GRS80')
  RefFrames.ITRF2014
RefFrame(name='ITRF2014', epoch=2010, ellipsoid=Ellipsoid(name='GRS80')
  RefFrames.ITRF90
RefFrame(name='ITRF90', epoch=1988, ellipsoid=Ellipsoid(name='GRS80')
  RefFrames.ITRF91
RefFrame(name='ITRF91', epoch=1988, ellipsoid=Ellipsoid(name='GRS80')
  RefFrames.ITRF93
RefFrame(name='ITRF93', epoch=1988, ellipsoid=Ellipsoid(name='GRS80')
  RefFrames.NAD83
RefFrame(name='NAD83', epoch=1997, ellipsoid=Ellipsoid(name='GRS80')
  RefFrames.WGS84
RefFrame(name='WGS84', epoch=1984, ellipsoid=Ellipsoid(name='WGS84')
  RefFrames.WGS84g1150
RefFrame(name='WGS84g1150', epoch=2001, ellipsoid=Ellipsoid(name='WGS84')
  RefFrames.WGS84g1674
RefFrame(name='WGS84g1674', epoch=2005, ellipsoid=Ellipsoid(name='WGS84')
  RefFrames.WGS84g1762
RefFrame(name='WGS84g1762', epoch=2005, ellipsoid=Ellipsoid(name='WGS84')
Function Details

date2epoch (year, month, day)

 

Return the reference frame epoch for a calendar day.

Arguments:
  • year - Year of the date (scalar).
  • month - Month in the year (scalar, 1..12).
  • day - Day in the month (scalar, 1..31).
Returns:
Epoch, the fractional year (float).
Raises:
  • TRFError - Invalid year, month or day.

Note: Any year is considered a leap year, i.e. having 29 days in February.

epoch2date (epoch)

 

Return the date for a reference frame epoch.

Arguments:
  • epoch - Fractional year (scalar).
Returns:
3-Tuple (year, month, day).
Raises:

Note: Any year is considered a leap year, i.e. having 29 days in February.

trfXform (reframe1, reframe2, epoch=None, xform=None, rates=None)

 

Define a new Terrestrial Reference Frame (TRF) conversion.

Arguments:
  • reframe1 - Source reframe (RefFrame), converting from.
  • reframe2 - Destination reframe (RefFrame), converting to.
  • epoch - Epoch, a fractional calendar year (scalar or str) or None for reframe2.epoch.
  • xform - Helmert transform (Tranform7Tuple).
  • rates - Helmert transform (Tranform7Tuple).
Raises:
  • TRFError - Invalid epoch or TRF conversion already exists.