pygeodesy.triaxials.triaxial3.Triaxial3

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:
  - Triaxial3B

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 0x7fc6ac85ac20>) 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`: `areaKT`, `area_p`, `hartzell4`, `height4`, `normal3d`, `normal4`, `sideOf`, `toBiaxial`, `toEllipsoid`, `toStr` Inherited from `named._NamedEnumItem`: `unregister` Inherited from `named._NamedBase`: `__repr__`, `__str__`, `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`: `R2`, `R3`, `Rauthalic`, `Rvolumetric`, `a`, `a2`, `abc3`, `areaRG`, `b`, `b2`, `c`, `c2`, `e2ab`, `e2ac`, `e2bc`, `isFlat`, `isOrdered`, `isSpherical`, `perimeter4ab`, `perimeter4ac`, `perimeter4bc`, `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 0x7fc6ac85ac20>) |
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: `TriaxialError` - If `triaxial` is not a Triaxial3. See Also: Functions hartzell4 and height4 and methods.