pygeodesy.rhumb.bases.RhumbBase

Package pygeodesy :: Package rhumb :: Module bases :: Class RhumbBase |
[frames] | no frames]

# Class RhumbBase

      object --+
               |
    named._Named --+
                   |
    named._NamedBase --+
                       |
        karney._CapsBase --+
                           |
                          RhumbBase

Known Subclasses:
  - ekx.Rhumb
  - , aux_.RhumbAux

(INTERNAL) Base class for `rhumb.aux_.RhumbAux` and `rhumb.ekx.Rhumb`.

Instance Methods
__init__(self, a_earth, f, exact, TMorder_name) New `RhumbAux` or `Rhumb`. |
ArcDirect(self, lat1, lon1, azi12, a12, outmask=392) Solve the direct rhumb problem, optionally with area. |
Direct(self, lat1, lon1, azi12, s12, outmask=392) Solve the direct rhumb problem, optionally with area. |
Direct8(self, lat1, lon1, azi12, s12, outmask=16792) Like method Rhumb.Direct but returning a Rhumb8Tuple with area `S12`. |
DirectLine(self, lat1, lon1, azi12, **caps_name) Define a `RhumbLine` in terms of the direct rhumb problem to compute several points on a single rhumb line. |
Line(self, lat1, lon1, azi12, **caps_name) Define a `RhumbLine` in terms of the direct rhumb problem to compute several points on a single rhumb line. |
Inverse(self, lat1, lon1, lat2, lon2, outmask=1537) Solve the inverse rhumb problem. |
Inverse8(self, lat1, lon1, azi12, s12, outmask=17937) Like method Rhumb.Inverse but returning a Rhumb8Tuple with area `S12`. |
InverseLine(self, lat1, lon1, lat2, lon2, **caps_name) Define a `RhumbLine` in terms of the inverse rhumb problem. |
toStr(self, prec=6, sep=', ', **unused) Return this `Rhumb` as string. |
Inherited from `karney._CapsBase`: `caps_` 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__`

Class Variables
Inherited from `karney._CapsBase`: `ALL`, `AREA`, `AZIMUTH`, `DISTANCE`, `DISTANCE_IN`, `EMPTY`, `GEODESICSCALE`, `LATITUDE`, `LINE_CAPS`, `LINE_OFF`, `LONGITUDE`, `LONG_UNROLL`, `NONFINITONAN`, `REDUCEDLENGTH`, `STANDARD`, `STANDARD_LINE`

Properties
| a Get the `ellipsoid`'s equatorial radius, semi-axis (`meter`).
| equatoradius Get the `ellipsoid`'s equatorial radius, semi-axis (`meter`).
| b Get the `ellipsoid`'s polar radius, semi-axis (`meter`).
| polaradius Get the `ellipsoid`'s polar radius, semi-axis (`meter`).
| datum Get this rhumb's datum (Datum).
| ellipsoid Get this rhumb's ellipsoid (Ellipsoid).
| exact Get the exact option (`bool`).
| f Get the `ellipsoid`'s flattening (`float`).
| flattening Get the `ellipsoid`'s flattening (`float`).
| f_max Get the max. flattening (`float`).
| RAorder Get the Rhumb Area order, `None` always.
| TMorder Get the KTransverseMercator order (`int`, 4, 5, 6, 7 or 8).
Inherited from `karney._CapsBase`: `caps`, `debug` Inherited from `named._Named`: `classname`, `classnaming`, `iteration`, `name`, `named`, `named2`, `named3`, `named4`, `sizeof`, `typename` Inherited from `object`: `__class__`

Method Details

### __init__ (self, a_earth, f, exact, TMorder_name) (Constructor) |
New `RhumbAux` or `Rhumb`. Overrides: object.__init__

### ArcDirect (self, lat1, lon1, azi12, a12, outmask=392) |
Solve the direct rhumb problem, optionally with area. Arguments: `lat1` - Latitude of the first point (`degrees90`). `lon1` - Longitude of the first point (`degrees180`). `azi12` - Azimuth of the rhumb line (compass `degrees`). `a12` - Angle along the rhumb line from the given to the destination point (`degrees`), can be negative. Returns: GDict with 2 up to 8 items `lat2, lon2, a12, S12, lat1, lon1, azi12, s12` with the destination point's latitude `lat2` and longitude `lon2` in `degrees`, the rhumb angle `a12` in `degrees` and area `S12` under the rhumb line in `meter` squared. Raises: `ImportError` - Package `numpy` not found or not installed, only required for area `S12` when `exact is True` and RhumbAux. Notes: If `a12` is large enough that the rhumb line crosses a pole, the longitude of the second point is indeterminate and `NAN` is returned for `lon2` and area `S12`. If the given point is a pole, the cosine of its latitude is taken to be `sqrt(EPS)`. This position is extremely close to the actual pole and allows the calculation to be carried out in finite terms.

### Direct (self, lat1, lon1, azi12, s12, outmask=392) |
Solve the direct rhumb problem, optionally with area. Arguments: `lat1` - Latitude of the first point (`degrees90`). `lon1` - Longitude of the first point (`degrees180`). `azi12` - Azimuth of the rhumb line (compass `degrees`). `s12` - Distance along the rhumb line from the given to the destination point (`meter`), can be negative. Returns: GDict with 2 up to 8 items `lat2, lon2, a12, S12, lat1, lon1, azi12, s12` with the destination point's latitude `lat2` and longitude `lon2` in `degrees`, the rhumb angle `a12` in `degrees` and area `S12` under the rhumb line in `meter` squared. Raises: `ImportError` - Package `numpy` not found or not installed, only required for area `S12` when `exact is True` and RhumbAux. Notes: If `s12` is large enough that the rhumb line crosses a pole, the longitude of the second point is indeterminate and `NAN` is returned for `lon2` and area `S12`. If the given point is a pole, the cosine of its latitude is taken to be `sqrt(EPS)`. This position is extremely close to the actual pole and allows the calculation to be carried out in finite terms.

### DirectLine (self, lat1, lon1, azi12, **caps_name) |
Define a `RhumbLine` in terms of the direct rhumb problem to compute several points on a single rhumb line. Arguments: `lat1` - Latitude of the first point (`degrees90`). `lon1` - Longitude of the first point (`degrees180`). `azi12` - Azimuth of the rhumb line (compass `degrees`). `caps_name` - Optional keyword arguments `name=NN` and `caps=Caps.STANDARD`, a bit-or'ed combination of Caps values specifying the required capabilities. Include `Caps.LINE_OFF` if updates to the `rhumb` should not be reflected in this rhumb line. Returns: A `RhumbLine...` instance and invoke its method `.Position` to compute each point. Note: Updates to this rhumb are reflected in the returned rhumb line, unless `caps |= Caps.LINE_OFF`.

### Line (self, lat1, lon1, azi12, **caps_name) |
Define a `RhumbLine` in terms of the direct rhumb problem to compute several points on a single rhumb line. Arguments: `lat1` - Latitude of the first point (`degrees90`). `lon1` - Longitude of the first point (`degrees180`). `azi12` - Azimuth of the rhumb line (compass `degrees`). `caps_name` - Optional keyword arguments `name=NN` and `caps=Caps.STANDARD`, a bit-or'ed combination of Caps values specifying the required capabilities. Include `Caps.LINE_OFF` if updates to the `rhumb` should not be reflected in this rhumb line. Returns: A `RhumbLine...` instance and invoke its method `.Position` to compute each point. Note: Updates to this rhumb are reflected in the returned rhumb line, unless `caps |= Caps.LINE_OFF`.

### Inverse (self, lat1, lon1, lat2, lon2, outmask=1537) |
Solve the inverse rhumb problem. Arguments: `lat1` - Latitude of the first point (`degrees90`). `lon1` - Longitude of the first point (`degrees180`). `lat2` - Latitude of the second point (`degrees90`). `lon2` - Longitude of the second point (`degrees180`). Returns: GDict with 4 to 9 items `lat1, lon1, lat2, lon2, azi12, azi21, s12, a12, S12`, the rhumb line's azimuth `azi12` and reverse azimuth `azi21`, both in compass `degrees` between `-180` and `+180`, the rhumb distance `s12` and rhumb angle `a12` between both points in `meter` respectively `degrees` and the area `S12` under the rhumb line in `meter` squared. Raises: `ImportError` - Package `numpy` not found or not installed, only required for RhumbAux area `S12` when `exact is True`. Notes: The shortest rhumb line is found. If the end points are on opposite meridians, there are two shortest rhumb lines and the East-going one is chosen. If either point is a pole, the cosine of its latitude is taken to be `sqrt(EPS)`. This position is extremely close to the actual pole and allows the calculation to be carried out in finite terms.

### InverseLine (self, lat1, lon1, lat2, lon2, **caps_name) |
Define a `RhumbLine` in terms of the inverse rhumb problem. Arguments: `lat1` - Latitude of the first point (`degrees90`). `lon1` - Longitude of the first point (`degrees180`). `lat2` - Latitude of the second point (`degrees90`). `lon2` - Longitude of the second point (`degrees180`). `caps_name` - Optional keyword arguments `name=NN` and `caps=Caps.STANDARD`, a bit-or'ed combination of Caps values specifying the required capabilities. Include `Caps.LINE_OFF` if updates to the `rhumb` should not be reflected in this rhumb line. Returns: A `RhumbLine...` instance and invoke its method `ArcPosition` or `Position` to compute points. Note: Updates to this rhumb are reflected in the returned rhumb line, unless `caps |= Caps.LINE_OFF`.

### toStr (self, prec=6, sep=', ', **unused) |
Return this `Rhumb` as string. Arguments: `prec` - The `float` precision, number of decimal digits (0..9). Trailing zero decimals are stripped for `prec` values of 1 and above, but kept for negative `prec` values. `sep` - Separator to join (`str`). Returns: Tuple items (`str`). Overrides: named._Named.toStr

Property Details

### a Get the `ellipsoid`'s equatorial radius, semi-axis (`meter`). Get method: a(self) - Get the `ellipsoid`'s equatorial radius, semi-axis (`meter`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### equatoradius Get the `ellipsoid`'s equatorial radius, semi-axis (`meter`). Get method: a(self) - Get the `ellipsoid`'s equatorial radius, semi-axis (`meter`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### b Get the `ellipsoid`'s polar radius, semi-axis (`meter`). Get method: b(self) - Get the `ellipsoid`'s polar radius, semi-axis (`meter`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### polaradius Get the `ellipsoid`'s polar radius, semi-axis (`meter`). Get method: b(self) - Get the `ellipsoid`'s polar radius, semi-axis (`meter`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### datum Get this rhumb's datum (Datum). Get method: datum(self) - Get this rhumb's datum (Datum). Set method: datum(self, datum) - Set this rhumb's datum (Datum).

### ellipsoid Get this rhumb's ellipsoid (Ellipsoid). Get method: ellipsoid(self) - Get this rhumb's ellipsoid (Ellipsoid). Set method: ellipsoid(self, a_earth_f) - Set this rhumb's ellipsoid (Ellipsoid, Ellipsoid2, Datum or a_f2Tuple) or (equatorial) radius and flattening (2-tuple `(a, f)`). Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### exact Get the exact option (`bool`). Get method: exact(self) - Get the exact option (`bool`). Set method: exact(self, exact) - Set the exact option (`bool`). Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### f Get the `ellipsoid`'s flattening (`float`). Get method: f(self) - Get the `ellipsoid`'s flattening (`float`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### flattening Get the `ellipsoid`'s flattening (`float`). Get method: f(self) - Get the `ellipsoid`'s flattening (`float`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### f_max Get the max. flattening (`float`). Get method: f_max(self) - Get the max. flattening (`float`). Set method: f_max(self, f_max) - Set the max. flattening, not to exceed (`float`).

### RAorder Get the Rhumb Area order, `None` always. Get method: RAorder(self) - Get the Rhumb Area order, `None` always. Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### TMorder Get the KTransverseMercator order (`int`, 4, 5, 6, 7 or 8). Get method: TMorder(self) - Get the KTransverseMercator order (`int`, 4, 5, 6, 7 or 8). Set method: TMorder(self, order) - Set the KTransverseMercator order (`int`, 4, 5, 6, 7 or 8). Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.