Package pygeodesy :: Module karney |
[frames] | no frames]

# Module karney

Karney's geographiclib, wrapped.

Wrapper around Charles Karney's Python classes `Geodesic` and `GeodesicLine` and `Math` functions `AngDiff`, `AngNormalize`, `LatFix` and `sum` from Karney's geographiclib, Python package, provided that package is installed.

The wrapped class methods return a `named._NamedDict`-like instance providing access to the GDict items by key or by attribute name.

Following are PyGeodesy classes and functions transcoded from Karney's original C++ GeographicLib:

- AlbersEqualArea, AlbersEqualArea2, AlbersEqualArea4, AlbersEqualAreaCylindrical, AlbersEqualAreaNorth, AlbersEqualAreaSouth -- AlbersEqualArea
- CassiniSoldner -- CassiniSoldner
- EcefKarney -- Geocentric
- Elliptic -- EllipticFunction
- EquidistantExact, EquidistantGeodSolve, EquidistantKarney -- AzimuthalEquidistant
- Etm, ExactTransverseMercator -- TransverseMercatorExact
- GeodesicAreaExact, PolygonArea -- PolygonArea
- GeodesicExact, GeodesicLineExact -- GeodesicExact, GeodesicLineExact
- GeoidKarney -- Geoid
- Georef -- Georef
- GnomonicExact, GnomonicGeodSolve, GnomonicKarney -- Gnomonic
- LocalCartesian, Ltp -- LocalCartesian
- Ups -- PolarStereographic
- Utm -- TransverseMercator
- UtmUps, Epsg -- UTMUPS
- atan2d, sincos2, sincos2d-- Math

The following PyGeodesy module, classes and functions are wrappers around some of Karney's Python geographiclib or C++ Utility programs:

- karney, ellipsoidalGeodSolve, ellipsoidalKarney, EquidistantKarney, FrechetKarney, geodsolve, GeodesicSolve, GeodesicLineSolve, GnomonicGeodSolve, GnomonicKarney, HeightIDWkarney

Lastly, spherical functions:

- excessKarney_, sphericalTrigonometry.areaOf

are based on Karney's post Area of a spherical polygon and ellipsoidal functions and methods:

- ellipsoidalExact.intersection3, ellipsoidalExact.intersections2, ellipsoidalExact.nearestOn, ellipsoidalExact.LatLon.intersection3, ellipsoidalExact.LatLon.intersections2, ellipsoidalExact.LatLon.nearestOn, ellipsoidalExact.LatLon.trilaterate5
- ellipsoidalKarney.intersection3, ellipsoidalKarney.intersections2, ellipsoidalKarney.nearestOn, ellipsoidalKarney.LatLon.intersection3, ellipsoidalKarney.LatLon.intersections2, ellipsoidalKarney.LatLon.nearestOn, ellipsoidalKarney.LatLon.trilaterate5
- ellipsoidalVincenty.intersection3, ellipsoidalVincenty.intersections2, ellipsoidalVincenty.nearestOn, ellipsoidalVincenty.LatLon.intersection3, ellipsoidalVincenty.LatLon.intersections2, ellipsoidalVincenty.LatLon.nearestOn, ellipsoidalVincenty.LatLon.trilaterate5

are implementations of Karney's post The ellipsoidal case and paper Geodesics on an ellipsoid of revolution (pp 20-21, section 14. MARITIME BOUNDARIES).

Version: 21.06.25

Classes
| Direct9Tuple 9-Tuple `(a12, lat2, lon2, azi2, s12, m12, M12, M21, S12)` with arc length `a12`, `lat2`, `lon2` and azimuth `azi2` in `degrees`, distance `s12` and reduced length `m12` in `meter` and area `S12` in `meter` squared.
| GDict Basic `dict` with both key and attribute access to the `dict` items.
| GeodesicError Error raised for geodesicx's methods for lack of convergence or other issues.
| GeodSolve12Tuple 12-Tuple `(lat1, lon1, azi1, lat2, lon2, azi2, s12, a12, m12, M12, M21, S12)` with angles `lat1`, `lon1`, `azi1`, `lat2`, `lon2` and `azi2` and arc `a12` all in `degrees`, distance `s12` and reduced length `m12` in `meter`, area `S12` in `meter` squared and geodesic scales `M12` and `M21` `scalar`, see GeodSolve.
| Inverse10Tuple 10-Tuple `(a12, s12, salp1, calp1, salp2, calp2, m12, M12, M21, S12)` with arc length `1a12` in `degrees`, distance `s12` and reduced length `m12` in `meter`, area `S12` in `meter` squared and sines and cosines of initial and final (forward) azimuths.

Variables
| __all__ = `_ALL_LAZY.karney`