Package pygeodesy :: Module triaxials :: Class Triaxial
[frames] | no frames]

Class Triaxial

  object --+        
           |        
named._Named --+    
               |    
named._NamedBase --+
                   |
                  Triaxial
Known Subclasses:

Triaxial ellipsoid with semi-axes a, b and c, oriented such that the large principal ellipse ab is the equator Z=0, beta=0, while the small principal ellipse ac is the prime meridian, Y=0, omega=0. The four umbilic points, abs(omega) = abs(beta) = PI/2, lie on the middle principal ellipse bc in plane X=0, omega=PI/2.


Note: Geodetic lat- and longitudes are in degrees, ellipsoidal lat- and longitude beta and omega are in Radians by default (or Degrees.

Instance Methods
 
__init__(self, a, b, c, name='')
New Triaxial.
 
__str__(self)
Default str(self).
 
area_p(self, p=1.6075)
Approximate the surface area (meter squared).
 
forwardBetaOmega(self, beta, omega, height=0, name='')
Convert ellipsoidal lat- and longitude beta, omega and height to cartesian.
 
forwardBetaOmega_(self, sbeta, cbeta, somega, comega, name='')
Convert ellipsoidal lat- and longitude beta and omega to cartesian coordinates on the ellipsoid's surface.
 
forwardLatLon(self, lat, lon, height=0, name='')
Convert geodetic lat-, longitude and heigth to cartesian.
 
forwardLatLon_(self, slat, clat, slon, clon, height=0, name='')
Convert geodetic lat-, longitude and heigth to cartesian.
 
hartzell(self, pov, los=None, name='')
Compute the intersection of a Line-Of-Sight from a Point-Of-View in space with the surface of this triaxial.
 
height4(self, x_xyz, y=None, z=None, normal=True, eps=2.220446049250313e-16)
Compute the projection on and the height of a cartesian above or below this triaxial's surface.
 
reverseBetaOmega(self, x, y, z, name='')
Convert cartesian to ellipsoidal lat- and longitude, beta, omega and height.
 
reverseLatLon(self, x, y, z, name='')
Convert cartesian to geodetic lat-, longitude and height.
 
toStr(self, prec=9, name='', **unused)
Return this Triaxial as a string.

Inherited from named._NamedBase: __repr__, others, toRepr

Inherited from named._Named: __imatmul__, __matmul__, __rmatmul__, attrs, classof, copy, dup, methodname, rename, toStr2

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

Properties
  a
Get the largest semi-axis (meter, conventionally).
  area
Get the surface area (meter squared).
  b
Get the middle semi-axis (meter, same units as a).
  c
Get the smallest semi-axis (meter, same units as a).
  e2ab
Get the ab ellipse' (1st) eccentricity squared (scalar), 1 - (b / a)**2.
  e2bc
Get the bc ellipse' (1st) eccentricity squared (scalar), 1 - (c / b)**2.
  e2ac
Get the ac ellipse' (1st) eccentricity squared (scalar), 1 - (c / a)**2.
  volume
Get the volume (meter**3), 4 / 3 * PI * a * b * c.

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

Inherited from object: __class__

Method Details

__init__ (self, a, b, c, name='')
(Constructor)

 

New Triaxial.

Arguments:
  • a - The largest semi-axis (meter, conventionally).
  • b - The middle semi-axis (meter, same units as a).
  • c - The smallest semi-axis (meter, same units as a).
  • name - Optional name (str).
Raises:
Overrides: object.__init__

Note: The semi-axes must be ordered as a >= b >= c > 0 and be ellipsoidal, a > c.

__str__ (self)
(Informal representation operator)

 

Default str(self).

Overrides: object.__str__
(inherited documentation)

area_p (self, p=1.6075)

 

Approximate the surface area (meter squared).

Arguments:
  • p - Exponent (scalar), 1.6 for near-spherical or 1.5849625007 for "near-flat" triaxials

See Also: Surface area.

forwardBetaOmega (self, beta, omega, height=0, name='')

 

Convert ellipsoidal lat- and longitude beta, omega and height to cartesian.

Arguments:
  • beta - Ellipsoidal latitude (radians or Degrees).
  • omega - Ellipsoidal longitude (radians or Degrees).
  • height - Height above or below the ellipsoid's surface (meter, same units as this triaxial's a, b and c semi-axes).
  • name - Optional name (str).
Returns:
A Vector3Tuple(x, y, z).

See Also: Expressions (23-25).

forwardBetaOmega_ (self, sbeta, cbeta, somega, comega, name='')

 

Convert ellipsoidal lat- and longitude beta and omega to cartesian coordinates on the ellipsoid's surface.

Arguments:
  • sbeta - Ellipsoidal latitude sin(beta) (scalar).
  • cbeta - Ellipsoidal latitude cos(beta) (scalar).
  • somega - Ellipsoidal longitude sin(omega) (scalar).
  • comega - Ellipsoidal longitude cos(omega) (scalar).
  • name - Optional name (str).
Returns:
A Vector3Tuple(x, y, z).

forwardLatLon (self, lat, lon, height=0, name='')

 

Convert geodetic lat-, longitude and heigth to cartesian.

