Package pygeodesy :: Module etm :: Class ExactTransverseMercator
[frames] | no frames]

Class ExactTransverseMercator

  object --+        
           |        
named._Named --+    
               |    
named._NamedBase --+
                   |
                  ExactTransverseMercator

A Python version of Karney's TransverseMercatorExact C++ class, a numerically exact transverse Mercator projection, here referred to as TMExact.

Instance Methods
 
__init__(self, datum=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., lon0=0, k0=0.9996, extendp=True, name='')
New ExactTransverseMercator projection.
 
forward(self, lat, lon, lon0=None)
Forward projection, from geographic to transverse Mercator.
 
reverse(self, x, y, lon0=None)
Reverse projection, from Transverse Mercator to geographic.
 
toStr(self, **kwds)
Return a str representation.

Inherited from named._NamedBase: __repr__, __str__, others, toRepr

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

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

Properties
  datum
(INTERNAL) Class property with retrievable name.
  ellipsoid
Get the ellipsoid (Ellipsoid) or None.
  equatoradius
Get the ellipsoid's equatorial radius, semi-axis (meter).
  extendp
Get using the extended or standard domain (bool).
  flattening
Get the ellipsoid's flattening (float).
  iteration
Get the most recent ExactTransverseMercator.forward or ExactTransverseMercator.reverse iteration number (int) or None if not available/applicable.
  k0
(INTERNAL) Class property with retrievable name.
  lon0
(INTERNAL) Class property with retrievable name.
  majoradius
DEPRECATED, use property equatoradius.

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

Inherited from object: __class__

Method Details

__init__ (self, datum=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., lon0=0, k0=0.9996, extendp=True, name='')
(Constructor)

 

New ExactTransverseMercator projection.

Arguments:
  • datum - The non-spherical datum or ellipsoid (Datum, Ellipsoid, Ellipsoid2 or a_f2Tuple).
  • lon0 - The central meridian (degrees180).
  • k0 - The central scale factor (float).
  • extendp - Use the extended or standard domain (bool).
  • name - Optional name for the projection (str).
Raises:
  • ETMError - Invalid lon0 or k0 or near-spherical datum or ellipsoid.
  • TypeError - Invalid or near-spherical datum.
Overrides: object.__init__

See Also: Constructor TransverseMercatorExact<https://GeographicLib.SourceForge.io/ html/classGeographicLib_1_1TransverseMercatorExact.html for more details, especially on extendp.

Note: For all 255.5K TMcoords.dat tests (with 0 <= lat <= 84 and 0 <= lon) the maximum error is 5.2e-08 .forward (or 52 nano-meter) easting and northing and 3.8e-13 .reverse (or 0.38 pico-degrees) lat- and longitude (with Python 3.7.3+, 2.7.16+, PyPy6 3.5.3 and PyPy6 2.7.13, all in 64-bit on macOS 10.13.6 High Sierra x86_64 and 12.2 Monterey arm64 and "arm64_x86_64").

forward (self, lat, lon, lon0=None)

 

Forward projection, from geographic to transverse Mercator.

Arguments:
  • lat - Latitude of point (degrees).
  • lon - Longitude of point (degrees).
  • lon0 - Central meridian of the projection (degrees), overriding the default.
Returns:
EasNorExact4Tuple(easting, northing, convergence, scale) in meter, meter, degrees and scalar.
Raises:
  • EllipticError - No convergence transforming to ETM east- and northing.

See Also: void TMExact::Forward(real lon0, real lat, real lon, real &x, real &y, real &gamma, real &k).

reverse (self, x, y, lon0=None)

 

Reverse projection, from Transverse Mercator to geographic.

Arguments:
  • x - Easting of point (meters).
  • y - Northing of point (meters).
  • lon0 - Central meridian of the projection (degrees), overriding the default.
Returns:
LatLonExact4Tuple(lat, lon, convergence, scale) in degrees, degrees180, degrees and scalar.
Raises:
  • EllipticError - No convergence transforming to lat- and longitude.

See Also: void TMExact::Reverse(real lon0, real x, real y, real &lat, real &lon, real &gamma, real &k)

toStr (self, **kwds)

 

Return a str representation.

Arguments:
  • kwds - Optional, overriding keyword arguments.
Overrides: named._Named.toStr

Property Details

datum

(INTERNAL) Class property with retrievable name.

Get method:
datum(self) - Get the datum (Datum) or None.
Set method:
datum(self, datum) - Set the datum and ellipsoid (Datum, Ellipsoid, Ellipsoid2 or a_f2Tuple).

ellipsoid

Get the ellipsoid (Ellipsoid) or None.

Get method:
ellipsoid(self) - Get the ellipsoid (Ellipsoid) or None.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

equatoradius

Get the ellipsoid's equatorial radius, semi-axis (meter).

Get method:
equatoradius(self) - Get the ellipsoid's equatorial radius, semi-axis (meter).
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

extendp

Get using the extended or standard domain (bool).

Get method:
extendp(self) - Get using the extended or standard domain (bool).
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

flattening

Get the ellipsoid's flattening (float).

Get method:
flattening(self) - Get the ellipsoid's flattening (float).
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

iteration

Get the most recent ExactTransverseMercator.forward or ExactTransverseMercator.reverse iteration number (int) or None if not available/applicable.

Get method:
iteration(self) - Get the most recent ExactTransverseMercator.forward or ExactTransverseMercator.reverse iteration number (int) or None if not available/applicable.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

k0

(INTERNAL) Class property with retrievable name.

Get method:
k0(self) - Get the central scale factor (float), aka scale0.
Set method:
k0(self, k0) - Set the central scale factor (float), aka scale0.

lon0

(INTERNAL) Class property with retrievable name.

Get method:
lon0(self) - Get the central meridian (degrees180).
Set method:
lon0(self, lon0) - Set the central meridian (degrees180).

majoradius

DEPRECATED, use property equatoradius.

Get method:
majoradius(self) - DEPRECATED, use property equatoradius.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.