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

Class EcefCartesian

  object --+        
           |        
named._Named --+    
               |    
named._NamedBase --+
                   |
                  EcefCartesian

Conversion between geodetic (lat, lon, height) and local cartesian (x, y, z) coordinates with a local cartesian origin at (lat0, lon0, height0), transcribed from Karney's C++ class LocalCartesian.

The z axis is normal to the ellipsoid, the y axis points due North. The plane z = -heighth0 is tangent to the ellipsoid.

The conversions all take place via geocentric coordinates using a geocentric EcefKarney, by default the WGS84 datum/ellipsoid.

Instance Methods
 
__init__(self, latlonh0=0, lon0=0, height0=0, ecef=None, name='')
New EcefCartesian converter.
 
forward(self, latlonh, lon=None, height=0, M=False)
Convert from geodetic (lat, lon, height) to local cartesian (x, y, z).
 
reset(self, latlonh0=0, lon0=0, height0=0, name='')
Reset the local cartesian origin.
 
reverse(self, xyz, y=None, z=None, M=False)
Convert from local cartesian (x, y, z) to geodetic (lat, lon, height).
 
toStr(self, prec=9)
Return this EcefCartesian as a string.

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

Inherited from named._Named: _dot_, attrs, classof, copy, toStr2

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

Properties
  ecef
Get the ECEF converter (EcefKarney).
  height0
Get origin's height (meter).
  lat0
Get origin's latitude (degrees).
  lon0
Get origin's longitude (degrees).
  M
Get the rotation matrix (EcefMatrix).

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

Inherited from object: __class__

Method Details

__init__ (self, latlonh0=0, lon0=0, height0=0, ecef=None, name='')
(Constructor)

 

New EcefCartesian converter.

Arguments:
  • latlonh0 - Either a LatLon, an Ecef9Tuple or scalar latitude in degrees of the cartesian origin.
  • lon0 - Optional scalar longitude of the cartesian origin in degrees for scalar latlonh0.
  • height0 - Optional height of the cartesian origin in meter, vertically above (or below) the surface of the ellipsoid.
  • ecef - An ECEF converter (EcefKarney).
  • name - Optional name (str).
Raises:
  • EcefError - If latlonh0 not LatLon, Ecef9Tuple or scalar or lon0 not scalar for scalar latlonh0 or abs(lat) exceeds 90°.
  • TypeError - Invalid ecef, not EcefKarney.
Overrides: object.__init__

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

 

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

Arguments:
  • latlonh - Either a LatLon, an Ecef9Tuple or scalar latitude in degrees.
  • lon - Optional scalar longitude in degrees for scalar latlonh.
  • height - Optional height in meter, vertically above (or below) the surface of the ellipsoid.
  • M - Optionally, return the rotation EcefMatrix (bool).
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 EcefMatrix M 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°.

See Also: Note at method EcefKarney.forward.

reset (self, latlonh0=0, lon0=0, height0=0, name='')

 

Reset the local cartesian origin.

Arguments:
  • latlonh0 - Either a LatLon, an Ecef9Tuple or scalar latitude in degrees of the cartesian origin.
  • lon0 - Optional, scalar longitude of the cartesian origin in degrees for scalar latlonh0.
  • height0 - Optional, height of the cartesian origin in meter, vertically above (or below) the surface of the ellipsoid.
  • name - Optional, new name (str).
Raises:
  • EcefError - If latlonh0 not LatLon, Ecef9Tuple or scalar or lon0 not scalar for scalar latlonh0 or abs(lat) exceeds 90°.

reverse (self, xyz, y=None, z=None, M=False)

 

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

Arguments:
  • xyz - Either an Ecef9Tuple, an (x, y, z) 3-tuple or scalar local cartesian x coordinate in meter.
  • y - Local cartesian y coordinate in meter for scalar xyz and z.
  • z - Local cartesian z coordinate in meter for scalar xyz and y.
  • M - Optionally, return the rotation EcefMatrix (bool).
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, optional EcefMatrix M and datum if available.
Raises:

See Also: Note at method EcefKarney.reverse.

toStr (self, prec=9)

 

Return this EcefCartesian as a string.

Arguments:
  • prec - Optional precision, number of decimal digits (0..9).
Returns:
This EcefCartesian representation (str).
Raises:
Overrides: named._Named.toStr

Property Details

ecef

Get the ECEF converter (EcefKarney).

Get method:
ecef(self) - Get the ECEF converter (EcefKarney).
Set method:
immutable(inst, value) - Throws an AttributeError, always.

height0

Get origin's height (meter).

Get method:
height0(self) - Get origin's height (meter).
Set method:
immutable(inst, value) - Throws an AttributeError, always.

lat0

Get origin's latitude (degrees).

Get method:
lat0(self) - Get origin's latitude (degrees).
Set method:
immutable(inst, value) - Throws an AttributeError, always.

lon0

Get origin's longitude (degrees).

Get method:
lon0(self) - Get origin's longitude (degrees).
Set method:
immutable(inst, value) - Throws an AttributeError, always.

M

Get the rotation matrix (EcefMatrix).

Get method:
M(self) - Get the rotation matrix (EcefMatrix).
Set method:
immutable(inst, value) - Throws an AttributeError, always.