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

Module azimuthal

Equidistant, Equal-Area, and other Azimuthal projections.

Classes Equidistant, EquidistantExact, EquidistantGeodSolve, EquidistantKarney, Gnomonic, GnomonicExact, GnomonicKarney, LambertEqualArea, Orthographic and Stereographic, classes AzimuthalError, Azimuthal7Tuple and functions equidistant and gnomonic.

EquidistantExact and GnomonicExact are based on exact geodesic classes GeodesicExact and GeodesicLineExact, Python versions of Charles Karney's C++ original GeodesicExact, respectively GeodesicLineExact.

Using EquidistantGeodSolve requires Karney's utility GeodSolve to be executable and set in env variable PYGEODESY_GEODSOLVE, see module geodsolve for more details.

EquidistantKarney and GnomonicKarney require Karney's Python package geographiclib to be installed.

Other azimuthal classes implement only (***) Snyder's FORMULAS FOR THE SPHERE and use those for any datum, spherical and ellipsoidal. The radius used for the latter is the ellipsoid's mean radius of curvature at the latitude of the projection center point. For further justification, see the first paragraph under Snyder's FORMULAS FOR THE ELLIPSOID, page 197.

Page numbers in Snyder references apply to John P. Snyder, "Map Projections -- A Working Manual", 1987.

See also here, especially the Comparison of the Azimuthal equidistant projection and some azimuthal projections centred on 90° N at the same scale, ordered by projection altitude in Earth radii.


Version: 24.07.25

Classes
  AzimuthalError
An azimuthal Equidistant, EquidistantKarney, Gnomonic, LambertEqualArea, Orthographic, Stereographic or Azimuthal7Tuple issue.
  Azimuthal7Tuple
7-Tuple (x, y, lat, lon, azimuth, scale, datum), in meter, meter, degrees90, degrees180, compass degrees, scalar and Datum where (x, y) is the easting and northing of a projected point, (lat, lon) the geodetic location, azimuth the azimuth, clockwise from true North and scale is the projection scale, either 1 / reciprocal or 1 or -1 in the Equidistant case.
  Equidistant
Azimuthal equidistant projection for the sphere***, see Snyder, pp 195-197 and MathWorld-Wolfram.
  EquidistantExact
Azimuthal equidistant projection, a Python version of Karney's C++ class AzimuthalEquidistant, based on exact geodesic classes GeodesicExact and GeodesicLineExact.
  EquidistantGeodSolve
Azimuthal equidistant projection, a Python version of Karney's C++ class AzimuthalEquidistant, based on (exact) geodesic wrappers GeodesicSolve and GeodesicLineSolve and intended for testing purposes only.
  EquidistantKarney
Azimuthal equidistant projection, a Python version of Karney's C++ class AzimuthalEquidistant, requiring package geographiclib to be installed.
  Gnomonic
Azimuthal gnomonic projection for the sphere***, see Snyder, pp 164-168 and MathWorld-Wolfram.
  GnomonicExact
Azimuthal gnomonic projection, a Python version of Karney's C++ class Gnomonic, based on exact geodesic classes GeodesicExact and GeodesicLineExact.
  GnomonicGeodSolve
Azimuthal gnomonic projection, a Python version of Karney's C++ class Gnomonic, based on (exact) geodesic wrappers GeodesicSolve and GeodesicLineSolve and intended for testing purposes only.
  GnomonicKarney
Azimuthal gnomonic projection, a Python version of Karney's C++ class Gnomonic, requiring package geographiclib to be installed.
  LambertEqualArea
Lambert-equal-area projection for the sphere*** (aka Lambert zenithal equal-area projection, see Snyder, pp 185-187 and MathWorld-Wolfram.
  Orthographic
Orthographic projection for the sphere***, see Snyder, pp 148-153 and MathWorld-Wolfram.
  Stereographic
Stereographic projection for the sphere***, see Snyder, pp 157-160 and MathWorld-Wolfram.
Functions
 
equidistant(lat0, lon0, datum=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., exact=False, geodsolve=False, **name)
Return an EquidistantExact, EquidistantGeodSolve or (if Karney's geographiclib package is installed) an EquidistantKarney, otherwise an Equidistant instance.
 
gnomonic(lat0, lon0, datum=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., exact=False, geodsolve=False, **name)
Return a GnomonicExact or (if Karney's geographiclib package is installed) a GnomonicKarney, otherwise a Gnomonic instance.
Variables
  __all__ = _ALL_LAZY.azimuthal
Function Details

equidistant (lat0, lon0, datum=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., exact=False, geodsolve=False, **name)

 

Return an EquidistantExact, EquidistantGeodSolve or (if Karney's geographiclib package is installed) an EquidistantKarney, otherwise an Equidistant instance.

Arguments:
  • lat0 - Latitude of center point (degrees90).
  • lon0 - Longitude of center point (degrees180).
  • datum - Optional datum or ellipsoid (Datum, Ellipsoid, Ellipsoid2 or a_f2Tuple) or scalar earth radius (meter).
  • exact - Return an EquidistantExact instance.
  • geodsolve - Return an EquidistantGeodSolve instance.
  • name - Optional name=NN for the projection (str).
Returns:
An EquidistantExact, EquidistantGeodSolve, EquidistantKarney or Equidistant instance.
Raises:

gnomonic (lat0, lon0, datum=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., exact=False, geodsolve=False, **name)

 

Return a GnomonicExact or (if Karney's geographiclib package is installed) a GnomonicKarney, otherwise a Gnomonic instance.

Arguments:
  • lat0 - Latitude of center point (degrees90).
  • lon0 - Longitude of center point (degrees180).
  • datum - Optional datum or ellipsoid (Datum, Ellipsoid, Ellipsoid2 or a_f2Tuple) or scalar earth radius (meter).
  • exact - Return a GnomonicExact instance.
  • geodsolve - Return a GnomonicGeodSolve instance.
  • name - Optional name=NN for the projection (str).
Returns:
A GnomonicExact, GnomonicGeodSolve, GnomonicKarney or Gnomonic instance.
Raises: