Package pygeodesy :: Module rhumbsolve :: Class RhumbSolve |
[frames] | no frames]

# Class RhumbSolve

           object --+
                    |
         named._Named --+
                        |
         named._NamedBase --+
                            |
             karney._CapsBase --+
                                |
    solveBase._SolveLineSolveBase --+
                                    |
                 solveBase._SolveBase --+
                                        |
                          _RhumbSolveBase --+
                                            |
                                           RhumbSolve

Wrapper to invoke Karney's RhumbSolve like a class, similar to pygeodesy.Rhumb and pygeodesy.RhumbAux.

Notes:

- Use property `RhumbSolve` or env variable `PYGEODESY_RHUMBSOLVE` to specify the (fully qualified) path to the `RhumbSolve` executable.
- This `rhumb` is intended for testing purposes only, it invokes the `RhumbSolve` executable for every method call.

Instance Methods
Direct3(self, lat1, lon1, azi1, s12) Return the destination lat, lon and reverse azimuth (final bearing) in `degrees`. |
DirectLine(self, lat1, lon1, azi1, caps=3968, name='') Set up a RhumbLineSolve in terms of the direct rhumb problem to compute several points on a single rhumb line. |
Inverse3(self, lat1, lon1, lat2, lon2) Return the distance in `meter` and the forward and reverse azimuths (initial and final bearing) in `degrees`. |
InverseLine(self, lat1, lon1, lat2, lon2, caps=3968, name='') Define a RhumbLineSolve in terms of the inverse rhumb problem. |
Line(self, lat1, lon1, azi1, caps=3968, name='') Set up a RhumbLineSolve in terms of the direct rhumb problem to compute several points on a single rhumb line. |
Inherited from `_RhumbSolveBase`: `toStr` Inherited from `solveBase._SolveBase`: `Direct`, `Inverse`, `Inverse1`, `__init__` Inherited from `solveBase._SolveLineSolveBase`: `invoke` 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
Inherited from `_RhumbSolveBase`: `RhumbSolve` Inherited from `solveBase._SolveLineSolveBase`: `Exact`, `a`, `ellipsoid`, `f`, `invokation`, `prec`, `reverse2`, `status`, `unroll`, `verbose`, `version` 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

### Direct3 (self, lat1, lon1, azi1, s12) |
Return the destination lat, lon and reverse azimuth (final bearing) in `degrees`. Returns: Destination3Tuple`(lat, lon, final)`.

### DirectLine (self, lat1, lon1, azi1, caps=3968, name='') |
Set up a RhumbLineSolve in terms of the direct rhumb problem to compute several points on a single rhumb line. Arguments: `lat1` - Latitude of the first point (`degrees`). `lon1` - Longitude of the first point (`degrees`). `azi1` - Azimuth at the first point (compass `degrees`). `caps` - Bit-or'ed combination of Caps values specifying the capabilities the RhumbLineSolve instance should possess, always `Caps.ALL`. Returns: A RhumbLineSolve instance. Note: If the point is at a pole, the azimuth is defined by keeping `lon1` fixed, writing `lat1 = ±(90 − ε)`, and taking the limit `ε → 0+`. See Also: C++ RhumbExact.Line and Python Rhumb.Line.

### Inverse3 (self, lat1, lon1, lat2, lon2) |
Return the distance in `meter` and the forward and reverse azimuths (initial and final bearing) in `degrees`. Returns: Distance3Tuple`(distance, initial, final)`.

### InverseLine (self, lat1, lon1, lat2, lon2, caps=3968, name='') |
Define a RhumbLineSolve 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` - Optional `caps`, see RhumbLine `caps`. Returns: A RhumbLineSolve instance and invoke its method RhumbLine.Position to compute each point. Note: Updates to this rhumb are reflected in the returned rhumb line.

### Line (self, lat1, lon1, azi1, caps=3968, name='') |
Set up a RhumbLineSolve in terms of the direct rhumb problem to compute several points on a single rhumb line. Arguments: `lat1` - Latitude of the first point (`degrees`). `lon1` - Longitude of the first point (`degrees`). `azi1` - Azimuth at the first point (compass `degrees`). `caps` - Bit-or'ed combination of Caps values specifying the capabilities the RhumbLineSolve instance should possess, always `Caps.ALL`. Returns: A RhumbLineSolve instance. Note: If the point is at a pole, the azimuth is defined by keeping `lon1` fixed, writing `lat1 = ±(90 − ε)`, and taking the limit `ε → 0+`. See Also: C++ RhumbExact.Line and Python Rhumb.Line.