Package pygeodesy :: Module rhumbx :: Class _RhumbLine
[frames] | no frames]

Class _RhumbLine

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

(INTERNAL) Class RhumbLine

Instance Methods
 
__init__(self, rhumb, lat1, lon1, azi12, caps=0, name='')
New RhumbLine.
 
__del__(self)
 
distance2(self, lat, lon)
Return the distance and (initial) bearing of a 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, **eps)
Iteratively locate the point on this rhumb line nearest to the given point.
 
Position(self, s12, outmask=384)
Compute a position at a distance on this rhumb line.
 
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
  azi12
Get this rhumb line's azimuth (compass degrees).
  ellipsoid
Get this rhumb line's ellipsoid (Ellipsoid).
  exact
Get this rhumb line's exact option (bool).
  lat1
Get this rhumb line's latitude (degrees90).
  lon1
Get this rhumb line's longitude (degrees180).
  latlon1
Get this rhumb line's lat- and longitude (LatLon2Tuple(lat, lon)).
  RAorder
Get this rhumb line's Rhumb Area order (int, 4, 5, 6, 7 or 8).
  rhumb
Get this rhumb line's rhumb (Rhumb).
  TMorder
Get this rhumb line's Transverse Mercator order (int, 4, 5, 6, 7 or 8).
  xTM
Get this rhumb line's Transverse Mercator projection (ExactTransverseMercator if exact and ellipsoidal, otherwise KTransverseMercator).

Inherited from karney._CapsBase: caps, debug

Inherited from named._Named: classname, classnaming, iteration, name, named, named2, named3, named4

Inherited from object: __class__

Method Details

__init__ (self, rhumb, lat1, lon1, azi12, caps=0, name='')
(Constructor)

 

New RhumbLine.

Overrides: object.__init__

distance2 (self, lat, lon)

 

Return the distance and (initial) bearing of a 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.

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 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 RhumbLine.distance2 and RhumbLine.nearestOn4 and function pygeodesy.intersection3d3.

Note: Each iteration involves a round trip to this rhumb line's ExactTransverseMercator or KTransverseMercator projection and invoking function intersection3d3 in that domain.

nearestOn4 (self, lat, lon, tol=1.4901161193847656e-08, **eps)

 

Iteratively locate the point on this rhumb line nearest to the given point.

Arguments:
  • lat - Latitude of the point (degrees).
  • lon - Longitude of the point (degrees).
  • tol - Longitudinal convergence tolerance (degrees).
  • eps - Tolerance for intersection3d3 (EPS).
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 with the azimuth of the normal, perpendicular to this rhumb line.
Raises:
  • IntersectionError - No convergence for this eps or no intersection for an other reason.

See Also: Methods RhumbLine.distance2 and RhumbLine.intersection2 and function intersection3d3.

Position (self, s12, outmask=384)

 

Compute a position at a distance on this rhumb line.

Arguments:
  • s12 - The distance along this rhumb between its point and the other 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 other point in degrees, the rhumb angle a12 between both points in degrees and the area S12 under the rhumb line in meter squared.

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 epsilon**-2 (where epsilon is 2**-52). This position is extremely close to the actual pole and allows the calculation to be carried out in finite terms.

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

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.

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.

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.

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.

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.

RAorder

Get this rhumb line's Rhumb Area order (int, 4, 5, 6, 7 or 8).

Get method:
RAorder(self) - Get this rhumb line's Rhumb Area 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.

rhumb

Get this rhumb line's rhumb (Rhumb).

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

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.

xTM

Get this rhumb line's Transverse Mercator projection (ExactTransverseMercator if exact and ellipsoidal, otherwise KTransverseMercator).

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