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

# Class RhumbLineBase

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

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

(INTERNAL) Class `RhumbLine`

Instance Methods
Position(self, s12, outmask=0) Must be overloaded, see function `notOverloaded`. |
__del__(self) |
__init__(self, rhumb, lat1, lon1, azi12, caps=3968, name='') New `RhumbLine`. |
distance2(self, lat, lon) Return the distance from and (initial) bearing at the given point to this rhumb line's start point. |
intersection2(self, other, tol=1.4901161193847656e-08, **eps) Iteratively find the intersection of this and an other rhumb line. |
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 `RhumbBase`: `Direct`, `Direct8`, `DirectLine`, `Inverse`, `Inverse8`, `InverseLine`, `Line` 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 `RhumbBase`: `a`, `b`, `equatoradius`, `f`, `f_max`, `flattening`, `polaradius` 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

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

### distance2 (self, lat, lon) |
Return the distance from and (initial) bearing at the given point to this rhumb line's start point. Arguments: `lat` - Latitude of the point (`degrees`). `lon` - Longitude of the points (`degrees`). Returns: A Distance2Tuple`(distance, initial)` with the `distance` in `meter` and `initial` bearing in `degrees`. See Also: Methods `intersection2` and `nearestOn4` of RhumbLineAux and RhumbLine.

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

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