Package pygeodesy :: Module datum :: Class Ellipsoid |
[frames] | no frames]

# Class Ellipsoid

      object --+
               |
    named._Named --+
                   |
    named._NamedBase --+
                       |
    named._NamedEnumItem --+
                           |
                          Ellipsoid

Ellipsoid with major and minor radius, semi-axis, (inverse) flattening and other pre-computed, frequently used attributes.

Instance Methods
__init__(self, a, b, f_, name=`'````'`) New Ellipsoid. |
__eq__(self, other) Compare this and an other ellipsoid. |
distance2(self, lat0, lon0, lat1, lon1) Approximate the distance and (initial) bearing between two points based on the radii of curvature. |
ecef(self, Ecef=None) Return ECEF converter. |
e2s(self, s) Compute norm sqrt(1 - e2 * s**2). |
e2s2(self, s) Compute 1 - e2 * s**2. |
es_atanh(self, x) Compute es * atanh(es * x) where es is the signed 1st Eccentricity. |
es_tauf(self, taup) Compute Karney's equations (19), (20) and (21). |
es_taupf(self, tau) Compute Karney's equations (7), (8) and (9). |
m2degrees(self, meter) Convert distance to angle along equator. |
Rgeocentric(self, lat) Compute the geocentric earth radius at the given latitude. |
Rlat(self, lat) Approximate the earth radius at the given latitude. |
roc2(self, lat) Compute the meridional and prime-vertical radii of curvature at the given latitude. |
rocBearing(self, lat, bearing) Compute the directional radius of curvature at the given latitude and compass direction. |
rocGauss(self, lat) Compute the Gaussian radius of curvature at the given latitude. |
rocMean(self, lat) Compute the mean radius of curvature at the given latitude. |
rocMeridional(self, lat) Compute the meridional radius of curvature at the given latitude. |
rocPrimeVertical(self, lat) Compute the prime-vertical radius of curvature at the given latitude. |
toStr(self, prec=9) Return this ellipsoid as a text string. |
Inherited from `named._NamedEnumItem`: `__ne__`, `unregister` Inherited from `named._NamedBase`: `__repr__`, `__str__`, `others`, `toStr2` Inherited from `named._Named`: `_dot_`, `attrs`, `classof`, `copy` Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__sizeof__`, `__subclasshook__`

Class Variables
| _f_ = `0` Inverse flattening: a / (a - b) = 1 / f
| _a2_ = `None` (1 / a**2) # for ellipsiodalNvector.Cartesian.toNvector

Properties
| a
| a2
| a2_
| a_b
| a2_b
| area
| A
| AlphaKs
| b
| b2
| b2_a
| BetaKs
| c
| e
| e12
| e2
| e22
| e4
| es
| es_c
| f
| f_
| f2
| geodesic
| isEllipsoidal
| isSpherical
| KsOrder Property to get and set the Krüger series' order (`int`).
| Mabcd
| n
| R1
| R2
| R3
| Rr
| Rs
| volume
Inherited from `named._NamedEnumItem`: `name` Inherited from `named._Named`: `classname`, `classnaming`, `named`, `named2` Inherited from `object`: `__class__`

Method Details

### __init__(self, a, b, f_, name=`'````'`) (Constructor) |
New Ellipsoid. Parameters: `a` - Semi-major, equatorial axis (`meter`). `b` - Semi-minor, polar axis (`meter`). `f_` - Inverse flattening: a / (a - b) (`float` >>> 1.0). `name` - Optional, unique name (`str`). Raises: `NameError` - Ellipsoid with that `name` already exists. Overrides: object.__init__

### __eq__(self, other) (Equality operator) |
Compare this and an other ellipsoid. Parameters: `other` - The other ellipsoid (Ellipsoid). Returns: `True` if equal, `False` otherwise.

### distance2(self, lat0, lon0, lat1, lon1) |
Approximate the distance and (initial) bearing between two points based on the radii of curvature. Suitable only for short distances up to a few hundred Km or Miles and only between points not near-polar. Parameters: `lat0` - From latitude (`degrees`). `lon0` - From longitude (`degrees`). `lat1` - To latitude (`degrees`). `lon1` - To longitude (`degrees`). Returns: A Distance2Tuple`(distance, initial)`. See Also: Local, flat earth approximation.

### ecef(self, Ecef=None) |
Return ECEF converter. Parameters: `Ecef` - ECEF class to use (EcefKarney, EcefVeness or EcefYou). Returns: An ECEF converter for this `ellipsoid` (EcefKarney, EcefVeness or EcefYou). Raises: `TypeError` - Invalid `Ecef`.

### e2s(self, s) |
Compute norm sqrt(1 - e2 * s**2). Parameters: `s` - S value (`scalar`). Returns: Norm (`float`). Raises: `ValueError` - Invalid `s`.

### e2s2(self, s) |
Compute 1 - e2 * s**2. Parameters: `s` - S value (`scalar`). Returns: Result (`float`). Raises: `ValueError` - Invalid `s`.

### es_atanh(self, x) |
Compute es * atanh(es * x) where es is the signed 1st Eccentricity. See Also: Function Math::eatanhe.

### es_tauf(self, taup) |
Compute Karney's equations (19), (20) and (21). See Also: Function Math::tauf.

### es_taupf(self, tau) |
Compute Karney's equations (7), (8) and (9). See Also: Function Math::taupf.

### m2degrees(self, meter) |
Convert distance to angle along equator. Parameters: `meter` - Distance (`meter`). Returns: Angle (`degrees`).

### Rgeocentric(self, lat) |
Compute the geocentric earth radius at the given latitude. Parameters: `lat` - Latitude (`degrees90`). Returns: Geocentric earth radius (`meter`). See Also: Geocentric Radius

### Rlat(self, lat) |
Approximate the earth radius at the given latitude. Parameters: `lat` - Latitude (`degrees90`). Returns: Approximate earth radius (`meter`).

### roc2(self, lat) |
Compute the meridional and prime-vertical radii of curvature at the given latitude. Parameters: `lat` - Latitude (`degrees90`). Returns: An Curvature2Tuple`(meridional, prime_vertical)` radii of curvature. See Also: Local, flat earth approximation and Radii of Curvature.

### rocBearing(self, lat, bearing) |
Compute the directional radius of curvature at the given latitude and compass direction. Parameters: `lat` - Latitude (`degrees90`). `bearing` - Direction (compass `degrees360`). Returns: Directional radius of curvature (`meter`). See Also: Radii of Curvature

### rocGauss(self, lat) |
Compute the Gaussian radius of curvature at the given latitude. Parameters: `lat` - Latitude (`degrees90`). Returns: Gaussian radius of curvature (`meter`). See Also: Radii of Curvature

### rocMean(self, lat) |
Compute the mean radius of curvature at the given latitude. Parameters: `lat` - Latitude (`degrees90`). Returns: Mean radius of curvature (`meter`). See Also: Radii of Curvature

### rocMeridional(self, lat) |
Compute the meridional radius of curvature at the given latitude. Parameters: `lat` - Latitude (`degrees90`). Returns: Meridional radius of curvature (`meter`). See Also: Local, flat earth approximation and Radii of Curvature.

### rocPrimeVertical(self, lat) |
Compute the prime-vertical radius of curvature at the given latitude. Parameters: `lat` - Latitude (`degrees90`). Returns: Prime-vertical radis of curvature (`meter`). See Also: Local, flat earth approximation and Radii of Curvature.

### toStr(self, prec=9) |
Return this ellipsoid as a text string. Parameters: `prec` - Optional number of decimals, unstripped (`int`). Returns: Ellipsoid attributes (`str`). Raises: `AssertionError` - Always, see function notOverloaded. Overrides: named._Named.toStr

Property Details

### a Get method: a(self) - Get the major (equatorial) radius, semi-axis (`meter`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### a2 Get method: a2(self) - Get the major radius squared (`float`), a**2. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### a2_ Get method: a2_(self) - Get the inverse of the major radius squared (`float`), 1 / a**2. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### a_b Get method: a_b(self) - Get ratio a / b (`float`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### a2_b Get method: a2_b(self) - Get the polar meridional radius of curvature (`meter`), a**2 / b. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### area Get method: area(self) - Get the ellipsoid's surface area (`meter**2`), 4 * PI * R2**2. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### A Get method: A(self) - Get the UTM meridional radius (`meter`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### AlphaKs Get method: AlphaKs(self) - Get the Krüger Alpha series coefficients (`KsOrder`-tuple). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### b Get method: b(self) - Get the minor (polar) radius, semi-axis (`meter`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### b2 Get method: b2(self) - Get the minor radius squared (`float`), b**2. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### b2_a Get method: b2_a(self) - Get the equatorial meridional radius of curvature (`meter`), b**2 / a. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### BetaKs Get method: BetaKs(self) - Get the Krüger Beta series coefficients (`KsOrder`-tuple). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### c Get method: c(self) - Get the authalic earth radius (`meter`), see `R2`. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### e Get method: e(self) - Get the (1st) Eccentricity (`float`), sqrt(1 - (b / a)**2)). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### e12 Get method: e12(self) - Get 1 - e**2 (`float`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### e2 Get method: e2(self) - Get the (1st) Eccentricity squared (`float`), f * (2 - f) == 1 - (b / a)**2. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### e22 Get method: e22(self) - Get the 2nd Eccentricity squared (`float`), e2 / (1 - e2) == (a / b)**2 - 1. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### e4 Get method: e4(self) - Get the (1st) Eccentricity to 4th power (`float`), e**4 == e2**2. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### es Get method: es(self) - Get the (1st) Eccentricity signed (`float`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### es_c Get method: es_c(self) - Get (1 - f) * exp(es_atanh(1)) `float`. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### f Get method: f(self) - Get the Flattening (`float`), (a - b) / a. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### f_ Get method: f_(self) - Get the Inverse flattening (`float`), 1 / f == a / (a - b). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### f2 Get method: f2(self) - Get the 2nd Flattening (`float`), (a - b) / b. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### geodesic Get method: geodesic(self) - Get this ellipsoid's wrapped Karney Geodesic, provided the GeographicLib package is installed. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### isEllipsoidal Get method: isEllipsoidal(self) - Check whether this model is ellipsoidal (`bool`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### isSpherical Get method: isSpherical(self) - Check whether this model is spherical (`bool`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### KsOrder Property to get and set the Krüger series' order (`int`). Get method: KsOrder(self) - Get the Krüger series order (`int` 4, 6 or 8). Set method: KsOrder(self, order) - Set the Krüger series' order.

### Mabcd Get method: Mabcd(self) - Get the OSGR meridional coefficients (4-tuple), Airy130 only. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### n Get method: n(self) - Get the 3rd Flattening (`float`), f / (2 - f) == (a - b) / (a + b). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### R1 Get method: R1(self) - Get the mean earth radius per IUGG (`meter`), (2 * a + b) / 3. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### R2 Get method: R2(self) - Get the authalic earth radius (`meter`), sqrt((a**2 + b**2 * atanh(e) / e) / 2). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### R3 Get method: R3(self) - Get the volumetric earth radius (`meter`), (a * a * b)**(1/3). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### Rr Get method: Rr(self) - Get the rectifying earth radius (`meter`), ((a**(3/2) + b**(3/2)) / 2)**(2/3). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### Rs Get method: Rs(self) - Get another mean earth radius (`meter`), sqrt(a * b). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### volume Get method: volume(self) - Get the ellipsoid's volume (`meter**3`), 4 / 3 * PI * a**2 * b. Set method: immutable(inst, value) - Throws an `AttributeError`, always.