[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: Raised if `lazy import` is not supported, disabled or failed some other way.
        - exceptions.ValueError: Inappropriate argument value (of correct type).
          - pygeodesy.errors._ValueError: (INTERNAL) Format a `ValueError` without exception chaining.
            - pygeodesy.azimuthal.AzimuthalError: An azimuthal Equidistant, EquidistantKarney, Gnomonic, LambertEqualArea, Orthographic or Stereographic issue.
            - pygeodesy.css.CSSError: Cassini-Soldner (CSS) conversion or other Css issue.
            - pygeodesy.clipy.ClipError: Clip box or clip region issue.
            - pygeodesy.errors.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, decode or other Epsg issue.
            - pygeodesy.ecef.EcefError: An ECEF or `Ecef*` related issue.
            - pygeodesy.elliptic.EllipticError: Elliptic integral, function, convergence or other Elliptic issue.
            - pygeodesy.gars.GARSError: Global Area Reference System (GARS) encode, decode or other Garef issue.
            - pygeodesy.geohash.GeohashError: Geohash encode, decode or other Geohash issue.
            - pygeodesy.errors.IntersectionError: Error raised for path or circle intersection issues.
            - pygeodesy.lcc.LCCError: Lambert Conformal Conic `LCC` or other Lcc issue.
            - pygeodesy.errors.LenError: Error raised for mis-matching `len` values.
            - pygeodesy.errors.LimitError: Error raised for lat- or longitudinal deltas exceeding the `limit` in functions equirectangular and equirectangular_ and `nearestOn*` and `simplify*` functions or methods.
            - pygeodesy.mgrs.MGRSError: Military Grid Reference System (MGRS) parse or other Mgrs issue.
            - pygeodesy.osgr.OSGRError: Ordinance Survey Grid References (OSGR) parse or other Osgr issue.
            - pygeodesy.errors.ParseError: Error parsing degrees, radians or several other formats.
            - pygeodesy.errors.PointsError: Error for an insufficient number of points.
              - pygeodesy.frechet.FrechetError: Fréchet issue.
              - pygeodesy.hausdorff.HausdorffError: Hausdorff issue.
              - pygeodesy.heights.HeightError: Height interpolator `Height...` or interpolation issue.
                - pygeodesy.geoids.GeoidError: Geoid interpolator `Geoid...` or interpolation issue.
                  - pygeodesy.geoids.PGMError: Issue parsing or cropping an `egm*.pgm` geoid dataset.
              - pygeodesy.errors.SciPyError: Error raised for `SciPy` errors.
              - pygeodesy.errors.SciPyWarning: Error thrown for `SciPy` warnings.
            - pygeodesy.errors.RangeError: Error raised for lat- or longitude values outside the `clip`, `clipLat`, `clipLon` or `limit` range in function clipDegrees, clipRadians, parse3llh, parseDMS, parseDMS2 or parseRad.
            - pygeodesy.trf.TRFError: Terrestrial Reference Frame (TRF) or RefFrame conversion issue.
              - pygeodesy.deprecated.RefFrameError: DEPRECATED, use class TRFError.
            - pygeodesy.ups.UPSError: Universal Polar Stereographic (UPS) parse or other Ups issue.
            - pygeodesy.utm.UTMError: Universal Transverse Mercator (UTM parse or other Utm issue.
              - pygeodesy.etm.ETMError: Exact Transverse Mercator (ETM) parse, projection or other Etm issue.
            - pygeodesy.utmups.UTMUPSError: Universal Transverse Mercator/Universal Polar Stereographic (UTM/UPS) parse, validate or other issue.
            - pygeodesy.units.UnitError: Default exception for units issues.
            - pygeodesy.vector3d.VectorError: Vector3d or `*Nvector` issue.
            - pygeodesy.ellipsoidalVincenty.VincentyError: Error raised from Vincenty's direct and inverse methods for coincident points or lack of convergence.
            - pygeodesy.wgrs.WGRSError: World Geographic Reference System (WGRS) encode, decode or other Georef issue.
            - pygeodesy.webmercator.WebMercatorError: Web Mercator (WM) parser or Wm issue.
  - _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.named._Named: (INTERNAL) Root class for named objects.
    - pygeodesy.elliptic.Elliptic: Elliptic integrals and functions.
    - pygeodesy.frechet.Frechet: Frechet base class, requires method Frechet.distance to be overloaded.
      - pygeodesy.frechet.FrechetDegrees: Frechet base class for distances in `degrees` from `LatLon` points in `degrees`.
        - pygeodesy.frechet.FrechetKarney: Compute the `Frechet` distance based on the angular distance in `degrees` from Karney's geographiclib Geodesic Inverse method.
      - pygeodesy.frechet.FrechetDistanceTo: Compute the `Frechet` distance based on the distance from the points' `LatLon.distanceTo` method, conventionally in `meter`.
      - pygeodesy.frechet.FrechetRadians: Frechet base class for distances in `radians` or `radians squared` from `LatLon` points converted from `degrees` to `radians`.
        - pygeodesy.frechet.FrechetCosineAndoyerLambert: Compute the `Frechet` distance based on the angular distance in `radians` from function cosineAndoyerLambert_.
        - pygeodesy.frechet.FrechetCosineForsytheAndoyerLambert: Compute the `Frechet` distance based on the angular distance in `radians` from function cosineForsytheAndoyerLambert_.
        - pygeodesy.frechet.FrechetCosineLaw: Compute the `Frechet` distance based on the angular distance in `radians` from function cosineLaw_.
        - pygeodesy.frechet.FrechetEquirectangular: Compute the `Frechet` distance based on the `equirectangular` distance in `radians squared` like function equirectangular_.
        - pygeodesy.frechet.FrechetEuclidean: Compute the `Frechet` distance based on the `Euclidean` distance in `radians` from function euclidean_.
        - pygeodesy.frechet.FrechetFlatLocal: Compute the `Frechet` distance based on the angular distance in `radians squared` like function flatLocal_/hubeny_.
          - pygeodesy.frechet.FrechetHubeny: Compute the `Frechet` distance based on the angular distance in `radians squared` like function flatLocal_/hubeny_.
        - pygeodesy.frechet.FrechetFlatPolar: Compute the `Frechet` distance based on the angular distance in `radians` from function flatPolar_.
        - pygeodesy.frechet.FrechetHaversine: Compute the `Frechet` distance based on the angular distance in `radians` from function haversine_.
        - pygeodesy.frechet.FrechetThomas: Compute the `Frechet` distance based on the angular distance in `radians` from function thomas_.
        - pygeodesy.frechet.FrechetVincentys: Compute the `Frechet` distance based on the angular distance in `radians` from function vincentys_.
    - pygeodesy.hausdorff.Hausdorff: Hausdorff base class, requires method Hausdorff.distance to be overloaded.
      - pygeodesy.hausdorff.HausdorffDegrees: Hausdorff base class for distances from `LatLon` points in `degrees`.
        - pygeodesy.hausdorff.HausdorffKarney: Compute the `Hausdorff` distance based on the angular distance in `degrees` from Karney's geographiclib Geodesic Inverse method.
      - pygeodesy.hausdorff.HausdorffDistanceTo: Compute the `Hausdorff` distance based on the distance from the points' `LatLon.distanceTo` method, conventionally in `meter`.
      - pygeodesy.hausdorff.HausdorffRadians: Hausdorff base class for distances from `LatLon` points converted from `degrees` to `radians`.
        - pygeodesy.hausdorff.HausdorffCosineAndoyerLambert: Compute the `Hausdorff` distance based on the angular distance in `radians` from function cosineAndoyerLambert_.
        - pygeodesy.hausdorff.HausdorffCosineForsytheAndoyerLambert: Compute the `Hausdorff` distance based on the angular distance in `radians` from function cosineForsytheAndoyerLambert_.
        - pygeodesy.hausdorff.HausdorffCosineLaw: Compute the `Hausdorff` distance based on the angular distance in `radians` from function cosineLaw_.
        - pygeodesy.hausdorff.HausdorffEquirectangular: Compute the `Hausdorff` distance based on the `equirectangular` distance in `radians squared` like function equirectangular_.
        - pygeodesy.hausdorff.HausdorffEuclidean: Compute the `Hausdorff` distance based on the `Euclidean` distance in `radians` from function euclidean_.
        - pygeodesy.hausdorff.HausdorffFlatLocal: Compute the `Hausdorff` distance based on the angular distance in `radians squared` like function flatLocal_/hubeny_.
          - pygeodesy.hausdorff.HausdorffHubeny: Compute the `Hausdorff` distance based on the angular distance in `radians squared` like function flatLocal_/hubeny_.
        - pygeodesy.hausdorff.HausdorffFlatPolar: Compute the `Hausdorff` distance based on the angular distance in `radians` from function flatPolar_.
        - pygeodesy.hausdorff.HausdorffHaversine: Compute the `Hausdorff` distance based on the angular distance in `radians` from function haversine_.
        - pygeodesy.hausdorff.HausdorffThomas: Compute the `Hausdorff` distance based on the angular distance in `radians` from function thomas_.
        - pygeodesy.hausdorff.HausdorffVincentys: Compute the `Hausdorff` distance based on the angular distance in `radians` from function vincentys_.
    - 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: (INTERNAL) 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 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 Karney's GeographicLib Earth Gravitational Model (EGM) geoid egm*.pgm datasets but based on `SciPy` RectBivariateSpline or interp2d interpolation.
      - pygeodesy.heights._HeightIDW: (INTERNAL) Base class for Inverse Distance Weighting (IDW) height interpolators.
        - pygeodesy.heights.HeightIDWcosineAndoyerLambert: Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function cosineAndoyerLambert_.
        - pygeodesy.heights.HeightIDWcosineForsytheAndoyerLambert: Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function cosineForsytheAndoyerLambert_.
        - pygeodesy.heights.HeightIDWcosineLaw: Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function cosineLaw_.
        - pygeodesy.heights.HeightIDWdistanceTo: Height interpolator using Inverse Distance Weighting (IDW) and the distance from the points' `LatLon.distanceTo` method, conventionally in `meter`.
        - pygeodesy.heights.HeightIDWequirectangular: Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians squared` like function equirectangular_.
          - pygeodesy.deprecated.HeightIDW2: DEPRECATED, use class HeightIDWequirectangular.
        - pygeodesy.heights.HeightIDWeuclidean: Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function euclidean_.
          - pygeodesy.deprecated.HeightIDW: DEPRECATED, use class HeightIDWeuclidean.
        - pygeodesy.heights.HeightIDWflatLocal: Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians squared` like function flatLocal_/hubeny_.
          - pygeodesy.heights.HeightIDWhubeny: Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians squared` like function flatLocal_/hubeny_.
        - pygeodesy.heights.HeightIDWflatPolar: Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function flatPolar_.
        - pygeodesy.heights.HeightIDWhaversine: Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function haversine_.
          - pygeodesy.deprecated.HeightIDW3: DEPRECATED, use class HeightIDWhaversine.
        - pygeodesy.heights.HeightIDWkarney: Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `degrees` from Karney's geographiclib Geodesic Inverse method.
        - pygeodesy.heights.HeightIDWthomas: Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function thomas_.
        - pygeodesy.heights.HeightIDWvincentys: Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function vincentys_.
    - pygeodesy.named._NamedBase: (INTERNAL) Base class with name.
      - pygeodesy.css.CassiniSoldner: Cassini-Soldner projection, a Python version of Karney's C++ class CassiniSoldner.
      - pygeodesy.css.Css: Cassini-Soldner East-/Northing location.
      - pygeodesy.ecef.EcefCartesian: Conversion between geodetic `(lat, lon, height)` and local cartesian `(x, y, z)` coordinates with a local cartesian origin at `(lat0, lon0, height0)`, transcribed from Karney's C++ class LocalCartesian.
      - pygeodesy.etm.ExactTransverseMercator: A Python version of Karney's TransverseMercatorExact C++ class, a numerically exact transverse mercator projection, here referred to as `TMExact`.
      - pygeodesy.latlonBase.LatLonBase: (INTERNAL) Base class for `LatLon` points on spherical or ellipsoidal earth models.
        - pygeodesy.ellipsoidalBase.LatLonEllipsoidalBase: (INTERNAL) Base class for ellipsoidal `LatLon`s.
          - 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.nvectorBase.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 a spherical earth model.
        - pygeodesy.sphericalBase.LatLonSphericalBase: (INTERNAL) Base class for spherical `LatLon`s.
          - pygeodesy.sphericalNvector.LatLon: New n-vector based point on a 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: (INTERNAL) 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.vector3d.Vector3d: Generic 3-D vector manipulation.
        - pygeodesy.cartesianBase.CartesianBase: (INTERNAL) Base class for ellipsoidal and spherical `Cartesian`.
          - pygeodesy.ellipsoidalBase.CartesianEllipsoidalBase: (INTERNAL) Base class for ellipsoidal `Cartesian`s.
            - pygeodesy.ellipsoidalKarney.Cartesian: Extended to convert `Karney`-based Cartesian to `Karney`-based LatLon points.
            - pygeodesy.ellipsoidalNvector.Cartesian: Extended to convert geocentric, Cartesian points to Nvector and n-vector-based, geodetic LatLon.
            - pygeodesy.ellipsoidalVincenty.Cartesian: Extended to convert geocentric, Cartesian points to Vincenty-based, ellipsoidal, geodetic LatLon.
          - pygeodesy.sphericalBase.CartesianSphericalBase: (INTERNAL) Base class for spherical `Cartesian`s.
            - pygeodesy.sphericalNvector.Cartesian: Extended to convert geocentric, Cartesian points to Nvector and n-vector-based, spherical LatLon.
            - pygeodesy.sphericalTrigonometry.Cartesian: Extended to convert geocentric, Cartesian points to spherical, geodetic LatLon.
        - pygeodesy.nvectorBase.NvectorBase: Base class for ellipsoidal and spherical `Nvector`s.
          - 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.webmercator.Wm: Web Mercator (WM) coordinate.
      - pygeodesy.azimuthal._AzimuthalBase: (INTERNAL) Base class for azimuthal projections.
        - pygeodesy.azimuthal.Equidistant: Azimuthal equidistant projection for the sphere**, see Snyder, pp 195-197 and MathWorld-Wolfram.
        - pygeodesy.azimuthal.EquidistantKarney: Azimuthal equidistant projection, a Python version of Karney's C++ class AzimuthalEquidistant, requiring package geographiclib to be installed.
        - pygeodesy.azimuthal.Gnomonic: Azimuthal gnomonic projection for the sphere**, see Snyder, pp 164-168 and MathWorld-Wolfram.
        - pygeodesy.azimuthal.GnomonicKarney: Azimuthal gnomonic projection, a Python version of Karney's C++ class Gnomonic, requiring package geographiclib to be installed.
        - pygeodesy.azimuthal.LambertEqualArea: Lambert-equal-area projection for the sphere**, see Snyder, pp 185-187 and MathWorld-Wolfram.
        - pygeodesy.azimuthal.Orthographic: Orthographic projection for the sphere**, see Snyder, pp 148-153 and MathWorld-Wolfram.
        - pygeodesy.azimuthal.Stereographic: Stereographic projection for the sphere**, see Snyder, pp 157-160 and MathWorld-Wolfram.
      - pygeodesy.ecef._EcefBase: (INTERNAL) Base class for EcefKarney, EcefVeness and EcefYou.
        - pygeodesy.ecef.EcefKarney: Conversion between geodetic and geocentric, aka Earth-Centered, Earth-Fixed (ECEF) coordinates based on Karney's Geocentric methods.
        - pygeodesy.ecef.EcefVeness: Conversion between geodetic and geocentric, aka Earth-Centered, Earth-Fixed (ECEF) coordinates transcribed from Chris Veness' JavaScript classes LatLonEllipsoidal, Cartesian.
          - pygeodesy.ecef.EcefSudano: Conversion between geodetic and geocentric, aka Earth-Centered, Earth-Fixed (ECEF) coordinates based on John J. Sudano's paper.
        - pygeodesy.ecef.EcefYou: Conversion between geodetic and geocentric, aka Earth-Centered, Earth-Fixed (ECEF) coordinates using Rey-Jer You's transformations.
      - pygeodesy.named._NamedEnumItem: (INTERNAL) Base class for items in a `_NamedEnum` registery.
        - 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.trf.RefFrame: Terrestrial Reference Frame (TRF) parameters.
        - pygeodesy.datum.Transform: Helmert transformation.
    - pygeodesy.named._NamedDict: (INTERNAL) Named `dict` with key and attribute access to the items.
      - pygeodesy.geohash.Neighbors8Dict: 8-Dict `(N, NE, E, SE, S, SW, W, NW)` of Geohashes, providing key and attribute access to the items.
      - pygeodesy.named._NamedEnum: (INTERNAL) Enum-like `_NamedDict` with attribute access restricted to valid keys.
    - pygeodesy.named._NamedTuple: (INTERNAL) Named `tuple` with index and attribute access to the items.
      - pygeodesy.azimuthal.Azimuthal7Tuple: 7-Tuple `(x, y, lat, lon, azimuth, scale, datum)`, in `meter`, `meter`, `degrees90`, `degrees180`, `degrees360`, `float` and `Datum` where `(x, y)` is the projected, `(lat, lon)` the geodetic location, `azimuth` the azimuth direction clockwise from true North and `scale` is the projection scale, either (`1 / reciprocal` or `1` or `-1` in one case, Equidistant).
      - 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.clipy.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.clipy.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 `original` indicates whether the edge is part of the original polygon or part of the clip region (`bool`).
      - pygeodesy.datum.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.Destination3Tuple: 3-Tuple `(lat, lon, final)`, destination `lat`, `lon` in and `final` bearing in `degrees`.
      - 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.css.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.etm.EasNorExact4Tuple: 4-Tuple `(easting, northing, convergence, scale)` in `meter`, `meter`, `degrees` and `scalar`.
      - pygeodesy.webmercator.EasNorRadius3Tuple: 3-Tuple `(easting, northing, radius)`, all in `meter`.
      - pygeodesy.ecef.Ecef9Tuple: 9-Tuple `(x, y, z, lat, lon, height, C, M, datum)` with geocentric coordinates `x`, `y` and `z`, geodetic coordinates `lat`, `lon` and `height`, case `C` (see the `Ecef*.reverse` methods) and optionally, the EcefMatrix `M` and `datum`, with `lat` and `lon` in `degrees` and `x`, `y`, `z` and `height` in `meter`, conventionally.
      - pygeodesy.ecef.EcefMatrix: A rotation matrix.
      - pygeodesy.elevations.Elevation2Tuple: 2-Tuple `(elevation, data_source)` in `meter` and `str`.
      - pygeodesy.elliptic.Elliptic3Tuple: 3-Tuple `(sn, cn, dn)` all `float`.
      - pygeodesy.frechet.Frechet6Tuple: 6-Tuple `(fd, fi1, fi2, r, n, units)` with the discrete Fréchet distance `fd`, fractional indices `fi1` and `fi2`, the recursion depth `r`, the number of distances computed `n` and the name of the distance `units`.
      - pygeodesy.elevations.GeoidHeight2Tuple: 2-Tuple `(height, model_name)`, geoid `height` in `meter` and `model_name` as `str`.
      - pygeodesy.geoids.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.hausdorff.Hausdorff6Tuple: 6-Tuple `(hd, i, j, mn, md, units)` with the Hausdorff distance `hd`, indices `i` and `j`, the total count `mn`, the `mean Hausdorff` distance `md` and the name of the distance `units`.
      - pygeodesy.named.LatLon2Tuple: 2-Tuple `(lat, lon)` in `degrees90` and `degrees180`.
      - pygeodesy.named.LatLon3Tuple: 3-Tuple `(lat, lon, height)` in `degrees90`, `degrees180` and `meter`.
      - pygeodesy.named.LatLon4Tuple: 4-Tuple `(lat, lon, height, datum)` in `degrees90`, `degrees180`, `meter` and Datum.
      - pygeodesy.css.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 `degrees90`, `degrees180` and Datum.
      - pygeodesy.utmupsBase.LatLonDatum5Tuple: 5-Tuple `(lat, lon, datum, convergence, scale)` in `degrees90`, `degrees180`, Datum, `degrees` and `float`.
      - pygeodesy.etm.LatLonExact4Tuple: 4-Tuple `(lat, lon, convergence, scale)` in `degrees180`, `degrees`, `degrees` and `scalar`.
      - 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.mgrs.Mgrs4Tuple: 4-Tuple `(zone, digraph, easting, northing)`, `zone` and `digraph` as `str`, `easting` and `northing` in `meter`.
      - pygeodesy.mgrs.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.points.NearestOn5Tuple: 5-Tuple `(lat, lon, distance, angle, height)` all in `degrees`, except `height`.
      - pygeodesy.ellipsoidalNvector.Ned3Tuple: 3-Tuple `(north, east, down)`, all in `degrees`.
      - pygeodesy.named.PhiLam2Tuple: 2-Tuple `(phi, lam)` with latitude `phi` in `radians[PI_2]` and longitude `lam` in `radians[PI]`.
      - pygeodesy.named.PhiLam3Tuple: 3-Tuple `(phi, lam, height)` with latitude `phi` in `radians[PI_2]`, longitude `lam` in `radians[PI]` and `height` in `meter`.
      - pygeodesy.named.PhiLam4Tuple: 4-Tuple `(phi, lam, height, datum)` with latitude `phi` in `radians[PI_2]`, longitude `lam` in `radians[PI]`, `height` in `meter` and Datum.
      - pygeodesy.points.Point3Tuple: 3-Tuple `(x, y, ll)` in `meter`, `meter` and `LatLon`.
      - pygeodesy.named.Points2Tuple: 2-Tuple `(number, points)` with the `number` of points and -possible reduced- `list` or `tuple` of `points`.
      - pygeodesy.formy.Radical2Tuple: 2-Tuple `(ratio, xline)` of the radical `ratio` and radical `xline`, both `float` and `0.0 <= ratio <= 1.0`
      - pygeodesy.points.Shape2Tuple: 2-Tuple `(nrows, ncols)`, the number of rows and columns, both `int`.
      - pygeodesy.utmupsBase.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.deprecated.UtmUps4Tuple: OBSOLETE, expect a UtmUps5Tuple from method `Mgrs.toUtm(utm=None)`.
      - pygeodesy.utmupsBase.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.utmupsBase.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.utmupsBase.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`.
    - pygeodesy.units._NamedUnit: (INTERNAL) Base class for `units`.
      - pygeodesy.units.Float: Named `float`.
        - pygeodesy.units.Degrees: Named `float` representing a coordinate in `degrees`, optionally clipped.
          - pygeodesy.units.Bearing: Named `float` representing a bearing in compass `degrees`.
          - pygeodesy.units.Lat: Named `float` representing a latitude in `degrees`.
        - pygeodesy.units.Distance: Named `float` representing a distance, conventionally in `meter`.
        - pygeodesy.units.Easting: Named `float` representing an easting.
        - pygeodesy.units.Feet: Named `float` representing a distance or length in `feet`.
        - pygeodesy.units.Float_: Named `float` with optional `low` and `high` limit.
          - pygeodesy.units.Distance_: Named `float` with optional `low` and `high` limits representing a distance, conventionally in `meter`.
          - pygeodesy.units.Radius_: Named `float` with optional `low` and `high` limits representing a radius, conventionally in `meter`.
          - pygeodesy.units.Scalar_: Named `float` with optional `low` and `high` limits representing a factor, fraction, scale, etc.
        - pygeodesy.units.Height: Named `float` representing a height, conventionally in `meter`.
        - pygeodesy.units.Lon: Named `float` representing a longitude in `degrees`.
        - pygeodesy.units.Meter: Named `float` representing a distance or length in `meter`.
        - pygeodesy.units.Northing: Named `float` representing a northing.
        - pygeodesy.units.Radians: Named `float` representing a coordinate in `radians`, optionally clipped.
          - pygeodesy.units.Bearing_: Named `float` representing a bearing in `radians` from compass `degrees`.
          - pygeodesy.units.Lam: Named `float` representing a longitude in `radians`.
            - pygeodesy.units.Lam_: Named `float` representing a longitude in `radians` converted from `degrees`.
          - pygeodesy.units.Phi: Named `float` representing a latitude in `radians`.
            - pygeodesy.units.Phi_: Named `float` representing a latitude in `radians` converted from `degrees`.
        - pygeodesy.units.Radius: Named `float` representing a radius, conventionally in `meter`.
        - pygeodesy.units.Scalar: Named `float` representing a factor, fraction, scale, etc.
      - pygeodesy.units.Int: Named `int`.
        - pygeodesy.epsg.Epsg: EPSG class, a named `int`.
        - pygeodesy.units.Int_: Named `int` with optional limits `low` and `high`.
          - pygeodesy.units.Number_: Named `int` with optional limits `low` and `high` representing a non-negtive number.
          - pygeodesy.units.Precision_: Named `int` with optional `low` and `high` limits representing a precision.
        - pygeodesy.units.Zone: Named `int` representing a UTM/UPS zone number.
      - pygeodesy.units.Str: Named `str`.
        - pygeodesy.units.Band: Named `str` representing a UTM/UPS band letter, unchecked.
        - pygeodesy.gars.Garef: Garef class, a named `str`.
        - pygeodesy.geohash.Geohash: Geohash class, a named `str`.
        - pygeodesy.wgrs.Georef: Georef class, a named c{str}.
  - basestring: Type basestring cannot be instantiated; it is the base for str and unicode.
    - str: str(object='') -> string
      - pygeodesy.units.Str: Named `str`.
        - pygeodesy.units.Band: Named `str` representing a UTM/UPS band letter, unchecked.
        - pygeodesy.gars.Garef: Garef class, a named `str`.
        - pygeodesy.geohash.Geohash: Geohash class, a named `str`.
        - pygeodesy.wgrs.Georef: Georef class, a named c{str}.
  - 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.geohash.Neighbors8Dict: 8-Dict `(N, NE, E, SE, S, SW, W, NW)` of Geohashes, providing key and attribute access to the items.
      - pygeodesy.named._NamedEnum: (INTERNAL) Enum-like `_NamedDict` with attribute access restricted to valid keys.
  - float: float(x) -> floating point number
    - pygeodesy.units.Float: Named `float`.
      - pygeodesy.units.Degrees: Named `float` representing a coordinate in `degrees`, optionally clipped.
        - pygeodesy.units.Bearing: Named `float` representing a bearing in compass `degrees`.
        - pygeodesy.units.Lat: Named `float` representing a latitude in `degrees`.
      - pygeodesy.units.Distance: Named `float` representing a distance, conventionally in `meter`.
      - pygeodesy.units.Easting: Named `float` representing an easting.
      - pygeodesy.units.Feet: Named `float` representing a distance or length in `feet`.
      - pygeodesy.units.Float_: Named `float` with optional `low` and `high` limit.
        - pygeodesy.units.Distance_: Named `float` with optional `low` and `high` limits representing a distance, conventionally in `meter`.
        - pygeodesy.units.Radius_: Named `float` with optional `low` and `high` limits representing a radius, conventionally in `meter`.
        - pygeodesy.units.Scalar_: Named `float` with optional `low` and `high` limits representing a factor, fraction, scale, etc.
      - pygeodesy.units.Height: Named `float` representing a height, conventionally in `meter`.
      - pygeodesy.units.Lon: Named `float` representing a longitude in `degrees`.
      - pygeodesy.units.Meter: Named `float` representing a distance or length in `meter`.
      - pygeodesy.units.Northing: Named `float` representing a northing.
      - pygeodesy.units.Radians: Named `float` representing a coordinate in `radians`, optionally clipped.
        - pygeodesy.units.Bearing_: Named `float` representing a bearing in `radians` from compass `degrees`.
        - pygeodesy.units.Lam: Named `float` representing a longitude in `radians`.
          - pygeodesy.units.Lam_: Named `float` representing a longitude in `radians` converted from `degrees`.
        - pygeodesy.units.Phi: Named `float` representing a latitude in `radians`.
          - pygeodesy.units.Phi_: Named `float` representing a latitude in `radians` converted from `degrees`.
      - pygeodesy.units.Radius: Named `float` representing a radius, conventionally in `meter`.
      - pygeodesy.units.Scalar: Named `float` representing a factor, fraction, scale, etc.
  - int: int(x=0) -> int or long int(x, base=10) -> int or long
    - pygeodesy.units.Int: Named `int`.
      - pygeodesy.epsg.Epsg: EPSG class, a named `int`.
      - pygeodesy.units.Int_: Named `int` with optional limits `low` and `high`.
        - pygeodesy.units.Number_: Named `int` with optional limits `low` and `high` representing a non-negtive number.
        - pygeodesy.units.Precision_: Named `int` with optional `low` and `high` limits representing a precision.
      - pygeodesy.units.Zone: Named `int` representing a UTM/UPS zone number.
  - property: property(fget=None, fset=None, fdel=None, doc=None) -> property attribute
    - pygeodesy.basics.property_RO
  - 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.azimuthal.Azimuthal7Tuple: 7-Tuple `(x, y, lat, lon, azimuth, scale, datum)`, in `meter`, `meter`, `degrees90`, `degrees180`, `degrees360`, `float` and `Datum` where `(x, y)` is the projected, `(lat, lon)` the geodetic location, `azimuth` the azimuth direction clockwise from true North and `scale` is the projection scale, either (`1 / reciprocal` or `1` or `-1` in one case, Equidistant).
      - 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.clipy.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.clipy.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 `original` indicates whether the edge is part of the original polygon or part of the clip region (`bool`).
      - pygeodesy.datum.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.Destination3Tuple: 3-Tuple `(lat, lon, final)`, destination `lat`, `lon` in and `final` bearing in `degrees`.
      - 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.css.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.etm.EasNorExact4Tuple: 4-Tuple `(easting, northing, convergence, scale)` in `meter`, `meter`, `degrees` and `scalar`.
      - pygeodesy.webmercator.EasNorRadius3Tuple: 3-Tuple `(easting, northing, radius)`, all in `meter`.
      - pygeodesy.ecef.Ecef9Tuple: 9-Tuple `(x, y, z, lat, lon, height, C, M, datum)` with geocentric coordinates `x`, `y` and `z`, geodetic coordinates `lat`, `lon` and `height`, case `C` (see the `Ecef*.reverse` methods) and optionally, the EcefMatrix `M` and `datum`, with `lat` and `lon` in `degrees` and `x`, `y`, `z` and `height` in `meter`, conventionally.
      - pygeodesy.ecef.EcefMatrix: A rotation matrix.
      - pygeodesy.elevations.Elevation2Tuple: 2-Tuple `(elevation, data_source)` in `meter` and `str`.
      - pygeodesy.elliptic.Elliptic3Tuple: 3-Tuple `(sn, cn, dn)` all `float`.
      - pygeodesy.frechet.Frechet6Tuple: 6-Tuple `(fd, fi1, fi2, r, n, units)` with the discrete Fréchet distance `fd`, fractional indices `fi1` and `fi2`, the recursion depth `r`, the number of distances computed `n` and the name of the distance `units`.
      - pygeodesy.elevations.GeoidHeight2Tuple: 2-Tuple `(height, model_name)`, geoid `height` in `meter` and `model_name` as `str`.
      - pygeodesy.geoids.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.hausdorff.Hausdorff6Tuple: 6-Tuple `(hd, i, j, mn, md, units)` with the Hausdorff distance `hd`, indices `i` and `j`, the total count `mn`, the `mean Hausdorff` distance `md` and the name of the distance `units`.
      - pygeodesy.named.LatLon2Tuple: 2-Tuple `(lat, lon)` in `degrees90` and `degrees180`.
      - pygeodesy.named.LatLon3Tuple: 3-Tuple `(lat, lon, height)` in `degrees90`, `degrees180` and `meter`.
      - pygeodesy.named.LatLon4Tuple: 4-Tuple `(lat, lon, height, datum)` in `degrees90`, `degrees180`, `meter` and Datum.
      - pygeodesy.css.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 `degrees90`, `degrees180` and Datum.
      - pygeodesy.utmupsBase.LatLonDatum5Tuple: 5-Tuple `(lat, lon, datum, convergence, scale)` in `degrees90`, `degrees180`, Datum, `degrees` and `float`.
      - pygeodesy.etm.LatLonExact4Tuple: 4-Tuple `(lat, lon, convergence, scale)` in `degrees180`, `degrees`, `degrees` and `scalar`.
      - 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.mgrs.Mgrs4Tuple: 4-Tuple `(zone, digraph, easting, northing)`, `zone` and `digraph` as `str`, `easting` and `northing` in `meter`.
      - pygeodesy.mgrs.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.points.NearestOn5Tuple: 5-Tuple `(lat, lon, distance, angle, height)` all in `degrees`, except `height`.
      - pygeodesy.ellipsoidalNvector.Ned3Tuple: 3-Tuple `(north, east, down)`, all in `degrees`.
      - pygeodesy.named.PhiLam2Tuple: 2-Tuple `(phi, lam)` with latitude `phi` in `radians[PI_2]` and longitude `lam` in `radians[PI]`.
      - pygeodesy.named.PhiLam3Tuple: 3-Tuple `(phi, lam, height)` with latitude `phi` in `radians[PI_2]`, longitude `lam` in `radians[PI]` and `height` in `meter`.
      - pygeodesy.named.PhiLam4Tuple: 4-Tuple `(phi, lam, height, datum)` with latitude `phi` in `radians[PI_2]`, longitude `lam` in `radians[PI]`, `height` in `meter` and Datum.
      - pygeodesy.points.Point3Tuple: 3-Tuple `(x, y, ll)` in `meter`, `meter` and `LatLon`.
      - pygeodesy.named.Points2Tuple: 2-Tuple `(number, points)` with the `number` of points and -possible reduced- `list` or `tuple` of `points`.
      - pygeodesy.formy.Radical2Tuple: 2-Tuple `(ratio, xline)` of the radical `ratio` and radical `xline`, both `float` and `0.0 <= ratio <= 1.0`
      - pygeodesy.points.Shape2Tuple: 2-Tuple `(nrows, ncols)`, the number of rows and columns, both `int`.
      - pygeodesy.utmupsBase.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.deprecated.UtmUps4Tuple: OBSOLETE, expect a UtmUps5Tuple from method `Mgrs.toUtm(utm=None)`.
      - pygeodesy.utmupsBase.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.utmupsBase.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.utmupsBase.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).