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

Class RhumbLineBase

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

(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 this rhumb line's azimuth sine and cosine (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 RhumbLine and RhumbLineAux.

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 (degrees).
  • eps - Tolerance for pygeodesy.intersection3d3 (EPS).
Returns:
A LatLon2Tuple{(lat, lon)} with the lat- and longitude 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 exact is 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 longitude 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 this rhumb line's azimuth sine and cosine (2-tuple (sin, cos)).

Get method:
azi12_sincos2(self) - Get this rhumb line's azimuth sine and cosine (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.