Package pygeodesy :: Package triaxials
[frames] | no frames]

Package triaxials

Package of lazily imported modules triaxials.conformal3, triaxials.triaxial3 and triaxials.triaxial5 for triaxial ellipsoids.

Mostly transcoded to pure Python from Karney's GeographicLib 2.7 Triaxial<https:// GeographicLib.SourceForge.io/C++/doc/namespaceGeographicLib_1_1Triaxial.html classes and the experimental GeographicLib 2.52 Jacobi class.

Copyright (C) Charles Karney (2008-2024, 2024-2025) and licensed under the MIT/X11 License. For more information, see the GeographicLib 2.5.2 and 2.7 documentation.


Version: 25.12.04

Submodules

Classes
  TriaxialError
Raised for any cartesian or conformal triaxial issues.
  BetOmgGam5Tuple
5-Tuple (bet, omg, gam, scale, llk) with ellipsoidal lat- bet, longitude omg and meridian convergence gam all Angles, scale and kind llk set to LLK.CONFORMAL.
  Conformal3
Jacobi Conformal projection of triaxial ellipsoid using class Ang lat- and longitudes.
  Conformal3B
Jacobi Conformal projection on a triaxial ellipsoid specified by its middle semi-axis and shape.
  Conformal3Sphere
Jacobi Conformal projection on a spherical triaxial.
  Conformal5Tuple
5-Tuple (x, y, z, scale, llk) with the easting x and northing y projection, scale or NAN but with z=INT0 and kind llk=LLK.CONFORMAL always.
  BetOmgAlp5Tuple
5-Tuple (bet, omg, alp, h, llk) with ellipsoidal lat- bet, longitude omg and azimuth alp, all in Angles on and height h off the triaxial's surface and kind llk set to LLK.ELLIPSOIDAL.
  Cartesian5Tuple
5-Tuple (x, y, z, h, llk) with cartesian x, y and z coordinates on and height h above or below the triaxial's surface and kind llk set to the original LLK or None.
  PhiLamZet5Tuple
5-Tuple (phi, lam, zet, h, llk) with trixial lat- lat- phi, longitude lam and azimuth zet, all in Angles on and height h off the triaxial's surface and kind llk set to an LLK.
  Triaxial3
Ordered triaxial ellipsoid convering between cartesian and lat-/longitudes using using class Ang.
  Triaxial3B
Triaxial ellipsoid specified by its middle semi-axis and shape.
  BetaOmega2Tuple
2-Tuple (beta, omega) with ellipsoidal lat- and longitude beta and omega both in Radians (or Degrees).
  BetaOmega3Tuple
3-Tuple (beta, omega, height) with ellipsoidal lat- and longitude beta and omega both in Radians (or Degrees) and the height, rather the (signed) distance to the triaxial's surface (measured along the radial line to the triaxial's center) in meter, conventionally.
  Conformal
This is a Jacobi Conformal projection of a triaxial ellipsoid to a plane where the X and Y grid lines are straight.
  ConformalSphere
Alternate, Jacobi Conformal projection on a spherical triaxial.
  Conformal2Tuple
2-Tuple (x, y) with a Jacobi Conformal x and y projection, both in Radians (or Degrees).
  Triaxial
Ordered triaxial ellipsoid.
  Triaxial_
Unordered triaxial ellipsoid.
Functions
 
hartzell4(pov, los=False, tri_biax=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., **name)
Compute the intersection of a tri-/biaxial ellipsoid and a Line-Of-Sight from a Point-Of-View outside.
 
height4(x_xyz, y=None, z=None, tri_biax=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., normal=True, eps=2.220446049250313e-16, **name)
Compute the projection on and the height above or below a tri-/biaxial ellipsoid's surface.
Variables
  __all__ = _ALL_LAZY.triaxials
  LLK = LLK()
  Triaxial3s = Triaxial3s()
  Triaxials = Triaxials(Triaxial, Triaxial_)
  __getattr__ = _lazy_import_as(__name__)
Function Details

hartzell4 (pov, los=False, tri_biax=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., **name)

 

Compute the intersection of a tri-/biaxial ellipsoid and a Line-Of-Sight from a Point-Of-View outside.

Arguments:
  • pov - Point-Of-View outside the tri-/biaxial (Cartesian, Ecef9Tuple, LatLon or Vector3d).
  • los - Line-Of-Sight, direction to the tri-/biaxial (Los, Vector3d) or True for the normal, perpendicular, plumb to the surface of the tri-/biaxial or False or None to point to its center.
  • tri_biax - A triaxial (Triaxial, Triaxial_, Conformal or ConformalSphere) or biaxial ellipsoid (Datum, Ellipsoid, Ellipsoid2, a_f2Tuple) or spherical earth radius (scalar, conventionally in meter).
  • name - Optional name (str), overriding name="hartzell4".
Returns:
Vector4Tuple(x, y, z, h) on the tri-/biaxial's surface, with h the distance from pov to (x, y, z) along the los, all in meter, conventionally.
Raises:
  • TriaxialError - Invalid pov or pov inside the tri-/biaxial or invalid los or los points outside or away from the tri-/biaxial.
  • TypeError - Invalid tri_biax, ellipsoid or datum.

height4 (x_xyz, y=None, z=None, tri_biax=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., normal=True, eps=2.220446049250313e-16, **name)

 

Compute the projection on and the height above or below a tri-/biaxial ellipsoid's surface.

Arguments:
  • x_xyz - X component (scalar) or a cartesian (Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_xyz if scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • normal - If True, the projection is the perpendicular, plumb to the tri-/biaxial's surface, otherwise the radial line to the center of the tri-/biaxial (bool).
  • eps - Tolerance for root finding and validation (scalar), use a negative value to skip validation.
  • name - Optional name="height4" (str).
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 tri-/biaxial's surface in meter, conventionally.
Raises:
  • TriaxialError - Non-cartesian xyz, invalid eps, no convergence in root finding or validation failed.