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

# Class Ellipsoid

      object --+
               |
    bases._Named --+
                   |
        bases._Based --+
                       |
             _Registered --+
                           |
                          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. |
copy(self) Copy this ellipsoid. |
distance2(self, lat0, lon0, lat1, lon1) Approximate the distance and bearing between two points based on the radii of curvature. |
e2s(self, s) Compute norm sqrt(1 - e2 * s**2). |
e2s2(self, s) Compute 1 - e2 * s**2. |
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 `_Registered`: `__ne__`, `unregister` Inherited from `bases._Based`: `__repr__`, `__str__`, `classof`, `others`, `toStr2` Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__sizeof__`, `__subclasshook__`

Class Variables
| _a2_ = `0` (1 / a**2)
| _f_ = `0` Inverse flattening: a / (a - b) = 1 / f

Properties
| a Get the major (equatorial) radius, semi-axis (`meter`).
| a2_ Get the inverse of the major radius squared (`float`).
| a2_b Get the polar meridional radius of curvature: a**2 / b (`meter`).
| a_b Get the 2nd Flattening (`float`).
| area Get the surface area 4 * PI * R2**2 (`meter**2`).
| A Get the UTM meridional radius (`meter`).
| AlphaKs Get the Krüger Alpha series coefficients (KsOrder-tuple).
| b Get the minor (polar) radius, semi-axis (`meter`).
| b2_a Get the equatorial meridional radius of curvature: b**2 / a (`meter`).
| BetaKs Get the Krüger Beta series coefficients (KsOrder-tuple).
| c Get the authalic earth radius: see `R2` (`meter`).
| e Get the (1st) Eccentricity (`float`).
| e12 Get the (`float`).
| e2 Get the (1st) Eccentricity squared (`float`).
| e22 Get the 2nd Eccentricity squared (`float`).
| e4 Get the (1st) Eccentricity to 4th power (`float`).
| f Get the Flattening (`float`).
| f_ Get the Inverse flattening (`float`).
| geodesic Get this ellipsoid's Karney Geodesic, provided the GeographicLib package is installed.
| isEllipsoidal Check whether this model is ellipsoidal (`bool`).
| isSpherical Check whether this model is spherical (`bool`).
| KsOrder Get the Krüger series order (4, 6 or 8).
| Mabcd Get the OSGR meridional coefficients, Airy130 only (4-tuple).
| n Get the 3rd Flattening (`float`).
| R1 Get the mean earth radius per IUGG: (2 * a + b) / 3 (`meter`).
| R2 Get the authalic earth radius: sqrt((a**2 + b**2 * atanh(e) / e) / 2) (`meter`).
| R3 Get the volumetric earth radius: (a * a * b)**1/3 (`meter`).
| Rr Get the rectifying earth radius: ((a**(3.2) + b**(3/2)) / 2)**(2/3) (`meter`).
| Rs Get another mean earth radius: sqrt(a * b) (`meter`).
| volume Get the volume: 4 / 3 * PI * a**2 * b (`meter**3`).
Inherited from `_Registered`: `name` Inherited from `bases._Named`: `classname`, `classnaming` 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.

### copy(self) |
Copy this ellipsoid. Returns: The copy, unregistered (Ellipsoid or subclass thereof). Overrides: bases._Named.copy

### distance2(self, lat0, lon0, lat1, lon1) |
Approximate the distance and 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: 2-Tuple (distance, bearing) in (`meter`, `degrees360`). See Also: Local, flat earth approximation.

### 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.

### 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: 2-Tuple (meridional, prime-vertical) with the radii of curvature (`meter`, `meter`). 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`). Overrides: bases._Based.toStr

Property Details

### a Get the major (equatorial) radius, semi-axis (`meter`). Get Method: a(self) - Get the major (equatorial) radius, semi-axis (`meter`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### a2_ Get the inverse of the major radius squared (`float`). Get Method: a2_(self) - Get the inverse of the major radius squared (`float`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### a2_b Get the polar meridional radius of curvature: a**2 / b (`meter`). Get Method: a2_b(self) - Get the polar meridional radius of curvature: a**2 / b (`meter`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always. See Also: Radii of Curvature.

