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

# Class GeodesicSolve

           object --+
                    |
         named._Named --+
                        |
         named._NamedBase --+
                            |
             karney._CapsBase --+
                                |
    solveBase._SolveLineSolveBase --+
                                    |
                 solveBase._SolveBase --+
                                        |
                       _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
Area(self, polyline=False, name='') Set up a GeodesicAreaExact to compute area and perimeter of a polygon. |
Polygon(self, polyline=False, name='') Set up a GeodesicAreaExact to compute area and perimeter of a polygon. |
Direct3(self, lat1, lon1, azi1, s12) Return the destination lat, lon and reverse azimuth (final bearing) in `degrees`. |
DirectLine(self, lat1, lon1, azi1, **caps_name) Set up a GeodesicLineSolve to compute several points on a single geodesic. |
Line(self, lat1, lon1, azi1, **caps_name) Set up a GeodesicLineSolve to compute several points on a single geodesic. |
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_name) Set up a GeodesicLineSolve to compute several points on a single geodesic. |
Inherited from `_GeodesicSolveBase`: `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 `_GeodesicSolveBase`: `GeodSolve` Inherited from `solveBase._SolveBase`: `a`, `datum`, `ellipsoid`, `f`, `flattening` Inherited from `solveBase._SolveLineSolveBase`: `Exact`, `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

### Area (self, polyline=False, name='') |
Set up a 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 a 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)`.

### DirectLine (self, lat1, lon1, azi1, **caps_name) |
Set up a 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_name` - Bit-or'ed combination of Caps values specifying the capabilities the GeodesicLineSolve instance should possess, `caps=Caps.ALL` always. 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.

### Line (self, lat1, lon1, azi1, **caps_name) |
Set up a 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_name` - Bit-or'ed combination of Caps values specifying the capabilities the GeodesicLineSolve instance should possess, `caps=Caps.ALL` always. 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.

### 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_name) |
Set up a GeodesicLineSolve to compute several points on a single geodesic. Arguments: `lat1` - Latitude of the first point (`degrees`). `lon1` - Longitude of the first point (`degrees`). `lat2` - Latitude of the second point (`degrees`). `lon2` - Longitude of the second point (`degrees`). `caps_name` - Bit-or'ed combination of Caps values specifying the capabilities the GeodesicLineSolve instance should possess, `caps=Caps.ALL` always. Returns: A GeodesicLineSolve instance. Note: Both `lat1` and `lat2` should in the range `[-90, +90]`. See Also: C++ GeodesicExact.InverseLine and Python Geodesic.InverseLine.