Package pygeodesy :: Package triaxials :: Module triaxial3 :: Class Triaxial3
[frames] | no frames]

Class Triaxial3

      object --+                        
               |                        
    named._Named --+                    
                   |                    
    named._NamedBase --+                
                       |                
    named._NamedEnumItem --+            
                           |            
bases._UnOrderedTriaxialBase --+        
                               |        
      bases._OrderedTriaxialBase --+    
                                   |    
                bases._Triaxial3Base --+
                                       |
                                      Triaxial3
Known Subclasses:

Ordered triaxial ellipsoid convering between cartesian and lat-/longitudes using using class Ang.


See Also: Triaxial for details.

Instance Methods
 
forwardBetOmg(self, bet, omg, height=0, **unit_name)
Convert an ellipsoidal lat- and longitude to a cartesian on this triaxial's surface.
 
forwardBetaOmega(self, bet, omg, height=0, **unit_name)
Convert an ellipsoidal lat- and longitude to a cartesian on this triaxial's surface.
 
forwardBetaOmega_(self, sbeta, cbeta, somega, comega, **name)
DEPRECATED on 2025.11.15, like Triaxial.forwardBetaOmega_.
 
forwardBetOmgAlp2(self, bet, omg, alp, height=0, **unit_name)
Convert an ellipsoidal lat-, longitude and heading to a cartesian and a direction on this triaxial's surface.
 
forwardCartesian(self, x_ct, y=None, z=None, normal=True, **eps_llk_name)
Project any cartesian onto this triaxial's surface.
 
forwardLatLon(self, lat, lon, height=0, llk='ELLIPSOIDAL', **unit_name)
Convert any lat-/longitude kind to a cartesian on this triaxial's surface.
 
forwardPhiLam(self, phi, lam, height=0, llk='GEODETIC', **unit_name)
Convert any lat-/longitude kind to a cartesian on this triaxial's surface.
 
forwardPhiLamZet2(self, phi, lam, zet, height=0, llk='GEODETIC', **unit_name)
Convert a lat-, longitude and heading to a cartesian and a direction on this trixial's surface.
 
normed2(self, x_ct, y=None, z=None, dir3d=None, **llk_name)
Scale a cartesian and direction to this triaxial's surface.
 
reverseBetOmg(self, x_ct, y=None, z=None, **llk_name)
Convert a cartesian on this triaxial's surface to an ellipsoidal lat-/longitude.
 
reverseBetaOmega(self, x_ct, y=None, z=None, **llk_name)
Convert a cartesian on this triaxial's surface to an ellipsoidal lat-/longitude.
 
reverseBetOmgAlp(self, x_ct, y=None, z=None, dir3d=None, **llk_name)
Convert a cartesian and direction on this triaxial's surface to an ellipsoidal lat-, longitude and heading.
 
reverseCartesian(self, x_ct, y=None, z=None, height=0, normal=True, **llk_name)
"Unproject" a cartesian off this triaxial's surface.
 
reverseLatLon(self, x_ct, y=None, z=None, **llk_name)
Convert a cartesian on this triaxial's surface to a lat-/longitude.
 
reversePhiLam(self, x_ct, y=None, z=None, **llk_name)
Convert a cartesian on this triaxial's surface to lat-/longitude.
 
reversePhiLamZet(self, x_ct, y=None, z=None, dir3d=None, **llk_name)
Convert a cartesian and direction to lat-, longitude and azimuth.
 
random2(self, llk='ELLIPSOIDAL', both=False, _rand=<built-in method random of Random object at 0x7fdc52894e20>)
Return a random cartesian with/out direction on this triaxial's surface.
 
toOther(self, lat, lon, llk1='GEODETIC', llk2='GEODETIC', **unit_name)
Convert one lat-/longitude kind to an other.
 
toTriaxial5(self, x_ct, y=None, z=None, **triaxial_h_llk_name)
Find the closest cartesian on this or on another triaxial's surface.

Inherited from bases._OrderedTriaxialBase: __init__

Inherited from bases._UnOrderedTriaxialBase: __str__, area_p, hartzell4, height4, normal3d, normal4, sideOf, toBiaxial, toEllipsoid, toStr

