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: `EcefError` - If `a_ellipsoid` not Ellipsoid, Ellipsoid2, Datum or a_f2Tuple or `scalar` or `f` not `scalar` or if `scalar` `a_ellipsoid` not positive or `f` not less than 1.0. 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