Package pygeodesy :: Package rhumb :: Module bases :: Class RhumbBase
[frames] | no frames]

Class RhumbBase

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

(INTERNAL) Base class for rhumb.aux_.RhumbAux and rhumb.ekx.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 or Rhumb.
 
toStr(self, prec=6, sep=', ', **unused)
Return this Rhumb 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
  RAorder
Get the Rhumb Area order, None always.
  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).
  datum
Get this rhumb's datum (Datum).
  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 9 items lat1, lon1, lat2, lon2, azi12, azi21, s12, a12, S12, the rhumb line's azimuth azi12 and reverse azimuth azi21, both 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 or Rhumb.

Overrides: object.__init__

toStr (self, prec=6, sep=', ', **unused)

 

Return this Rhumb 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:
Tuple items (str).
Overrides: named._Named.toStr

Property Details

RAorder

Get the Rhumb Area order, None always.

Get method:
RAorder(self) - Get the Rhumb Area order, None always.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

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.

datum

Get this rhumb's datum (Datum).

Get method:
datum(self) - Get this rhumb's datum (Datum).
Set method:
datum(self, datum) - Set this rhumb's datum (Datum).

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.