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

# Class RhumbLineBase

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

Known Subclasses:
  - rhumbx.RhumbLine
  - , rhumbaux.RhumbLineAux

(INTERNAL) Base class for `rhumbaux.RhumbLineAux` and `rhumbx.RhumbLine`.

Instance Methods
ArcPosition(self, a12, outmask=384) Compute a point at a given angular distance on this rhumb line. |
Inverse(self, lat2, lon2, wrap=False) Return the rhumb angle, distance, azimuth, reverse azimuth, etc. |
Position(self, s12, outmask=384) Compute a point at a given distance on this rhumb line. |
__del__(self) |
__init__(self, rhumb, lat1, lon1, azi12, caps=3968, name='') New `RhumbLine`. |
degrees2m(self, angle) Convert an angular distance along this rhumb line to `meter`. |
distance2(self, lat, lon) DEPRECATED, use method RhumbLineAux.Inverse or RhumbLine.Inverse. |
intersection2(self, other, tol=1.4901161193847656e-08, **eps) Iteratively find the intersection of this and an other rhumb line. |
m2degrees(self, distance) Convert a distance along this rhumb line to an angular distance. |
nearestOn4(self, lat, lon, tol=1.4901161193847656e-08, exact=None, eps=2.220446049250313e-16, est=None) Iteratively locate the point on this rhumb line nearest to the given point, in part transcoded from Karney's C++ rhumb-intercept. |
toStr(self, prec=6, sep=', ', **unused) Return this `RhumbLine` as string. |
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 this rhumb line's Transverse Mercator order (`int`, 4, 5, 6, 7 or 8).
| azi12 Get this rhumb line's azimuth (compass `degrees`).
| azi12_sincos2 Get the sine and cosine of this rhumb line's azimuth (2-tuple `(sin, cos)`).
| ellipsoid Get this rhumb line's ellipsoid (Ellipsoid).
| exact Get this rhumb line's exact option (`bool`).
| isLoxodrome Is this rhumb line a loxodrome (`True` if non-meridional and non-parallel, `False` if parallel or `None` if meridional)?
| lat1 Get this rhumb line's latitude (`degrees90`).
| latlon1 Get this rhumb line's lat- and longitude (LatLon2Tuple`(lat, lon)`).
| lon1 Get this rhumb line's longitude (`degrees180`).
| rhumb Get this rhumb line's rhumb (RhumbAux or Rhumb).
| xTM Get this rhumb line's Transverse Mercator projection (ExactTransverseMercator if exact and ellipsoidal, otherwise KTransverseMercator for `TMorder`).
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

### ArcPosition (self, a12, outmask=384) |
Compute a point at a given angular distance on this rhumb line. Arguments: `a12` - The angle along this rhumb line from its origin to the point (`degrees`), can be negative. `outmask` - Bit-or'ed combination of Caps values specifying the quantities to be returned. Returns: GDict with 4 to 8 items `azi12, a12, s12, S12, lat2, lon2, lat1, lon1` with latitude `lat2` and longitude `lon2` of the point in `degrees`, the rhumb distance `s12` in `meter` from the start point of and the area `S12` under this rhumb line in `meter` squared. Raises: `ImportError` - Package `numpy` not found or not installed, only required for RhumbLineAux area `S12` when `exact is True`. Note: 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 first 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.

### Inverse (self, lat2, lon2, wrap=False) |
Return the rhumb angle, distance, azimuth, reverse azimuth, etc. of a rhumb line between the given point and this rhumb line's start point. Arguments: `lat2` - Latitude of the point (`degrees`). `lon2` - Longitude of the points (`degrees`). `wrap` - If `True`, wrap or normalize and unroll `lat2` and `lon2` (`bool`). Returns: GDict with 8 items `a12, s12, azi12, azi21, lat1, lon1, lat2, lon2`, the rhumb angle `a12` and rhumb distance `s12` between both points in `degrees` respectively `meter`, the rhumb line's azimuth `azi12` and reverse azimuth `azi21` both in compass `degrees` between `-180` and `+180`.

### Position (self, s12, outmask=384) |
Compute a point at a given distance on this rhumb line. Arguments: `s12` - The distance along this rhumb line from its origin to the point (`meters`), can be negative. `outmask` - Bit-or'ed combination of Caps values specifying the quantities to be returned. Returns: GDict with 4 to 8 items `azi12, a12, s12, S12, lat2, lon2, lat1, lon1` with latitude `lat2` and longitude `lon2` of the point in `degrees`, the rhumb angle `a12` in `degrees` from the start point of and the area `S12` under this rhumb line in `meter` squared. Raises: `ImportError` - Package `numpy` not found or not installed, only required for RhumbLineAux area `S12` when `exact is True`. Note: 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 first 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.

### __init__ (self, rhumb, lat1, lon1, azi12, caps=3968, name='') (Constructor) |
New `RhumbLine`. Overrides: object.__init__

### degrees2m (self, angle) |
Convert an angular distance along this rhumb line to `meter`. Arguments: `angle` - Angular distance (`degrees`). Returns: Distance (`meter`).

