Package pygeodesy :: Module rhumbBase :: Class RhumbBase |
[frames] | no frames]

# Class RhumbBase

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

Known Subclasses:
  - rhumbx.Rhumb
  - , rhumbaux.RhumbAux

(INTERNAL) Base class for `rhumbaux.RhumbAux` and `rhumbx.Rhumb`.

Instance Methods
ArcDirect(self, lat1, lon1, azi12, a12, outmask=384) Solve the direct rhumb problem, optionally with area. |
Direct(self, lat1, lon1, azi12, s12, outmask=384) Solve the direct rhumb problem, optionally with area. |
Direct8(self, lat1, lon1, azi12, s12, outmask=16768) 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. |
Inverse(self, lat1, lon1, lat2, lon2, outmask=1536) Solve the inverse rhumb problem. |
Inverse8(self, lat1, lon1, azi12, s12, outmask=17920) 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. |
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. |
__init__(self, a_earth, f, exact, name) New `rhumbaux.RhumbAux` or `rhumbx.Rhum`. |
toStr(self, prec=6, sep=', ', **unused) Must be overloaded, see function `notOverloaded`. |
Inherited from `karney._CapsBase`: `caps_` Inherited from `named._NamedBase`: `__repr__`, `__str__`, `others`, `toRepr` Inherited from `named._Named`: `__imatmul__`, `__matmul__`, `__rmatmul__`, `attrs`, `classof`, `copy`, `dup`, `methodname`, `rename`, `toStr2` Inherited from `object`: `__delattr__`, `__format__`, `__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_OFF`, `LONGITUDE`, `LONG_UNROLL`, `REDUCEDLENGTH`, `STANDARD`

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

Method Details

### ArcDirect (self, lat1, lon1, azi12, a12, outmask=384) |
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=384) |
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`.

### Inverse (self, lat1, lon1, lat2, lon2, outmask=1536) |
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 8 items `lat1, lon1, lat2, lon2, azi12, s12, a12, S12,` , the rhumb line's azimuth `azi12` 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`.

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

### __init__ (self, a_earth, f, exact, name) (Constructor) |
New `rhumbaux.RhumbAux` or `rhumbx.Rhum`. Overrides: object.__init__

### toStr (self, prec=6, sep=', ', **unused) |
Must be overloaded, see function `notOverloaded`. Overrides: named._Named.toStr

Property Details

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

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

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

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

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

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

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

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

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