Arguments:
  • lat - Geodetic latitude (degrees).
  • lon - Geodetic longitude (degrees).
  • height - Height above the ellipsoid (meter, same units as this triaxial's a, b and c axes).
  • name - Optional name (str).
Returns:
A Vector3Tuple(x, y, z).

See Also: Expressions (9-11).

forwardLatLon_ (self, slat, clat, slon, clon, height=0, name='')

 

Convert geodetic lat-, longitude and heigth to cartesian.

Arguments:
  • slat - Geodetic latitude sin(lat) (scalar).
  • clat - Geodetic latitude cos(lat) (scalar).
  • slon - Geodetic longitude sin(lon) (scalar).
  • clon - Geodetic longitude cos(lon) (scalar).
  • height - Height above the ellipsoid (meter, same units as this triaxial's axes a, b and c).
  • name - Optional name (str).
Returns:
A Vector3Tuple(x, y, z).

See Also: Expressions (9-11).

hartzell (self, pov, los=None, name='')

 

Compute the intersection of a Line-Of-Sight from a Point-Of-View in space with the surface of this triaxial.

Arguments:
  • pov - Point-Of-View outside this triaxial (Cartesian, Ecef9Tuple or Vector3d).
  • los - Line-Of-Sight, direction to this triaxial (Vector3d) or None to point to this triaxial's center.
  • name - Optional name (str).
Returns:
Vector4Tuple(x, y, z, h) on this triaxial's surface.
Raises:
  • TriaxialError - Null pov or los vector, pov is inside this triaxial or los points outside this triaxial or points in an opposite direction.
  • TypeError - Invalid pov or los.

See Also: Function pygeodesy.tyr3d for los and Hartzell, S. Satellite Line-of-Sight Intersection with Earth.

height4 (self, x_xyz, y=None, z=None, normal=True, eps=2.220446049250313e-16)

 

Compute the projection on and the height of a cartesian above or below this triaxial's surface.

Arguments:
  • x_xyz - X component (scalar) or a cartesian (Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), needed if x_xyz if scalar.
  • z - Z component (scalar), needed if x_xyz if scalar.
  • normal - If True the projection is the nearest point on this triaxial's surface, otherwise the intersection of the radial line to the center and this triaxial's surface.
  • eps - Tolerance for root finding (scalar).
Returns:
Vector4Tuple(x, y, z, h) with the cartesian coordinates x, y and z of the projection on or the intersection with and with the height h above or below the triaxial's surface in meter, conventionally.
Raises:
  • TriaxialError - Non-cartesian xyz, invalid eps or no convergence in root finding.

See Also: Eberly.

reverseBetaOmega (self, x, y, z, name='')

 

Convert cartesian to ellipsoidal lat- and longitude, beta, omega and height.

Arguments:
  • x - X coordinate along a-axis (meter, same units as the axes).
  • y - Y coordinate along b-axis (meter, same units as the axes).
  • z - Z coordinate along c-axis (meter, same units as the axes).
  • name - Optional name (str).
Returns:
A BetaOmega3Tuple(beta, omega, height) with beta and omega in Radians and height in meter, same units as this triaxial's axes.

See Also: Expressions (21-22).

reverseLatLon (self, x, y, z, name='')

 

Convert cartesian to geodetic lat-, longitude and height.

Arguments:
  • x - X coordinate along a-axis (meter, same units as the axes).
  • y - Y coordinate along b-axis (meter, same units as the axes).
  • z - Z coordinate along c-axis (meter, same units as the axes).
  • name - Optional name (str).
Returns:
A LatLon3Tuple(lat, lon, height) with lat and lon in degrees and height in meter, same units as this triaxial's axes.

See Also: Expressions (4-5).

toStr (self, prec=9, name='', **unused)

 

Return this Triaxial as a string.

Arguments:
  • prec - Precision, number of decimal digits (0..9).
  • name - Override name (str) or None to exclude this ellipsoid's name.
Returns:
This Triaxial's attributes (str).
Overrides: named._Named.toStr

Property Details

a

Get the largest semi-axis (meter, conventionally).

Get method:
a(self) - Get the largest semi-axis (meter, conventionally).
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

area

Get the surface area (meter squared).

Get method:
area(self) - Get the surface area (meter squared).
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

See Also: Surface area.

b

Get the middle semi-axis (meter, same units as a).

Get method:
b(self) - Get the middle semi-axis (meter, same units as a).
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

c

Get the smallest semi-axis (meter, same units as a).

Get method:
c(self) - Get the smallest semi-axis (meter, same units as a).
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

e2ab

Get the ab ellipse' (1st) eccentricity squared (scalar), 1 - (b / a)**2.

Get method:
e2ab(self) - Get the ab ellipse' (1st) eccentricity squared (scalar), 1 - (b / a)**2.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

e2bc

Get the bc ellipse' (1st) eccentricity squared (scalar), 1 - (c / b)**2.

Get method:
e2bc(self) - Get the bc ellipse' (1st) eccentricity squared (scalar), 1 - (c / b)**2.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

e2ac

Get the ac ellipse' (1st) eccentricity squared (scalar), 1 - (c / a)**2.

Get method:
e2ac(self) - Get the ac ellipse' (1st) eccentricity squared (scalar), 1 - (c / a)**2.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

volume

Get the volume (meter**3), 4 / 3 * PI * a * b * c.

Get method:
volume(self) - Get the volume (meter**3), 4 / 3 * PI * a * b * c.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.