pygeodesy.azimuthal.EquidistantExact

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`: `__format__`, `__imatmul__`, `__matmul__`, `__rmatmul__`, `attrs`, `classof`, `copy`, `dup`, `methodname`, `rename`, `renamed`, `toStr2` Inherited from `object`: `__delattr__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__sizeof__`, `__subclasshook__`

Properties
| geodesic Get this projection's exact geodesic (GeodesicExact).
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`, `typename` 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: `AzimuthalError` - Invalid `lat0` or `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=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: `AzimuthalError` - Invalid `lat` or `lon`. 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` and optionally, 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 this projection's exact geodesic (GeodesicExact). Get method: geodesic(self) - Get this projection's exact geodesic (GeodesicExact). Set method: _fset_error(inst, val) - Throws an `AttributeError`, always. Delete Method: _fdel(inst) - Zap the cached/memoized `property` value.