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, referred to as TMExact here.


See Also: TMExact(real a, real f, real k0, bool extendp).

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.

Inherited from named._NamedBase: __repr__, __str__, others, toStr, toStr2

Inherited from named._Named: __copy__, classof, copy

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

Class Variables
  _trips_ = 13
Properties
  datum
Get the datum (Datum) or None.
  extendp
Get using the extended domain (bool).
  flattening
Get the flattening (float).
  k0
Get the central scale factor (float), aka scale0.
  lon0
Get the central meridian (degrees180).
  majoradius
Get the major (equatorial) radius, semi-axis (float).

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

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.

Parameters:
  • datum - The datum and ellipsoid to use (Datum).
  • lon0 - The central meridian (degrees180).
  • k0 - The central scale factor (float).
  • extendp - Use the extended domain (bool).
  • name - Optional name for the projection (str).
Raises:
Overrides: object.__init__

Note: The maximum error for all 255.5K TMcoords.dat tests (with 0 <= lat <= 84 and 0 <= lon) 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).

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

 

Forward projection, from geographic to transverse Mercator.

Parameters:
  • lat - Latitude of point (degrees).
  • lon - Longitude of point (degrees).
  • lon0 - Central meridian of the projection (degrees).
Returns:
EasNorExact4Tuple(easting, northing, convergence, scale) in meter, meter, degrees and scalar.
Raises:

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.

Parameters:
  • x - Easting of point (meters).
  • y - Northing of point (meters).
  • lon0 - Central meridian of the projection (degrees).
Returns:
LatLonExact4Tuple(lat, lon, convergence, scale) in degrees, degrees180, degrees and scalar.
Raises:

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


Property Details

datum

Get the datum (Datum) or None.

Get Method:
datum(self) - Get the datum (Datum) or None.
Set Method:
datum(self, datum) - Set the datum and ellipsoid (Datum).

extendp

Get using the extended domain (bool).

Get Method:
extendp(self) - Get using the extended domain (bool).
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

flattening

Get the flattening (float).

Get Method:
flattening(self) - Get the flattening (float).
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

k0

Get the central scale factor (float), aka scale0.

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

Get the central meridian (degrees180).

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

majoradius

Get the major (equatorial) radius, semi-axis (float).

Get Method:
majoradius(self) - Get the major (equatorial) radius, semi-axis (float).
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.