Package pygeodesy :: Module geodsolve :: Class GeodesicSolve |
[frames] | no frames]

# Class GeodesicSolve

                 object --+
                          |
               named._Named --+
                              |
               named._NamedBase --+
                                  |
    geodesicx.gxbases._GeodesicBase --+
                                      |
                     _GeodesicSolveBase --+
                                          |
                                         GeodesicSolve

Wrapper to invoke Karney's GeodSolve as an `Exact` version of Karney's Python class Geodesic.

Notes:

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

Instance Methods
__init__(self, a_ellipsoid=Ellipsoid(name='WGS84', a=6378137, b=6356752.31424518, f_=298.`...`, f=None, name='') New GeodesicSolve instance. |
Area(self, polyline=False, name='') Set up an GeodesicAreaExact to compute area and perimeter of a polygon. |
Polygon(self, polyline=False, name='') Set up an GeodesicAreaExact to compute area and perimeter of a polygon. |
Direct(self, lat1, lon1, azi1, s12, *unused) Return the `Direct` result. |
Direct3(self, lat1, lon1, azi1, s12) Return the destination lat, lon and reverse azimuth (final bearing) in `degrees`. |
Inverse(self, lat1, lon1, lat2, lon2, *unused) Return the `Inverse` result. |
Inverse1(self, lat1, lon1, lat2, lon2, wrap=False) Return the non-negative, angular distance in `degrees`. |
Inverse3(self, lat1, lon1, lat2, lon2) Return the distance in `meter` and the forward and reverse azimuths (initial and final bearing) in `degrees`. |
Line(self, lat1, lon1, azi1, caps=32640) Set up an GeodesicLineSolve to compute several points on a single geodesic. |
Inherited from `_GeodesicSolveBase`: `invoke`, `toStr` Inherited from `named._NamedBase`: `__repr__`, `__str__`, `others`, `toRepr` Inherited from `named._Named`: `_DOT_`, `__imatmul__`, `__matmul__`, `__rmatmul__`, `attrs`, `classof`, `copy`, `dup`, `rename`, `toStr2` Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__sizeof__`, `__subclasshook__`

Class Variables
Inherited from `geodesicx.gxbases._GeodesicBase`: `ALL`, `AREA`, `AZIMUTH`, `DISTANCE`, `DISTANCE_IN`, `EMPTY`, `GEODESICSCALE`, `LATITUDE`, `LONGITUDE`, `LONG_UNROLL`, `REDUCEDLENGTH`, `STANDARD`

Properties
Inherited from `_GeodesicSolveBase`: `Exact`, `GeodSolve`, `a`, `ellipsoid`, `f`, `invokation`, `prec`, `reverse2`, `status`, `unroll`, `verbose`, `version` Inherited from `geodesicx.gxbases._GeodesicBase`: `debug` Inherited from `named._Named`: `classname`, `classnaming`, `name`, `named`, `named2`, `named3`, `named4` Inherited from `object`: `__class__`

Method Details

### __init__ (self, a_ellipsoid=Ellipsoid(name='WGS84', a=6378137, b=6356752.31424518, f_=298.`...`, f=None, name='') (Constructor) |
New GeodesicSolve instance. Arguments: `a_ellipsoid` - An ellipsoid (Ellipsoid) or datum (Datum) or the equatorial radius of the ellipsoid (`scalar`, conventionally in `meter`), see `f`. `f` - The flattening of the ellipsoid (`scalar`) if `a_ellipsoid` is specified as `scalar`. `name` - Optional name (`str`). Overrides: object.__init__

### Area (self, polyline=False, name='') |
Set up an GeodesicAreaExact to compute area and perimeter of a polygon. Arguments: `polyline` - If `True` perimeter only, otherwise area and perimeter (`bool`). `name` - Optional name (`str`). Returns: A GeodesicAreaExact instance. Note: The `debug` setting is passed as `verbose` to the returned GeodesicAreaExact instance.

### Polygon (self, polyline=False, name='') |
Set up an GeodesicAreaExact to compute area and perimeter of a polygon. Arguments: `polyline` - If `True` perimeter only, otherwise area and perimeter (`bool`). `name` - Optional name (`str`). Returns: A GeodesicAreaExact instance. Note: The `debug` setting is passed as `verbose` to the returned GeodesicAreaExact instance.

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

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

### Line (self, lat1, lon1, azi1, caps=32640) |
Set up an GeodesicLineSolve to compute several points on a single geodesic. 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 GeodesicLineSolve instance should possess, always `Caps.ALL`. Returns: A GeodesicLineSolve 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++ GeodesicExact.Line and Python Geodesic.Line.