pygeodesy.geodsolve.GeodesicSolve

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

# Class GeodesicSolve

      object --+
               |
    named._Named --+
                   |
    named._NamedBase --+
                       |
        karney._CapsBase --+
                           |
    solveBase._SolveCapsBase --+
                               |
            solveBase._SolveBase --+
                                   |
               solveBase._Solve3Base --+
                                       |
               solveBase._SolveGDictBase --+
                                           |
                          _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=32671, **name) Set up a GeodesicLineSolve to compute several points on a single geodesic. |
ArcDirectLine(self, lat1, lon1, azi1, caps=32671, **name) Set up a GeodesicLineSolve to compute several points on a single geodesic. |
Line(self, lat1, lon1, azi1, caps=32671, **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=32671, **name) Set up a GeodesicLineSolve to compute several points on a single geodesic. |
toStr(self, **prec_sep_other) Return this `GeodesicSolve` as string. |
Inherited from `solveBase._SolveGDictBase`: `ArcDirect`, `Direct`, `Inverse`, `Inverse1`, `__init__` Inherited from `solveBase._SolveCapsBase`: `invokat`, `invoke`, `linelimit` Inherited from `karney._CapsBase`: `caps_` Inherited from `named._NamedBase`: `__repr__`, `__str__`, `others`, `toRepr` Inherited from `named._Named`: `__format__`, `__imatmul__`, `__matmul__`, `__rmatmul__`, `attrs`, `classof`, `copy`, `dup`, `methodname`, `rename`, `renamed`, `toStr2` Inherited from `object`: `__delattr__`, `__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_CAPS`, `LINE_OFF`, `LONGITUDE`, `LONG_UNROLL`, `NONFINITONAN`, `REDUCEDLENGTH`, `STANDARD`, `STANDARD_LINE`

Properties
Inherited from `_GeodesicSolveBase`: `GeodSolve` Inherited from `solveBase._SolveBase`: `reverse2`, `unroll` Inherited from `solveBase._SolveCapsBase`: `Exact`, `a`, `b`, `datum`, `ellipsoid`, `f`, `flattening`, `invokation`, `prec`, `status`, `verbose`, `version` Inherited from `karney._CapsBase`: `caps`, `debug` Inherited from `named._Named`: `classname`, `classnaming`, `iteration`, `name`, `named`, `named2`, `named3`, `named4`, `sizeof`, `typename` 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`, compute the perimeter only, otherwise perimeter and area (`bool`). `name` - Optional `name=NN` (`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`, compute the perimeter only, otherwise perimeter and area (`bool`). `name` - Optional `name=NN` (`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=32671, **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` - Desired capabilities for the GeodesicLineSolve instance. `name` - Optional `name=NN` (`str`). 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.

### ArcDirectLine (self, lat1, lon1, azi1, caps=32671, **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` - Desired capabilities for the GeodesicLineSolve instance. `name` - Optional `name=NN` (`str`). 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=32671, **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` - Desired capabilities for the GeodesicLineSolve instance. `name` - Optional `name=NN` (`str`). 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=32671, **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` - Desired capabilities for the GeodesicLineSolve instance. `name` - Optional `name=NN` (`str`). Returns: A GeodesicLineSolve instance. Note: Both `lat1` and `lat2` should in the range `[-90, +90]`. See Also: C++ GeodesicExact.InverseLine and Python Geodesic.InverseLine.

### toStr (self, **prec_sep_other) |
Return this `GeodesicSolve` as string. Arguments: `prec_sep` - See toStr. Returns: GeodesicSolve items (`str`). Overrides: named._Named.toStr