Inherited from named._NamedEnumItem: unregister

Inherited from named._NamedBase: __repr__, others, toRepr

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

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

Properties

Inherited from bases._Triaxial3Base: Lon0, e2, isBiaxial, isOblate, isProlate, k2, kp2

Inherited from bases._OrderedTriaxialBase: area

Inherited from bases._UnOrderedTriaxialBase: a, a2, b, b2, c, c2, e2ab, e2ac, e2bc, isOrdered, isSpherical, unOrdered, volume

Inherited from named._NamedEnumItem: name

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

Inherited from object: __class__

Method Details

forwardBetOmg (self, bet, omg, height=0, **unit_name)

 

Convert an ellipsoidal lat- and longitude to a cartesian on this triaxial's surface.

Arguments:
  • bet - Ellipsoidal latitude (Ang or unit).
  • omg - Ellipsoidal longitude (Ang or unit).
  • height - Height above or below this triaxial's surface (meter, same units as this triaxial's semi-axes).
  • unit_name - Optional name=NN (str) and scalar unit=Radians (or Degrees).
Returns:
A Cartesian5Tuple(x, y, z, h, llk) with h=height and kind llk=LLK.ELLIPSOIDAL.

See Also: Method Triaxial3.reverseBetOmg.

forwardBetaOmega (self, bet, omg, height=0, **unit_name)

 

Convert an ellipsoidal lat- and longitude to a cartesian on this triaxial's surface.

Arguments:
  • bet - Ellipsoidal latitude (Ang or unit).
  • omg - Ellipsoidal longitude (Ang or unit).
  • height - Height above or below this triaxial's surface (meter, same units as this triaxial's semi-axes).
  • unit_name - Optional name=NN (str) and scalar unit=Radians (or Degrees).
Returns:
A Cartesian5Tuple(x, y, z, h, llk) with h=height and kind llk=LLK.ELLIPSOIDAL.

See Also: Method Triaxial3.reverseBetOmg.

forwardBetOmgAlp2 (self, bet, omg, alp, height=0, **unit_name)

 

Convert an ellipsoidal lat-, longitude and heading to a cartesian and a direction on this triaxial's surface.

Arguments:
  • bet - Ellipsoidal latitude (Ang or unit).
  • omg - Ellipsoidal longitude (Ang or unit).
  • alp - Azimuth of the heading (Ang, unit or None).
  • height - Height above or below this triaxial's surface (meter, same units as this triaxial's semi-axes).
  • unit_name - Optional name=NN (str), scalar unit=Radians (or Degrees).
Returns:
2-Tuple (cartesian, direction) with cartesian a Cartesian5Tuple(x, y, z, h, llk) with h=height, kind llk=LLK.ELLIPSOIDAL and direction a Vector3d tangent to this triaxial's surface or None.

See Also: Method Triaxial3.reverseBetOmgAlp.

forwardCartesian (self, x_ct, y=None, z=None, normal=True, **eps_llk_name)

 

Project any cartesian onto this triaxial's surface.

Arguments:
  • x_ct - X component (scalar) or a cartesian (Cartesian5Tuple or any Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_xyz is scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • normal - If True, the projection is perpendicular to the surface, otherwise radial to the center of this triaxial (bool).
  • eps_llk_name - Root finder tolerance eps=EPS, kind llk=None overriding x_ct.llk and optional name="height4" (str).
Returns:
A Cartesian5Tuple(x, y, z, h, llk).

See Also: Method Triaxial3.reverseCartesian to reverse the projection and function height4 for more details.

forwardLatLon (self, lat, lon, height=0, llk='ELLIPSOIDAL', **unit_name)

 

Convert any lat-/longitude kind to a cartesian on this triaxial's surface.

Arguments:
  • lat - Latitude (Ang or unit).
  • lon - Longitude (Ang or unit).
  • height - Height above or below this triaxial's surface (meter, same units as this triaxial's semi-axes).
  • llk - The kind (an LLK).
  • unit_name - Optional name=NN (str) and scalar unit=Degrees (or Radians).
Returns:
A Cartesian5Tuple(x, y, z, h, llk) with height h=height and kind llk=llk.

See Also: Method Triaxial3.reverseLatLon.

