[frames] | no frames]

[ Module Hierarchy | Class Hierarchy ]

# Class Hierarchy

- object: The most base type
  - exceptions.BaseException: Common base class for all exceptions
    - exceptions.Exception: Common base class for all non-exit exceptions.
      - exceptions.StandardError: Base class for all standard Python exceptions that do not represent interpreter exiting.
        - exceptions.ImportError: Import can't find module, or can't find name in module.
          - pygeodesy.lazily.LazyImportError: Lazy import is not supported, disabled or failed some other way.
        - exceptions.ValueError: Inappropriate argument value (of correct type).
          - pygeodesy.vector3d.CrossError: Error raised for zero or near-zero vectorial cross products, occurring for coincident or colinear points, paths or bearings.
          - pygeodesy.epsg.EPSGError: EPSG encode or decode error.
          - pygeodesy.elliptic.EllipticError: Elliptic integral, function, convergence or value issue.
          - pygeodesy.heights.HeightError: Height interpolator or interpolation error.
            - pygeodesy.geoids.GeoidError: Geoid interpolator or interpolation error.
              - pygeodesy.geoids.PGMError: Error parsing or cropping an `egm*.pgm` geoid dataset.
            - pygeodesy.heights.SciPyError: Error raised for `SciPy` errors.
            - pygeodesy.heights.SciPyWarning: Exception thrown for `SciPy` warnings.
          - pygeodesy.utily.LimitError: Error raised for lat- or longitudinal deltas exceeding the `limit` in functions equirectangular and equirectangular_.
          - pygeodesy.dms.RangeError: Error raised for lat- or longitude values outside the `clip`, `clipLat`, `clipLon` or `limit` range in function clipDMS, parse3llh, parseDMS or parseDMS2.
          - pygeodesy.ups.UPSError: UPS parse or other error.
          - pygeodesy.utm.UTMError: UTM parse or other error.
            - pygeodesy.etm.ETMError: ETM parse, projection or other error.
          - pygeodesy.utmups.UTMUPSError: UTM/UPS parse, validate or other error.
          - pygeodesy.ellipsoidalVincenty.VincentyError: Error raised from Vincenty's direct and inverse methods for coincident points or lack of convergence.
  - _abcoll.Container
    - _abcoll.Sequence: All the operations on a read-only sequence.
      - pygeodesy.points._Basequence: (INTERNAL) Base class.
        - pygeodesy.points.LatLon2psxy: Wrapper for `LatLon` points as "on-the-fly" pseudo-xy coordinates.
        - pygeodesy.points._Array2LatLon: Base class for Numpy2LatLon or Tuple2LatLon.
          - pygeodesy.points.Numpy2LatLon: Wrapper for `NumPy` arrays as "on-the-fly" `LatLon` points.
          - pygeodesy.points.Tuple2LatLon: Wrapper for tuple sequences as "on-the-fly" `LatLon` points.
  - pygeodesy.fmath.Fsum: Precision summation similar to standard Python function `math.fsum`.
    - pygeodesy.fmath.Fdot: Precision dot product.
    - pygeodesy.fmath.Fhorner: Precision polynomial evaluation using the Horner form.
    - pygeodesy.fmath.Fpolynomial: Precision polynomial evaluation.
  - _abcoll.Iterable
    - _abcoll.Sequence: All the operations on a read-only sequence.
      - pygeodesy.points._Basequence: (INTERNAL) Base class.
        - pygeodesy.points.LatLon2psxy: Wrapper for `LatLon` points as "on-the-fly" pseudo-xy coordinates.
        - pygeodesy.points._Array2LatLon: Base class for Numpy2LatLon or Tuple2LatLon.
          - pygeodesy.points.Numpy2LatLon: Wrapper for `NumPy` arrays as "on-the-fly" `LatLon` points.
          - pygeodesy.points.Tuple2LatLon: Wrapper for tuple sequences as "on-the-fly" `LatLon` points.
  - pygeodesy.points.LatLon_: Low-overhead `LatLon` class for Numpy2LatLon and Tuple2LatLon.
  - _abcoll.Sized
    - _abcoll.Sequence: All the operations on a read-only sequence.
      - pygeodesy.points._Basequence: (INTERNAL) Base class.
        - pygeodesy.points.LatLon2psxy: Wrapper for `LatLon` points as "on-the-fly" pseudo-xy coordinates.
        - pygeodesy.points._Array2LatLon: Base class for Numpy2LatLon or Tuple2LatLon.
          - pygeodesy.points.Numpy2LatLon: Wrapper for `NumPy` arrays as "on-the-fly" `LatLon` points.
          - pygeodesy.points.Tuple2LatLon: Wrapper for tuple sequences as "on-the-fly" `LatLon` points.
  - pygeodesy.points._Basequence: (INTERNAL) Base class.
    - pygeodesy.points.LatLon2psxy: Wrapper for `LatLon` points as "on-the-fly" pseudo-xy coordinates.
    - pygeodesy.points._Array2LatLon: Base class for Numpy2LatLon or Tuple2LatLon.
      - pygeodesy.points.Numpy2LatLon: Wrapper for `NumPy` arrays as "on-the-fly" `LatLon` points.
      - pygeodesy.points.Tuple2LatLon: Wrapper for tuple sequences as "on-the-fly" `LatLon` points.
  - pygeodesy.named._Named: (INTERNAL) Root class for named objects.
    - pygeodesy.elliptic.Elliptic: Elliptic integrals and functions.
    - pygeodesy.ellipsoidalNvector.Ned: North-Eeast-Down (NED), also known as Local Tangent Plane (LTP), is a vector in the local coordinate frame of a body.
    - pygeodesy.heights._HeightBase: Interpolator base class.
      - pygeodesy.heights.HeightCubic: Height interpolator based on `SciPy` interp2d `kind='cubic'`.
        - pygeodesy.heights.HeightLinear: Height interpolator based on `SciPy` interp2d `kind='linear]`.
      - pygeodesy.heights.HeightLSQBiSpline: Height interpolator using `SciPy` LSQSphereBivariateSpline.
      - pygeodesy.heights.HeightSmoothBiSpline: Height interpolator using `SciPy` SmoothSphereBivariateSpline.
      - pygeodesy.geoids._GeoidBase: (INTERNAL) Base class for `Geoid...`s.
        - pygeodesy.geoids.GeoidG2012B: Geoid height interpolator for GEOID12B Model grids CONUS, Alaska, Hawaii, Guam and Northern Mariana Islands, Puerto Rico and U.S. Virgin Islands and American Samoa based on `SciPy` RectBivariateSpline or interp2d interpolation.
        - pygeodesy.geoids.GeoidKarney: Geoid height interpolator for Charles Karney's GeographicLib Earth Gravitational Model (EGM) geoid egm*.pgm datasets using bilinear or cubic interpolation and caching in pure Python transcribed from Karney's C++ class Geoid.
        - pygeodesy.geoids.GeoidPGM: Geoid height interpolator for Charles Karney's GeographicLib Earth Gravitational Model (EGM) geoid egm*.pgm datasets but based on `SciPy` RectBivariateSpline or interp2d interpolation.
      - pygeodesy.heights._HeightIDW: Base class for Inverse Distance Weighting (IDW) height interpolators.
        - pygeodesy.heights.HeightIDW: Height interpolator using Inverse Distance Weighting (IDW) and the angular `Euclidean` distance from function euclidean_.
        - pygeodesy.heights.HeightIDW2: Height interpolator using Inverse Distance Weighting (IDW) and the `equirectangular` distance (in radians squared) like function equirectangular_.
        - pygeodesy.heights.HeightIDW3: Height interpolator using Inverse Distance Weighting (IDW) and the angular `Haversine` distance from function haversine_.
    - pygeodesy.named._NamedBase: (INTERNAL) Base class with name.
      - pygeodesy.css.CassiniSoldner: A Python version of Charles Karney's CassiniSoldner C++ class.
      - pygeodesy.css.Css: Cassini-Soldner East-/Northing location.
      - pygeodesy.etm.ExactTransverseMercator: A Python version of Karney's TransverseMercatorExact C++ class, a numerically exact transverse mercator projection, referred to as `TMExact` here.
      - pygeodesy.bases.LatLonHeightBase: (INTERNAL) Base class for `LatLon` points on spherical or ellipsiodal earth models.
        - pygeodesy.ellipsoidalBase.LatLonEllipsoidalBase: (INTERNAL) Base class for ellipsoidal `LatLon`.
          - pygeodesy.ellipsoidalKarney.LatLon: An ellipsoidal LatLon similar to ellipsoidalVincenty.LatLon but using Charles F. F. Karney's Python GeographicLib to compute the geodesic distance, initial and final bearing (azimuths) between two given points or the destination point given a start point and an initial bearing.
          - pygeodesy.ellipsoidalNvector.LatLon: An n-vector-based ellipsoidal LatLon point.
          - pygeodesy.ellipsoidalVincenty.LatLon: Using the formulae devised by Thaddeus Vincenty (1975) with an ellipsoidal model of the earth to compute the geodesic distance and bearings between two given points or the destination point given an start point and initial bearing.
        - pygeodesy.nvector.LatLonNvectorBase: (INTERNAL) Base class for n-vector-based ellipsoidal and spherical `LatLon` classes.
          - pygeodesy.ellipsoidalNvector.LatLon: An n-vector-based ellipsoidal LatLon point.
          - pygeodesy.sphericalNvector.LatLon: New n-vector based point on spherical earth model.
        - pygeodesy.sphericalBase.LatLonSphericalBase: (INTERNAL) Base class for spherical `LatLon`.
          - pygeodesy.sphericalNvector.LatLon: New n-vector based point on spherical earth model.
          - pygeodesy.sphericalTrigonometry.LatLon: New point on spherical model earth model.
      - pygeodesy.lcc.Lcc: Lambert conformal conic East-/Northing location.
      - pygeodesy.mgrs.Mgrs: Military Grid Reference System (MGRS/NATO) references, with method to convert to UTM coordinates.
      - pygeodesy.osgr.Osgr: Ordinance Survey Grid References (OSGR) coordinate.
      - pygeodesy.utmupsBase.UtmUpsBase: Base class for Utm and Ups coordinates.
        - pygeodesy.ups.Ups: Universal Polar Stereographic (UPS) coordinate.
        - pygeodesy.utm.Utm: Universal Transverse Mercator (UTM) coordinate.
          - pygeodesy.etm.Etm: Exact Transverse Mercator (ETM) coordinate, a sub-class of Utm, a Universal Transverse Mercator (UTM) coordinate using the ExactTransverseMercator projection for highest accuracy.
      - pygeodesy.webmercator.Wm: Web Mercator (WM) coordinate.
      - pygeodesy.named._NamedEnumItem: (INTERNAL) Base class for registered `_NamedEnum` items.
        - pygeodesy.lcc.Conic: Lambert conformal conic projection (1- or 2-SP).
        - pygeodesy.datum.Datum: Ellipsoid and transform parameters for an earth model.
        - pygeodesy.datum.Ellipsoid: Ellipsoid with major and minor radius, semi-axis, (inverse) flattening and other pre-computed, frequently used attributes.
        - pygeodesy.datum.Transform: Helmert transformation.
      - pygeodesy.bases._VectorBase: (INTERNAL) Base class for Vector3d.
        - pygeodesy.vector3d.Vector3d: Generic 3-D vector manipulation.
          - pygeodesy.ellipsoidalBase.CartesianBase: (INTERNAL) Base class for ellipsoidal `Cartesian`.
            - pygeodesy.ellipsoidalKarney.Cartesian: Extended to convert (geocentric) Cartesian points to Karney-based (ellipsoidal) geodetic LatLon.
            - pygeodesy.ellipsoidalNvector.Cartesian: Extended to convert (geocentric) Cartesian points to (ellipsoidal) Nvector and n-vector-based geodetic LatLon.
            - pygeodesy.ellipsoidalVincenty.Cartesian: Extended to convert (geocentric) Cartesian points to Vincenty-based (ellipsoidal) geodetic LatLon.
          - pygeodesy.nvector.Nvector: Base class for ellipsoidal and spherical Nvector.
            - pygeodesy.ellipsoidalNvector.Nvector: An n-vector is a position representation using a (unit) vector normal to the earth ellipsoid.
            - pygeodesy.sphericalNvector.Nvector: An n-vector is a position representation using a (unit) vector normal to the earth's surface.
    - pygeodesy.named._NamedDict: (INTERNAL) Named `dict` with key and attribute access to the items.
      - pygeodesy.named.Neighbors8Dict: 8-Dict `(N, NE, E, SE, S, SW, W, NW)` of Geohashes, providing key and attribute access to the items.
    - pygeodesy.named._NamedInt: (INTERNAL) Named `int`.
      - pygeodesy.epsg.Epsg: EPSG class, a `_NamedInt`.
    - pygeodesy.named._NamedStr: (INTERNAL) Named `str`.
      - pygeodesy.gars.Garef: Garef class, a `_NamedStr`.
      - pygeodesy.geohash.Geohash: Geohash class, a _NamedStr.
      - pygeodesy.wgrs.Georef: Georef class, a `_NamedStr`.
    - pygeodesy.named._NamedTuple: (INTERNAL) Named `tuple` with index and attribute access to the items.
      - pygeodesy.named.Bearing2Tuple: 2-Tuple `(initial, final)` bearings, both in compass `degrees360`.
      - pygeodesy.named.Bounds2Tuple: 2-Tuple `(latlonSW, latlonNE)` with the bounds' lower-left and upper-right corner as `LatLon` instance.
      - pygeodesy.named.Bounds4Tuple: 4-Tuple `(latS, lonW, latN, lonE)` with the bounds' lower-left `(LatS, LowW)` and upper-right `(latN, lonE)` corner lat- and longitudes.
      - pygeodesy.named.ClipCS3Tuple: 3-Tuple `(start, end, index)` for each edge of a clipped path with the `start` and `end` points (`LatLon`) of the portion of the edge inside or on the clip box and the `index` (`int`) of the edge in the original path.
      - pygeodesy.named.ClipSH3Tuple: 3-Tuple `(start, end, original)` for each edge of a clipped polygon, the `start` and `end` points (`LatLon`) of the portion of the edge inside or on the clip region and the `original` indicates whether the edge is part of the original polygon or part of the clip region (`bool`).
      - pygeodesy.named.Curvature2Tuple: 2-Tuple `(meridional, prime_vertical)` of radii of curvature, both in `meter`.
      - pygeodesy.named.Destination2Tuple: 2-Tuple `(destination, final)`, `destination` in `LatLon` and `final` bearing in compass `degrees360`.
      - pygeodesy.named.Distance2Tuple: 2-Tuple `(distance, initial)`, `distance` in `meter` and `initial` bearing in compass `degrees360`.
      - pygeodesy.named.Distance3Tuple: 3-Tuple `(distance, initial, final)`, `distance` in `meter` and `initial` and `final` bearing, both in compass `degrees360`.
      - pygeodesy.named.Distance4Tuple: 4-Tuple `(distance2, delta_lat, delta_lon, unroll_lon2)` with the distance in `degrees squared`, the latitudinal `delta_lat` = `lat2`-`lat1`, the wrapped, unrolled and adjusted longitudinal `delta_lon` = `lon2`-`lon1` and the `unroll_lon2` unrollment for `lon2`.
      - pygeodesy.named.EasNor2Tuple: 2-Tuple `(easting, northing)`, both in `meter`.
      - pygeodesy.named.EasNor3Tuple: 3-Tuple `(easting, northing, height)`, all in `meter`.
      - pygeodesy.named.EasNorAziRk4Tuple: 4-Tuple `(easting, northing, azimuth, reciprocal)` for the Cassini-Soldner location with `easting` and `northing` in `meters`, the `azimuth` of easting direction azimuth and `reciprocal` the reciprocal of azimuthal northing scale reciprocal, both in `degrees`.
      - pygeodesy.named.EasNorExact4Tuple: 4-Tuple `(easting, northing, convergence, scale)` in `meter`, `meter`, {degrees} and `scalar`.
      - pygeodesy.named.EasNorRadius3Tuple: 3-Tuple `(easting, northing, radius)`, all in `meter`.
      - pygeodesy.named.Elevation2Tuple: 2-Tuple `(elevation, data_source)` in `meter` and `str`.
      - pygeodesy.named.GeoidHeight2Tuple: 2-Tuple `(height, model_name)`, geoid `height` in `meter` and `model_name` as `str`.
      - pygeodesy.named.GeoidHeight5Tuple: 5-Tuple `(lat, lon, egm84, egm96, egm2008)` for GeoidHeights.dat tests with the heights for 3 different EGM grids with `-90.0 <= lat <= 90.0` and `-180.0 <= lon <= 180.0` degrees (and `lon` converted from the original `0.0 <= EasterLon <= 360.0`).
      - pygeodesy.named.LatLon2Tuple: 2-Tuple `(lat, lon)` in `degrees[90]` and `degrees[180]`.
      - pygeodesy.named.LatLon3Tuple: 3-Tuple `(lat, lon, height)` in `degrees[90]`, `degrees[180]` and `meter`.
      - pygeodesy.named.LatLon4Tuple: 4-Tuple `(lat, lon, height, datum)` in `degrees90`, `degrees180`, `meter` and Datum.
      - pygeodesy.named.LatLonAziRk4Tuple: 4-Tuple `(lat, lon, azimuth, reciprocal)`, all in `degrees` where `azimuth` is the azimuth of easting direction and `reciprocal` the reciprocal of azimuthal northing scale.
      - pygeodesy.named.LatLonDatum3Tuple: 3-Tuple `(lat, lon, datum)` in `degrees[90]`, `degrees[180]` and Datum.
      - pygeodesy.named.LatLonDatum5Tuple: 5-Tuple `(lat, lon, datum, convergence, scale)` in `degrees[90]`, `degrees[180]`, Datum, {degrees} and `float`.
      - pygeodesy.named.LatLonExact4Tuple: 4-Tuple `(lat, lon, convergence, scale)` in `degrees`, `degrees180`, `degrees` and `sclar`.
      - pygeodesy.named.LatLonPrec3Tuple: 3-Tuple `(lat, lon, precision)` in `degrees`, `degrees` and `int`.
      - pygeodesy.named.LatLonPrec5Tuple: 5-Tuple `(lat, lon, precision, height, radius)` in `degrees`, `degrees`, `int` and `height` or `radius` in `meter` (or `None` if missing).
      - pygeodesy.named.Mgrs4Tuple: 4-Tuple `(zone, digraph, easting, northing)`, `zone` and `digraph` as `str`, `easting` and `northing` in `meter`.
      - pygeodesy.named.Mgrs6Tuple: 6-Tuple `(zone, digraph, easting, northing, band, datum)`, `zone`, `digraph` and `band` as `str`, `easting` and `northing` in `meter` and `datum` a Datum.
      - pygeodesy.named.NearestOn3Tuple: 3-Tuple `(closest, distance, angle)` of the `closest` point on the polygon, either a `LatLon` instance or a LatLon3Tuple`(lat, lon, height)` and the `distance` and `angle` to the `closest` point are in `meter` respectively compass `degrees360`.
      - pygeodesy.named.NearestOn5Tuple: 5-Tuple `(lat, lon, distance, angle, height)` all in `degrees`, except `height`.
      - pygeodesy.named.Ned3Tuple: 3-Tuple `(north, east, down)`, all in `degrees`.
      - pygeodesy.named.PhiLam2Tuple: 2-Tuple `(phi, lambda)` with latitude `phi` in `radians[PI_2]` and longitude `lambda` in `radians[PI]`.
      - pygeodesy.named.PhiLam3Tuple: 3-Tuple `(phi, lambda, height)` with latitude `phi` in `radians[PI_2]`, longitude `lambda` in `radians[PI]` and `height` in `meter`.
      - pygeodesy.named.Point3Tuple: 3-Tuple `(x, y, ll)` in `meter`, `meter` and `LatLon`.
      - pygeodesy.named.Shape2Tuple: 2-Tuple `(nrows, ncols)`, the number of rows and columns, both `int`.
      - pygeodesy.named.UtmUps2Tuple: 2-Tuple `(zone, hemipole)` as `int` and `str`, where `zone` is `1..60` for UTM or `0` for UPS and `hemipole` `'N'|'S'` is the UTM hemisphere or the UPS pole.
      - pygeodesy.named.UtmUps4Tuple: 4-Tuple `(zone, hemipole, easting, northing)` as `str`, `str`, `meter` and `meter`.
      - pygeodesy.named.UtmUps5Tuple: 5-Tuple `(zone, hemipole, easting, northing, band)` as `int`, `str`, `meter`, `meter` and `band` letter, where `zone` is `1..60` for UTM or `0` for UPS, `hemipole` `'N'|'S'` is the UTM hemisphere or the UPS pole and {band} is `""` or the (longitudinal) UTM band `'C'|'D'..'W'|'X'` or the (polar) UPS band `'A'|'B'|'Y'|'Z'`.
      - pygeodesy.named.UtmUps8Tuple: 8-Tuple `(zone, hemipole, easting, northing, band, datum, convergence, scale)` as `int`, `str`, `meter`, `meter`, `band` letter, `Datum`, `degrees` and `float`, where `zone` is `1..60` for UTM or `0` for UPS, `hemipole` `'N'|'S'` is the UTM hemisphere or the UPS pole and {band} is `""` or the (longitudinal) UTM band `'C'|'D'..'W'|'X'` or the (polar) UPS band `'A'|'B'|'Y'|'Z'`.
      - pygeodesy.named.UtmUpsLatLon5Tuple: 5-Tuple `(zone, band, hemipole, lat, lon)` as `int`, `str`, `str`, `degrees90` and `degrees180`, where `zone` is `1..60` for UTM or `0` for UPS, {band} is `""` or the (longitudinal) UTM band `'C'|'D'..'W'|'X'` or (polar) UPS band `'A'|'B'|'Y'|'Z'` and `hemipole` `'N'|'S'` is the UTM hemisphere or the UPS pole.
      - pygeodesy.named.Vector3Tuple: 3-Tuple `(x, y, z)` of (geocentric) components, all in `meter` or `units`.
      - pygeodesy.named.Vector4Tuple: 4-Tuple `(x, y, z, h)` of (geocentric) components, all in `meter` or `units`.
  - basestring: Type basestring cannot be instantiated; it is the base for str and unicode.
    - str: str(object='') -> string
      - pygeodesy.named._NamedStr: (INTERNAL) Named `str`.
        - pygeodesy.gars.Garef: Garef class, a `_NamedStr`.
        - pygeodesy.geohash.Geohash: Geohash class, a _NamedStr.
        - pygeodesy.wgrs.Georef: Georef class, a `_NamedStr`.
  - dict: dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list.
    - pygeodesy.named._NamedDict: (INTERNAL) Named `dict` with key and attribute access to the items.
      - pygeodesy.named.Neighbors8Dict: 8-Dict `(N, NE, E, SE, S, SW, W, NW)` of Geohashes, providing key and attribute access to the items.
  - int: int(x=0) -> int or long int(x, base=10) -> int or long
    - pygeodesy.named._NamedInt: (INTERNAL) Named `int`.
      - pygeodesy.epsg.Epsg: EPSG class, a `_NamedInt`.
  - tuple: tuple() -> empty tuple tuple(iterable) -> tuple initialized from iterable's items
    - pygeodesy.named._NamedTuple: (INTERNAL) Named `tuple` with index and attribute access to the items.
      - pygeodesy.named.Bearing2Tuple: 2-Tuple `(initial, final)` bearings, both in compass `degrees360`.
      - pygeodesy.named.Bounds2Tuple: 2-Tuple `(latlonSW, latlonNE)` with the bounds' lower-left and upper-right corner as `LatLon` instance.
      - pygeodesy.named.Bounds4Tuple: 4-Tuple `(latS, lonW, latN, lonE)` with the bounds' lower-left `(LatS, LowW)` and upper-right `(latN, lonE)` corner lat- and longitudes.
      - pygeodesy.named.ClipCS3Tuple: 3-Tuple `(start, end, index)` for each edge of a clipped path with the `start` and `end` points (`LatLon`) of the portion of the edge inside or on the clip box and the `index` (`int`) of the edge in the original path.
      - pygeodesy.named.ClipSH3Tuple: 3-Tuple `(start, end, original)` for each edge of a clipped polygon, the `start` and `end` points (`LatLon`) of the portion of the edge inside or on the clip region and the `original` indicates whether the edge is part of the original polygon or part of the clip region (`bool`).
      - pygeodesy.named.Curvature2Tuple: 2-Tuple `(meridional, prime_vertical)` of radii of curvature, both in `meter`.
      - pygeodesy.named.Destination2Tuple: 2-Tuple `(destination, final)`, `destination` in `LatLon` and `final` bearing in compass `degrees360`.
      - pygeodesy.named.Distance2Tuple: 2-Tuple `(distance, initial)`, `distance` in `meter` and `initial` bearing in compass `degrees360`.
      - pygeodesy.named.Distance3Tuple: 3-Tuple `(distance, initial, final)`, `distance` in `meter` and `initial` and `final` bearing, both in compass `degrees360`.
      - pygeodesy.named.Distance4Tuple: 4-Tuple `(distance2, delta_lat, delta_lon, unroll_lon2)` with the distance in `degrees squared`, the latitudinal `delta_lat` = `lat2`-`lat1`, the wrapped, unrolled and adjusted longitudinal `delta_lon` = `lon2`-`lon1` and the `unroll_lon2` unrollment for `lon2`.
      - pygeodesy.named.EasNor2Tuple: 2-Tuple `(easting, northing)`, both in `meter`.
      - pygeodesy.named.EasNor3Tuple: 3-Tuple `(easting, northing, height)`, all in `meter`.
      - pygeodesy.named.EasNorAziRk4Tuple: 4-Tuple `(easting, northing, azimuth, reciprocal)` for the Cassini-Soldner location with `easting` and `northing` in `meters`, the `azimuth` of easting direction azimuth and `reciprocal` the reciprocal of azimuthal northing scale reciprocal, both in `degrees`.
      - pygeodesy.named.EasNorExact4Tuple: 4-Tuple `(easting, northing, convergence, scale)` in `meter`, `meter`, {degrees} and `scalar`.
      - pygeodesy.named.EasNorRadius3Tuple: 3-Tuple `(easting, northing, radius)`, all in `meter`.
      - pygeodesy.named.Elevation2Tuple: 2-Tuple `(elevation, data_source)` in `meter` and `str`.
      - pygeodesy.named.GeoidHeight2Tuple: 2-Tuple `(height, model_name)`, geoid `height` in `meter` and `model_name` as `str`.
      - pygeodesy.named.GeoidHeight5Tuple: 5-Tuple `(lat, lon, egm84, egm96, egm2008)` for GeoidHeights.dat tests with the heights for 3 different EGM grids with `-90.0 <= lat <= 90.0` and `-180.0 <= lon <= 180.0` degrees (and `lon` converted from the original `0.0 <= EasterLon <= 360.0`).
      - pygeodesy.named.LatLon2Tuple: 2-Tuple `(lat, lon)` in `degrees[90]` and `degrees[180]`.
      - pygeodesy.named.LatLon3Tuple: 3-Tuple `(lat, lon, height)` in `degrees[90]`, `degrees[180]` and `meter`.
      - pygeodesy.named.LatLon4Tuple: 4-Tuple `(lat, lon, height, datum)` in `degrees90`, `degrees180`, `meter` and Datum.
      - pygeodesy.named.LatLonAziRk4Tuple: 4-Tuple `(lat, lon, azimuth, reciprocal)`, all in `degrees` where `azimuth` is the azimuth of easting direction and `reciprocal` the reciprocal of azimuthal northing scale.
      - pygeodesy.named.LatLonDatum3Tuple: 3-Tuple `(lat, lon, datum)` in `degrees[90]`, `degrees[180]` and Datum.
      - pygeodesy.named.LatLonDatum5Tuple: 5-Tuple `(lat, lon, datum, convergence, scale)` in `degrees[90]`, `degrees[180]`, Datum, {degrees} and `float`.
      - pygeodesy.named.LatLonExact4Tuple: 4-Tuple `(lat, lon, convergence, scale)` in `degrees`, `degrees180`, `degrees` and `sclar`.
      - pygeodesy.named.LatLonPrec3Tuple: 3-Tuple `(lat, lon, precision)` in `degrees`, `degrees` and `int`.
      - pygeodesy.named.LatLonPrec5Tuple: 5-Tuple `(lat, lon, precision, height, radius)` in `degrees`, `degrees`, `int` and `height` or `radius` in `meter` (or `None` if missing).
      - pygeodesy.named.Mgrs4Tuple: 4-Tuple `(zone, digraph, easting, northing)`, `zone` and `digraph` as `str`, `easting` and `northing` in `meter`.
      - pygeodesy.named.Mgrs6Tuple: 6-Tuple `(zone, digraph, easting, northing, band, datum)`, `zone`, `digraph` and `band` as `str`, `easting` and `northing` in `meter` and `datum` a Datum.
      - pygeodesy.named.NearestOn3Tuple: 3-Tuple `(closest, distance, angle)` of the `closest` point on the polygon, either a `LatLon` instance or a LatLon3Tuple`(lat, lon, height)` and the `distance` and `angle` to the `closest` point are in `meter` respectively compass `degrees360`.
      - pygeodesy.named.NearestOn5Tuple: 5-Tuple `(lat, lon, distance, angle, height)` all in `degrees`, except `height`.
      - pygeodesy.named.Ned3Tuple: 3-Tuple `(north, east, down)`, all in `degrees`.
      - pygeodesy.named.PhiLam2Tuple: 2-Tuple `(phi, lambda)` with latitude `phi` in `radians[PI_2]` and longitude `lambda` in `radians[PI]`.
      - pygeodesy.named.PhiLam3Tuple: 3-Tuple `(phi, lambda, height)` with latitude `phi` in `radians[PI_2]`, longitude `lambda` in `radians[PI]` and `height` in `meter`.
      - pygeodesy.named.Point3Tuple: 3-Tuple `(x, y, ll)` in `meter`, `meter` and `LatLon`.
      - pygeodesy.named.Shape2Tuple: 2-Tuple `(nrows, ncols)`, the number of rows and columns, both `int`.
      - pygeodesy.named.UtmUps2Tuple: 2-Tuple `(zone, hemipole)` as `int` and `str`, where `zone` is `1..60` for UTM or `0` for UPS and `hemipole` `'N'|'S'` is the UTM hemisphere or the UPS pole.
      - pygeodesy.named.UtmUps4Tuple: 4-Tuple `(zone, hemipole, easting, northing)` as `str`, `str`, `meter` and `meter`.
      - pygeodesy.named.UtmUps5Tuple: 5-Tuple `(zone, hemipole, easting, northing, band)` as `int`, `str`, `meter`, `meter` and `band` letter, where `zone` is `1..60` for UTM or `0` for UPS, `hemipole` `'N'|'S'` is the UTM hemisphere or the UPS pole and {band} is `""` or the (longitudinal) UTM band `'C'|'D'..'W'|'X'` or the (polar) UPS band `'A'|'B'|'Y'|'Z'`.
      - pygeodesy.named.UtmUps8Tuple: 8-Tuple `(zone, hemipole, easting, northing, band, datum, convergence, scale)` as `int`, `str`, `meter`, `meter`, `band` letter, `Datum`, `degrees` and `float`, where `zone` is `1..60` for UTM or `0` for UPS, `hemipole` `'N'|'S'` is the UTM hemisphere or the UPS pole and {band} is `""` or the (longitudinal) UTM band `'C'|'D'..'W'|'X'` or the (polar) UPS band `'A'|'B'|'Y'|'Z'`.
      - pygeodesy.named.UtmUpsLatLon5Tuple: 5-Tuple `(zone, band, hemipole, lat, lon)` as `int`, `str`, `str`, `degrees90` and `degrees180`, where `zone` is `1..60` for UTM or `0` for UPS, {band} is `""` or the (longitudinal) UTM band `'C'|'D'..'W'|'X'` or (polar) UPS band `'A'|'B'|'Y'|'Z'` and `hemipole` `'N'|'S'` is the UTM hemisphere or the UPS pole.
      - pygeodesy.named.Vector3Tuple: 3-Tuple `(x, y, z)` of (geocentric) components, all in `meter` or `units`.
      - pygeodesy.named.Vector4Tuple: 4-Tuple `(x, y, z, h)` of (geocentric) components, all in `meter` or `units`.
  - type: type(object) -> the object's type type(name, bases, dict) -> a new type
    - abc.ABCMeta: Metaclass for defining Abstract Base Classes (ABCs).