Package pygeodesy :: Module ecef :: Class EcefFarrell22
[frames] | no frames]

Class EcefFarrell22

  object --+                
           |                
named._Named --+            
               |            
named._NamedBase --+        
                   |        
           _EcefBase --+    
                       |    
              EcefVeness --+
                           |
                          EcefFarrell22

Conversion between geodetic and geocentric, aka Earth-Centered, Earth-Fixed (ECEF) coordinates based on Jay A. Farrell's Table 2.2, page 30.

Instance Methods
 
__init__(self, a_ellipsoid, f=None, name='')
New EcefVeness/EcefSudano converter.
 
forward(self, latlonh, lon=None, height=0, M=False, name='')
Convert from geodetic (lat, lon, height) to geocentric (x, y, z).
 
reverse(self, xyz, y=None, z=None, M=None, name='')
Convert from geocentric (x, y, z) to geodetic (lat, lon, height) using Farrell's Table 2.2, page 30.

Inherited from _EcefBase: toStr

Inherited from named._NamedBase: __repr__, __str__, others, toRepr

Inherited from named._Named: _DOT_, attrs, classof, copy, rename, toStr2

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Properties

Inherited from _EcefBase: a, datum, ellipsoid, equatoradius, equatorialRadius, f, flattening

Inherited from named._Named: classname, classnaming, name, named, named2, named3, named4

Inherited from object: __class__

Method Details

__init__ (self, a_ellipsoid, f=None, name='')
(Constructor)

 

New EcefVeness/EcefSudano converter.

Arguments:
  • a_ellipsoid - A (non-prolate) ellipsoid (Ellipsoid, Ellipsoid2, Datum or a_f2Tuple) or scalar ellipsoid's equatorial radius (meter).
  • f - None or the ellipsoid flattening (scalar), required for scalar a_ellipsoid, f=0 represents a sphere, negative f a prolate ellipsoid.
  • name - Optional name (str).
Raises:
Overrides: object.__init__

forward (self, latlonh, lon=None, height=0, M=False, name='')

 

Convert from geodetic (lat, lon, height) to geocentric (x, y, z).

Arguments:
  • latlonh - Either a LatLon, an Ecef9Tuple or scalar latitude (degrees).
  • lon - Optional scalar longitude for scalar latlonh (degrees).
  • height - Optional height (meter), vertically above (or below) the surface of the ellipsoid.
  • M - Optionally, return the rotation EcefMatrix (bool).
  • name - Optional name (str).
Returns:
An Ecef9Tuple(x, y, z, lat, lon, height, C, M, datum) with geocentric (x, y, z) coordinates for the given geodetic ones (lat, lon, height), case C 0, optional M (EcefMatrix) and datum if available.
Raises:
  • EcefError - If latlonh not LatLon, Ecef9Tuple or scalar or lon not scalar for scalar latlonh or abs(lat) exceeds 90°.
Overrides: _EcefBase.forward

reverse (self, xyz, y=None, z=None, M=None, name='')

 

Convert from geocentric (x, y, z) to geodetic (lat, lon, height) using Farrell's Table 2.2, page 30.

Arguments:
  • xyz - A geocentric (Cartesian, Ecef9Tuple) or scalar ECEF x coordinate (meter).
  • y - ECEF y coordinate for scalar xyz and z (meter).
  • z - ECEF z coordinate for scalar xyz and y (meter).
  • M - Ignored, rotation matrix M not available.
  • name - Optional name (str).
Returns:
An Ecef9Tuple(x, y, z, lat, lon, height, C, M, datum) with geodetic coordinates (lat, lon, height) for the given geocentric ones (x, y, z), case C=1, M=None always and datum if available.
Raises:
  • EcefError - Invalid xyz or scalar x or y and/or z not scalar for scalar xyz or sqrt domain or zero division error.
Overrides: _EcefBase.reverse

See Also: EcefFarrell21 and EcefVeness.