pygeodesy.ktm

Package pygeodesy :: Module ktm |
[frames] | no frames]

# Module ktm

A pure Python version of Karney's C++ class TransverseMercator based on Krüger series. See also Karney's utility TransverseMercatorProj.

Following and further below is a copy of Karney's TransverseMercator.hpp file `Header`.

This implementation follows closely JHS 154, ETRS89 - järjestelmään liittyvät karttaprojektiot, tasokoordinaatistot ja karttalehtijako (Map projections, plane coordinates, and map sheet index for ETRS89), published by JUHTA, Finnish Geodetic Institute, and the National Land Survey of Finland (2006). The relevant section is available as the 2008 PDF file.

This is a straight transcription of the formulas in this paper with the following exceptions:

- Use of 6th order series instead of 4th order series. This reduces the error to about 5 nm for the UTM range of coordinates (instead of 200 nm), with a speed penalty of only 1%,
- Use Newton's method instead of plain iteration to solve for latitude in terms of isometric latitude in the Reverse method,
- Use of Horner's representation for evaluating polynomials and Clenshaw's method for summing trigonometric series,
- Several modifications of the formulas to improve the numerical accuracy,
- Evaluating the convergence and scale using the expression for the projection or its inverse.

Copyright (C) Charles Karney (2008-2024) and licensed under the MIT/X11 License. For more information, see the GeographicLib documentation.

Version: 25.08.31

Classes
| KTMError Error raised for KTransverseMercator and KTransverseMercator.forward issues.
| KTransverseMercator Karney's C++ class TransverseMercator transcoded to pure Python, following is a partial copy of Karney's documentation.

Variables
| __all__ = `_ALL_LAZY.ktm`