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

# Class EquidistantKarney

      object --+
               |
    named._Named --+
                   |
    named._NamedBase --+
                       |
          _AzimuthalBase --+
                           |
        _AzimuthalBaseKarney --+
                               |
                              EquidistantKarney

Azimuthal equidistant projection, a Python version of Karney's C++ class AzimuthalEquidistant, requiring package geographiclib to be installed.

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 EquidistantKarney projection. |
forward(self, lat, lon, name=`'````'`) Convert an (ellipsoidal) geodetic location to azimuthal equidistant east- and northing. |
reverse(self, x, y, name=`'````'`, LatLon=None, **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`: `_dot_`, `attrs`, `classof`, `copy`, `toStr2` Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__sizeof__`, `__subclasshook__`

Properties
Inherited from `_AzimuthalBaseKarney`: `geodesic` Inherited from `_AzimuthalBase`: `datum`, `equatoradius`, `flattening`, `iteration`, `lat0`, `latlon0`, `lon0`, `majoradius`, `radius` Inherited from `named._Named`: `classname`, `classnaming`, `name`, `named`, `named2` Inherited from `object`: `__class__`

Method Details

### __init__ (self, lat0, lon0, datum=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran`...`, name=`'````'`) (Constructor) |
New azimuthal EquidistantKarney 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 for the projection (`str`). Raises: `ImportError` - Package geographiclib missing. `AzimuthalError` - Invalid `lat0`, `lon0` or `datum`. 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 for the location (`str`). Returns: An Azimuthal7Tuple`(x, y, lat, lon, azimuth, scale, datum)` with `x` and `y` in `meter` and `lat` and `lon` in `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. Raises: `AzimuthalError` - Invalid `lat` or `lon`. See Also: Method EquidistantKarney.reverse. A call to `.forward` followed by a call to `.reverse` will return the original `lat, lon` to within roundoff.

### reverse (self, x, y, name=`'````'`, LatLon=None, **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`). `name` - Optional name for the location (`str`). `LatLon` - Class to use (`LatLon`) or `None`. `LatLon_kwds` - Optional, additional `LatLon` keyword arguments, ignored if `LatLon=None`. Returns: The geodetic (`LatLon`) or if `LatLon` is `None` an Azimuthal7Tuple`(x, y, lat, lon, azimuth, scale, datum)`. 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.