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

Module ellipsoidalBase

(INTERNAL) Private ellipsoidal base classes CartesianEllipsoidalBase and LatLonEllipsoidalBase.

A pure Python implementation of geodesy tools for ellipsoidal earth models, transcoded in part from JavaScript originals by (C) Chris Veness 2005-2016 and published under the same MIT Licence**, see for example latlon-ellipsoidal.


Version: 23.10.10

Classes
  CartesianEllipsoidalBase
(INTERNAL) Base class for ellipsoidal Cartesians.
  LatLonEllipsoidalBase
(INTERNAL) Base class for ellipsoidal LatLons.
Functions
 
intersecant2(center, circle, point, bearing, radius=None, exact=False, height=None, wrap=False)
Compute the intersections of a circle and a line given as a point and bearing or as two points.
Variables
  __all__ = _ALL_LAZY.ellipsoidalBase
Function Details

intersecant2 (center, circle, point, bearing, radius=None, exact=False, height=None, wrap=False)

 

Compute the intersections of a circle and a line given as a point and bearing or as two points.

Arguments:
  • center - Center of the circle (LatLon).
  • circle - Radius of the circle (meter, same units as radius) or a point on the circle (LatLon).
  • point - A point in- or outside the circle on the line (LatLon).
  • bearing - Bearing at the point (compass degrees360) or an other point on the line (LatLon).
  • radius - Optional earth radius (meter) or earth model (Datum, Ellipsoid, Ellipsoid2 or a_f2Tuple), overriding the center's and point's datum.
  • exact - Exact Rhumb... to use (bool or Rhumb...), see method Ellipsoid.rhumb_.
  • height - Optional height for the intersection points (meter, conventionally) or None.
  • wrap - If True, wrap or normalize and unroll the point and the circle and bearing points (bool).
Returns:
2-Tuple of the intersection points (representing a chord), each an instance of this class. For a tangent line, both points are the same instance, the point or wrapped or normalized.
Raises:
  • IntersectionError - The circle and line do not intersect.
  • TypeError - If center or point not ellipsoidal LatLon or circle or bearing invalid.
  • ValueError - Invalid circle, bearing, radius, exact or height.