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

Class EcefYou

  object --+            
           |            
named._Named --+        
               |        
named._NamedBase --+    
                   |    
           _EcefBase --+
                       |
                      EcefYou

Conversion between geodetic and geocentric, Earth-Centered, Earth-Fixed (ECEF) coordinates using Rey-Jer You's transformation for non-prolate ellipsoids.


See Also: Featherstone, W.E., Claessens, S.J. Closed-form transformation between geodetic and ellipsoidal coordinates Studia Geophysica et Geodaetica, 2008, 52, pages 1-18 and PyMap3D.

Instance Methods
 
__init__(self, a_ellipsoid=Ellipsoid(name='WGS84', a=6378137, f=0.00335281, f_=298.257223..., f=None, **lon00_name)
New Ecef* converter.
 
reverse(self, xyz, y=None, z=None, M=None, **lon00_name)
Convert geocentric (x, y, z) to geodetic (lat, lon, height) using Rey-Jer You's transformation.

Inherited from _EcefBase: __eq__, forward, forward_, toStr

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

Inherited from named._Named: __imatmul__, __matmul__, __rmatmul__, attrs, classof, copy, dup, methodname, rename, renamed, 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, lon00

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

Inherited from object: __class__

Method Details

__init__ (self, a_ellipsoid=Ellipsoid(name='WGS84', a=6378137, f=0.00335281, f_=298.257223..., f=None, **lon00_name)
(Constructor)

 

New Ecef* 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.
  • lon00 - An arbitrary, "polar" longitude (degrees), see the reverse method.
  • name - Optional name=NN (str).
Raises:
Overrides: object.__init__
(inherited documentation)

reverse (self, xyz, y=None, z=None, M=None, **lon00_name)

 

Convert geocentric (x, y, z) to geodetic (lat, lon, height) using Rey-Jer You's transformation.

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.
  • lon00_name - Optional name=NN (str) and optional keyword argument lon00=INT0 (degrees), an arbitrary "polar" longitude returned if x=0 and y=0, see property lon00.
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 the ellipsoid is prolate.
Overrides: _EcefBase.reverse