### a_b Get the 2nd Flattening (`float`). Get Method: a_b(self) - Get the 2nd Flattening (`float`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### area Get the surface area 4 * PI * R2**2 (`meter**2`). Get Method: area(self) - Get the surface area 4 * PI * R2**2 (`meter**2`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### A Get the UTM meridional radius (`meter`). Get Method: A(self) - Get the UTM meridional radius (`meter`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### AlphaKs Get the Krüger Alpha series coefficients (KsOrder-tuple). Get Method: AlphaKs(self) - Get the Krüger Alpha series coefficients (KsOrder-tuple). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### b Get the minor (polar) radius, semi-axis (`meter`). Get Method: b(self) - Get the minor (polar) radius, semi-axis (`meter`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### b2_a Get the equatorial meridional radius of curvature: b**2 / a (`meter`). Get Method: b2_a(self) - Get the equatorial meridional radius of curvature: b**2 / a (`meter`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always. See Also: Radii of Curvature.

### BetaKs Get the Krüger Beta series coefficients (KsOrder-tuple). Get Method: BetaKs(self) - Get the Krüger Beta series coefficients (KsOrder-tuple). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### c Get the authalic earth radius: see `R2` (`meter`). Get Method: c(self) - Get the authalic earth radius: see `R2` (`meter`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always. See Also: Symbol c in equation 60.

### e Get the (1st) Eccentricity (`float`). Get Method: e(self) - Get the (1st) Eccentricity (`float`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### e12 Get the (`float`). Get Method: e12(self) - Get the (`float`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### e2 Get the (1st) Eccentricity squared (`float`). Get Method: e2(self) - Get the (1st) Eccentricity squared (`float`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### e22 Get the 2nd Eccentricity squared (`float`). Get Method: e22(self) - Get the 2nd Eccentricity squared (`float`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### e4 Get the (1st) Eccentricity to 4th power (`float`). Get Method: e4(self) - Get the (1st) Eccentricity to 4th power (`float`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### f Get the Flattening (`float`). Get Method: f(self) - Get the Flattening (`float`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### f_ Get the Inverse flattening (`float`). Get Method: f_(self) - Get the Inverse flattening (`float`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### geodesic Get this ellipsoid's Karney Geodesic, provided the GeographicLib package is installed. Get Method: geodesic(self) - Get this ellipsoid's Karney Geodesic, provided the GeographicLib package is installed. Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### isEllipsoidal Check whether this model is ellipsoidal (`bool`). Get Method: isEllipsoidal(self) - Check whether this model is ellipsoidal (`bool`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### isSpherical Check whether this model is spherical (`bool`). Get Method: isSpherical(self) - Check whether this model is spherical (`bool`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### KsOrder Get the Krüger series order (4, 6 or 8). Get Method: KsOrder(self) - Get the Krüger series order (4, 6 or 8). Set Method: KsOrder(self, order) - Set the Krüger series order.

### Mabcd Get the OSGR meridional coefficients, Airy130 only (4-tuple). Get Method: Mabcd(self) - Get the OSGR meridional coefficients, Airy130 only (4-tuple). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### n Get the 3rd Flattening (`float`). Get Method: n(self) - Get the 3rd Flattening (`float`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### R1 Get the mean earth radius per IUGG: (2 * a + b) / 3 (`meter`). Get Method: R1(self) - Get the mean earth radius per IUGG: (2 * a + b) / 3 (`meter`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always. See Also: Earth radius.

### R2 Get the authalic earth radius: sqrt((a**2 + b**2 * atanh(e) / e) / 2) (`meter`). Get Method: R2(self) - Get the authalic earth radius: sqrt((a**2 + b**2 * atanh(e) / e) / 2) (`meter`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always. See Also: Earth radius and c.

### R3 Get the volumetric earth radius: (a * a * b)**1/3 (`meter`). Get Method: R3(self) - Get the volumetric earth radius: (a * a * b)**1/3 (`meter`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always. See Also: Earth radius.

### Rr Get the rectifying earth radius: ((a**(3.2) + b**(3/2)) / 2)**(2/3) (`meter`). Get Method: Rr(self) - Get the rectifying earth radius: ((a**(3.2) + b**(3/2)) / 2)**(2/3) (`meter`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always. See Also: Earth radius.

### Rs Get another mean earth radius: sqrt(a * b) (`meter`). Get Method: Rs(self) - Get another mean earth radius: sqrt(a * b) (`meter`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.

### volume Get the volume: 4 / 3 * PI * a**2 * b (`meter**3`). Get Method: volume(self) - Get the volume: 4 / 3 * PI * a**2 * b (`meter**3`). Set Method: Read_Only(self, ignored) - Throws an `AttributeError`, always.