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

# Module azimuthal

Azimuthal projection classes Equidistant, EquidistantKarney, Gnomonic, LambertEqualArea, Orthographic, Stereographic and AzimuthalError and function equidistant.

EquidistantKarney uses ellipsoidal formulas and requires Charles Karney's Python implementation of GeographicLib package 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: 20.08.01

Classes
| _AzimuthalBase (INTERNAL) Base class for azimuthal projections.
| AzimuthalError An azimuthal Equidistant, EquidistantKarney, Gnomonic, LambertEqualArea, Orthographic or Stereographic issue.
| Azimuthal7Tuple 7-Tuple `(x, y, lat, lon, azimuth, scale, datum)`, in `meter`, `meter`, `degrees90`, `degrees180`, `degrees360`, `float` and `Datum` where `(x, y)` is the projected, `(lat, lon)` the geodetic location, `azimuth` the azimuth direction clockwise from true North and `scale` is the projection scale, either (`1 / reciprocal` or `1` or `-1` in one case, Equidistant).
| Equidistant Azimuthal equidistant projection for the sphere**, see Snyder, pp 195-197 and MathWorld-Wolfram.
| 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.
| LambertEqualArea Lambert-equal-area projection for the sphere**, 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`...`, name=`'````'`) If Karney's geographiclib package is installed, return an EquidistantKarney otherwise an Equidistant instance. |

Variables
| __all__ = `_ALL_LAZY.azimuthal`

Function Details

### equidistant (lat0, lon0, datum=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran`...`, name=`'````'`) |
If Karney's geographiclib package is installed, return an EquidistantKarney otherwise an Equidistant instance. Arguments: `lat0` - Latitude of center point (`degrees90`). `lon0` - Longitude of center point (`degrees180`). `datum` - Optional datum (`Datum`) or the radius of the spherical earth (`meter`). `name` - Optional name for the projection (`str`). Returns: An EquidistantKarney or Equidistant instance. Raises: `RangeError` - Invalid `lat0` or `lon0`. `UnitError` - Invalid `lat0`, `lon0` or `datum`.