### distance2 (self, lat, lon) |
DEPRECATED, use method RhumbLineAux.Inverse or RhumbLine.Inverse. Returns: A Distance2Tuple`(distance, initial)` with the `distance` in `meter` and `initial` bearing (azimuth) in `degrees`. Decorators: `@deprecated_method`

### intersection2 (self, other, tol=1.4901161193847656e-08, **eps) |
Iteratively find the intersection of this and an other rhumb line. Arguments: `other` - The other rhumb line (`RhumbLine`). `tol` - Tolerance for longitudinal convergence and parallel error (`degrees`). `eps` - Tolerance for pygeodesy.intersection3d3 (`EPS`). Returns: A LatLon2Tuple{(lat, lon)} with the `lat`- and `lon`gitude of the intersection point. Raises: `IntersectionError` - No convergence for this `tol` or no intersection for an other reason. See Also: Methods `distance2` and `nearestOn4` and function pygeodesy.intersection3d3. Note: Each iteration involves a round trip to this rhumb line's ExactTransverseMercator or KTransverseMercator projection and invoking function pygeodesy.intersection3d3 in that domain.

### m2degrees (self, distance) |
Convert a distance along this rhumb line to an angular distance. Arguments: `distance` - Distance (`meter`). Returns: Angular distance (`degrees`).

### nearestOn4 (self, lat, lon, tol=1.4901161193847656e-08, exact=None, eps=2.220446049250313e-16, est=None) |
Iteratively locate the point on this rhumb line nearest to the given point, in part transcoded from Karney's C++ rhumb-intercept. Arguments: `lat` - Latitude of the point (`degrees`). `lon` - Longitude of the point (`degrees`). `tol` - Longitudinal convergence tolerance (`degrees`) or the distance tolerance (C(meter)) when `exact is None`, respectively `not None`. `exact` - If `None`, use a rhumb line perpendicular to this rhumb line, otherwise use an exact `Geodesic...` from the given point perpendicular to this rhumb line (`bool` or `Geodesic...`), see method Ellipsoid.geodesic_. `eps` - Optional tolerance for pygeodesy.intersection3d3 (`EPS`), used only if `exact is None`. `est` - Optional, initial estimate for the distance `s13` of the intersection along this rhumb line (`meter`), used only if `exact is not None`. Returns: A NearestOn4Tuple`(lat, lon, distance, normal)` with the `lat`- and `lon`gitude of the nearest point on and the `distance` in `meter` to this rhumb line and the `normal` azimuth at the intersection. Raises: `ImportError` - Karney's geographiclib package not found or not installed. `IntersectionError` - No convergence for this `eps` or no intersection for an other reason. See Also: Methods `distance2` and `intersection2` and function pygeodesy.intersection3d3.

### toStr (self, prec=6, sep=', ', **unused) |
Return this `RhumbLine` 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: `RhumbLine` (`str`). Overrides: named._Named.toStr

Property Details

### TMorder Get this rhumb line's Transverse Mercator order (`int`, 4, 5, 6, 7 or 8). Get method: TMorder(self) - Get this rhumb line's Transverse Mercator order (`int`, 4, 5, 6, 7 or 8). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### azi12 Get this rhumb line's azimuth (compass `degrees`). Get method: azi12(self) - Get this rhumb line's azimuth (compass `degrees`). Set method: azi12(self, azi12) - Set this rhumb line's azimuth (compass `degrees`). Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### azi12_sincos2 Get the sine and cosine of this rhumb line's azimuth (2-tuple `(sin, cos)`). Get method: azi12_sincos2(self) - Get the sine and cosine of this rhumb line's azimuth (2-tuple `(sin, cos)`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

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

### exact Get this rhumb line's exact option (`bool`). Get method: exact(self) - Get this rhumb line's exact option (`bool`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### isLoxodrome Is this rhumb line a loxodrome (`True` if non-meridional and non-parallel, `False` if parallel or `None` if meridional)? Get method: isLoxodrome(self) - Is this rhumb line a loxodrome (`True` if non-meridional and non-parallel, `False` if parallel or `None` if meridional)? Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value. See Also: Osborne's 2.5 Rumb lines and loxodromes, page 37.

### lat1 Get this rhumb line's latitude (`degrees90`). Get method: lat1(self) - Get this rhumb line's latitude (`degrees90`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### latlon1 Get this rhumb line's lat- and longitude (LatLon2Tuple`(lat, lon)`). Get method: latlon1(self) - Get this rhumb line's lat- and longitude (LatLon2Tuple`(lat, lon)`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### lon1 Get this rhumb line's longitude (`degrees180`). Get method: lon1(self) - Get this rhumb line's longitude (`degrees180`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### rhumb Get this rhumb line's rhumb (RhumbAux or Rhumb). Get method: rhumb(self) - Get this rhumb line's rhumb (RhumbAux or Rhumb). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.

### xTM Get this rhumb line's Transverse Mercator projection (ExactTransverseMercator if exact and ellipsoidal, otherwise KTransverseMercator for `TMorder`). Get method: xTM(self) - Get this rhumb line's Transverse Mercator projection (ExactTransverseMercator if exact and ellipsoidal, otherwise KTransverseMercator for `TMorder`). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.