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

Module triaxial5

Triaxal ellipsoid classes Triaxial and unordered Triaxial_ and Jacobi conformal projections Conformal and ConformalSphere, transcoded from Karney's GeographicLib 2.5.2 C++ class JacobiConformal to pure Python and miscellaneous classes BetaOmega2Tuple, BetaOmega3Tuple and Conformal2Tuple, all kept for backward copability.

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


See Also: Geodesics on a triaxial ellipsoid and Triaxial coordinate systems and their geometrical interpretation.

Version: 25.11.29

Classes
  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.
  Conformal2Tuple
2-Tuple (x, y) with a Jacobi Conformal x and y projection, both in Radians (or Degrees).
  Triaxial_
Unordered triaxial ellipsoid.
  Triaxial
Ordered triaxial ellipsoid.
  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.
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_triaxial5
  Triaxials = Triaxials(Triaxial, Triaxial_)
Some pre-defined Triaxials, all lazily instantiated.
  T = Triaxial_(6378388.0, 6378318.0, 6356911.9461)
  t = [NN]+ Triaxials.toRepr(all= True, asorted= True).split(_NL_)
  Triaxials.Amalthea
Triaxial(name='Amalthea', a=125000, b=73000, c=64000, e2ab=0.658944, e2bc=0.231375493, e2ac=0.737856, volume=2446253479595252, area=93239507787.490371704, area_p=93212299402.670425415)
  Triaxials.Ariel
Triaxial(name='Ariel', a=581100, b=577900, c=577700, e2ab=0.01098327, e2bc=0.000692042, e2ac=0.011667711, volume=812633172614203904, area=4211301462766.580078125, area_p=4211301574065.829589844)
  Triaxials.Earth
Triaxial(name='Earth', a=6378173.435, b=6378103.9, c=6356754.399999999, e2ab=0.000021804, e2bc=0.006683418, e2ac=0.006705077, volume=1083208241574987694080, area=510065911057441.0625, area_p=510065915922713.6875)
  Triaxials.Enceladus
Triaxial(name='Enceladus', a=256600, b=251400, c=248300, e2ab=0.040119337, e2bc=0.024509841, e2ac=0.06364586, volume=67094551514082248, area=798618496278.596679688, area_p=798619018175.109985352)
  Triaxials.Europa
Triaxial(name='Europa', a=1564130, b=1561230, c=1560930, e2ab=0.003704694, e2bc=0.000384275, e2ac=0.004087546, volume=15966575194402123776, area=30663773697323.51953125, area_p=30663773794562.45703125)
  Triaxials.Io
Triaxial(name='Io', a=1829400, b=1819300, c=1815700, e2ab=0.011011391, e2bc=0.003953651, e2ac=0.014921506, volume=25313121117889765376, area=41691875849096.7421875, area_p=41691877397441.2109375)
  Triaxials.Mars
Triaxial(name='Mars', a=3394600, b=3393300, c=3376300, e2ab=0.000765776, e2bc=0.009994646, e2ac=0.010752768, volume=162907283585817247744, area=144249140795107.4375, area_p=144249144150662.15625)
  Triaxials.Mimas
Triaxial(name='Mimas', a=207400, b=196800, c=190600, e2ab=0.09960581, e2bc=0.062015624, e2ac=0.155444317, volume=32587072869017956, area=493855762247.691833496, area_p=493857714107.9375)
  Triaxials.Miranda
Triaxial(name='Miranda', a=240400, b=234200, c=232900, e2ab=0.050915557, e2bc=0.011070811, e2ac=0.061422691, volume=54926187094835456, area=698880863325.757080078, area_p=698881306767.950317383)
  Triaxials.Moon
Triaxial(name='Moon', a=1735550, b=1735324, c=1734898, e2ab=0.000260419, e2bc=0.000490914, e2ac=0.000751206, volume=21886698675223740416, area=37838824729886.09375, area_p=37838824733332.21875)
  Triaxials.Tethys
Triaxial(name='Tethys', a=535600, b=528200, c=525800, e2ab=0.027441672, e2bc=0.009066821, e2ac=0.036259685, volume=623086233855821440, area=3528073490771.394042969, area_p=3528074261832.738769531)
  Triaxials.WGS84_3
Triaxial(name='WGS84_3', a=6378171.36, b=6378101.609999999, c=6356751.84, e2ab=0.000021871, e2bc=0.006683505, e2ac=0.00670523, volume=1083207064030173855744, area=510065541435967.4375, area_p=510065546301413.5625)
  Triaxials.WGS84_35
Triaxial(name='WGS84_35', a=6378172, b=6378102, c=6356752.314245179, e2ab=0.00002195, e2bc=0.006683478, e2ac=0.006705281, volume=1083207319768789942272, area=510065621722018.125, area_p=510065626587483.3125)
  Triaxials.WGS84_3r
Triaxial(name='WGS84_3r', a=6378172, b=6378102, c=6356752, e2ab=0.00002195, e2bc=0.006683577, e2ac=0.00670538, volume=1083207266220584468480, area=510065604942135.8125, area_p=510065609807745.0)
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.