forwardPhiLam (self, phi, lam, height=0, llk='GEODETIC', **unit_name)

 

Convert any lat-/longitude kind to a cartesian on this triaxial's surface.

Arguments:
  • phi - Latitude (Ang or unit).
  • lam - Longitude (Ang or unit).
  • height - Height above or below this triaxial's surface (meter, same units as this triaxial's semi-axes).
  • llk - The kind (an LLK).
  • unit_name - Optional name=NN (str) and scalar unit=Radians (or Degrees).
Returns:
A Cartesian5Tuple(x, y, z, h, llk) with height h=0 and kind llk=llk.

Note: Longitude lam -= Lon0 if llk is LLK.GEODETIC_LON0.

See Also: Method Triaxial3.reverseLatLon.

forwardPhiLamZet2 (self, phi, lam, zet, height=0, llk='GEODETIC', **unit_name)

 

Convert a lat-, longitude and heading to a cartesian and a direction on this trixial's surface.

Arguments:
  • phi - Latitude (Ang or unit).
  • lam - Longitude (Ang or unit).
  • zet - Azimuth of the heading (Ang, unit or None).
  • height - Height above or below this triaxial's surface (meter, same units as this triaxial's semi-axes).
  • llk - The kind (an LLK).
  • unit_name - Optional name=NN (str) and scalar unit=Radians (or Degrees).
Returns:
2-Tuple (cartesian, direction) with the cartesian a Cartesian5Tuple(x, y, z, h, llk) with height h=0, kind llk=llk and direction, a Vector3d on and tangent to this triaxial's surface.

Note: Longitude lam -= Lon0 if llk is LLK.GEODETIC_LON0.

See Also: Method Triaxial3.reversePhiLamZet.

normed2 (self, x_ct, y=None, z=None, dir3d=None, **llk_name)

 

Scale a cartesian and direction to this triaxial's surface.

