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

Class EquidistantExact

  object --+                    
           |                    
named._Named --+                
               |                
named._NamedBase --+            
                   |            
      _AzimuthalBase --+        
                       |        
      _AzimuthalGeodesic --+    
                           |    
            _EquidistantBase --+
                               |
                              EquidistantExact

Azimuthal equidistant projection, a Python version of Karney's C++ class AzimuthalEquidistant, based on exact geodesic classes GeodesicExact and GeodesicLineExact.

An azimuthal equidistant projection is centered at an arbitrary position on the ellipsoid. For a point in projected space (x, y), the geodesic distance from the center position is hypot(x, y) and the azimuth of the geodesic from the center point is atan2(x, y), clockwise from true North.

The .forward and .reverse methods also return the azimuth of the geodesic at (x, y) and the scale in the azimuthal direction which, together with the basic properties of the projection, serve to specify completely the local affine transformation between geographic and projected coordinates.

Instance Methods
 
__init__(self, lat0, lon0, datum=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., **name)
New azimuthal EquidistantExact projection.
 
forward(self, lat, lon, **name)
Convert an (ellipsoidal) geodetic location to azimuthal equidistant east- and northing.
 
reverse(self, x, y, LatLon=None, **name_LatLon_kwds)
Convert an azimuthal equidistant location to (ellipsoidal) geodetic lat- and longitude.

Inherited from _AzimuthalBase: reset, toRepr, toStr

Inherited from named._NamedBase: __repr__, __str__, others

Inherited from named._Named: __imatmul__, __matmul__, __rmatmul__, attrs, classof, copy, dup, methodname, rename, renamed, toStr2

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Properties
  geodesic

Inherited from _AzimuthalBase: a, datum, equatoradius, f, flattening, lat0, latlon0, lon0, majoradius, radius

Inherited from named._Named: classname, classnaming, iteration, name, named, named2, named3, named4, sizeof

Inherited from object: __class__

Method Details

__init__ (self, lat0, lon0, datum=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., **name)
(Constructor)

 

New azimuthal EquidistantExact projection.

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).
  • name - Optional name=NN for the projection (str).
Raises:
Overrides: object.__init__

forward (self, lat, lon, **name)

 

Convert an (ellipsoidal) geodetic location to azimuthal equidistant east- and northing.

Arguments:
  • lat - Latitude of the location (degrees90).
  • lon - Longitude of the location (degrees180).
  • name - Optional name=NN for the location (str).
Returns:
An Azimuthal7Tuple(x, y, lat, lon, azimuth, scale, datum) with easting x and northing y of point in meter and lat and lon in degrees and azimuth clockwise from true North. The scale of the projection is 1 in radial direction and is 1 / reciprocal in the direction perpendicular to this.
Raises:
Overrides: _AzimuthalBase.forward

Note: A call to .forward followed by a call to .reverse will return the original lat, lon to within roundoff.

reverse (self, x, y, LatLon=None, **name_LatLon_kwds)

 

Convert an azimuthal equidistant location to (ellipsoidal) geodetic lat- and longitude.

Arguments:
  • x - Easting of the location (meter).
  • y - Northing of the location (meter).
  • LatLon - Class to use (LatLon) or None.
  • name_LatLon_kwds - Optional name=NN for the location and optional, additional LatLon keyword arguments, ignored if LatLon is None.
Returns:
The geodetic (LatLon) or if LatLon is None an Azimuthal7Tuple(x, y, lat, lon, azimuth, scale, datum).
Overrides: _AzimuthalBase.reverse

Note: The lat will be in the range [-90..90] degrees and lon in the range [-180..180] degrees. The scale of the projection is 1 in radial direction, azimuth clockwise from true North and is 1 / reciprocal in the direction perpendicular to this.


Property Details

geodesic

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.