Arguments:
  • x_ct - X component (scalar) or a cartesian (Cartesian5Tuple or any Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_xyz is scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • dir3d - The direction (Vector3d or None).
  • llk_name - Optional name=NN (str) and kind llk=None overriding x_ct.llk.
Returns:
2-Tuple (cartesian, direction) with the cartesian a Cartesian5Tuple(x, y, z, h, llk) and direction, a Vector3d tangent to this triaxial's surface or None iff dir3d is None.

reverseBetOmg (self, x_ct, y=None, z=None, **llk_name)

 

Convert a cartesian on this triaxial's surface to an ellipsoidal lat-/longitude.

Arguments:
  • x_ct - X component (scalar) or a cartesian (Cartesian5Tuple or any Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_xyz is scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • llk_name - Optional name=NN (str) and kind llk=None overriding x_ct.llk.
Returns:
A BetOmgAlp5Tuple(bet, omg, alp, h, llk) with alp=None and llk=LLK.ELLIPSOIDAL.

reverseBetaOmega (self, x_ct, y=None, z=None, **llk_name)

 

Convert a cartesian on this triaxial's surface to an ellipsoidal lat-/longitude.

Arguments:
  • x_ct - X component (scalar) or a cartesian (Cartesian5Tuple or any Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_xyz is scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • llk_name - Optional name=NN (str) and kind llk=None overriding x_ct.llk.
Returns:
A BetOmgAlp5Tuple(bet, omg, alp, h, llk) with alp=None and llk=LLK.ELLIPSOIDAL.

reverseBetOmgAlp (self, x_ct, y=None, z=None, dir3d=None, **llk_name)

 

Convert a cartesian and direction on this triaxial's surface to an ellipsoidal lat-, longitude and heading.

Arguments:
  • x_ct - X component (scalar) or a cartesian (Cartesian5Tuple or any Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_ct is scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • dir3d - The direction (Vector3d or None).
  • llk_name - Optional name=NN (str) and kind llk=None overriding x_ct.llk.
Returns:
A BetOmgAlp5Tuple(bet, omg, alp, h, llk) with alp=None if dir3d is None and llk=LLK.ELLIPSOIDAL.

reverseCartesian (self, x_ct, y=None, z=None, height=0, normal=True, **llk_name)

 

"Unproject" a cartesian off this triaxial's surface.

Arguments:
  • x_ct - X component (scalar) or a cartesian (Cartesian5Tuple or any Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_xyz is scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • height - Height above or below this triaxial's surface (meter, same units as this triaxial's semi-axes).
  • normal - If True, height is perpendicular to the surface, otherwise radial to the center of this triaxial (bool).
  • llk_name - Optional name=NN (str) and kind llk overriding x_ct.llk.
Returns:
Cartesian5Tuple(x, y, z, h, llk).
Raises:
  • TrialError - Cartesian x_ct or (x, y, z) not on this triaxial's surface.

See Also: Methods Triaxial3.forwardCartesian.

reverseLatLon (self, x_ct, y=None, z=None, **llk_name)

 

Convert a cartesian on this triaxial's surface to a lat-/longitude.

Arguments:
  • x_ct - X component (scalar) or a cartesian (Cartesian5Tuple or any Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_xyz is scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • llk_name - Optional name=NN (str) and kind llk=None overriding x_ct.llk.
Returns:
A BetOmgAlp5Tuple(bet, omg, alp, h, llk) with alp=None or a PhiLamZet5Tuple(phi, lam, zet, h, llk) with zet=None.

Note: Longitude lam += Lon0 if llk is LLK.GEODETIC_LON0.

reversePhiLam (self, x_ct, y=None, z=None, **llk_name)

 

Convert a cartesian on this triaxial's surface to lat-/longitude.

Arguments:
  • x_ct - X component (scalar) or a cartesian (Cartesian5Tuple or any Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_xyz is scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • llk_name - Optional name=NN (str) and kind llk=None overriding x_ct.llk.
Returns:
A PhiLamZet5Tuple(phi, lam, zet, h, llk) with zet=None.

Note: Longitude lam += Lon0 if llk is LLK.GEODETIC_LON0.

reversePhiLamZet (self, x_ct, y=None, z=None, dir3d=None, **llk_name)

 

Convert a cartesian and direction to lat-, longitude and azimuth.

Arguments:
  • x_ct - X component (scalar) or a cartesian (Cartesian5Tuple or any Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_xyz is scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • dir3d - Optional direction (Vector3d or None).
  • llk_name - Optional name=NN (str) and kind llk=None overriding x_ct.llk.
Returns:
A PhiLamZet5Tuple(phi, lam, zet, h, llk) with zet=None if dir3d is None.

Note: Longitude lam += Lon0 if llk is LLK.GEODETIC_LON0.

random2 (self, llk='ELLIPSOIDAL', both=False, _rand=<built-in method random of Random object at 0x7fdc52894e20>)

 

Return a random cartesian with/out direction on this triaxial's surface.

Arguments:
  • llk - The kind (an LLK).
  • both - If True, generate a random direction (bool).
Returns:
2-Tuple (cartesian, direction) with the cartesian a Cartesian5Tuple(x, y, z, h, llk) and direction, a Vector3d tangent to this triaxial's surface or None iff both is False.

toOther (self, lat, lon, llk1='GEODETIC', llk2='GEODETIC', **unit_name)

 

Convert one lat-/longitude kind to an other.

Arguments:
  • lat - Latitude (Ang or unit).
  • lon - Longitude (Ang or unit).
  • llk1 - The given kind (an LLK).
  • llk2 - The result kind (an LLK).
  • name - Optional name=NN (str).
Returns:
A BetOmgAlp5Tuple(bet, omg, alp, h, llk) with alp=None or a PhiLamZet5Tuple(phi, lam, zet, h, llk) with zet=None.

See Also: Methods Triaxial3.forwardLatLon and -reverseLatLon.

toTriaxial5 (self, x_ct, y=None, z=None, **triaxial_h_llk_name)

 

Find the closest cartesian on this or on another triaxial's surface.

Arguments:
  • x_ct - X component (scalar) or a cartesian (Cartesian5Tuple or any Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_xyz is scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • triaxial_llk_name - Optional triaxial=self (Triaxial3), name=NN (str), height h and kind llk overriding x_ct.h respectively x_ct.llk.
Returns:
Cartesian5Tuple(x, y, z, h, llk)
Raises:

See Also: Functions hartzell4 and height4 and methods.