[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.css.CSSError: Cassini-Soldner (CSS) conversion or other Css issue.
          - pygeodesy.clipy.ClipError: Clip box or clip region invalid.
          - 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, decode or other Epsg issue.
          - pygeodesy.ecef.EcefError: An ECEF or 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.lcc.LCCError: Lambert Conformal Conic `LCC` or other Lcc issue.
          - pygeodesy.basics.LenError: Error raised for mis-matching `len` values.
          - pygeodesy.basics.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.dms.ParseError: Degrees, radians or other parsing issue.
          - pygeodesy.formy.PointsError: 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.heights.SciPyError: Error raised for `SciPy` errors.
              - pygeodesy.heights.SciPyWarning: Exception thrown for `SciPy` warnings.
          - pygeodesy.basics.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: Issue with class Vector3d or `*Nvector`.
          - 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) parse 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 Charles Karney's GeographicLib Geodesic Inverse method.
      - pygeodesy.frechet.FrechetRadians: Frechet base class for distances in `radians` or `radians squared` from `LatLon` points converted from `degrees` to `radians`.
        - 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` from function flatLocal_.
        - 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 `Haversine` distance in `radians` from function haversine_.
        - pygeodesy.frechet.FrechetVincentys: Compute the `Frechet` distance based on the angular `Vincenty` 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 Charles Karney's GeographicLib Geodesic Inverse method.
      - pygeodesy.hausdorff.HausdorffRadians: Hausdorff base class for distances from `LatLon` points converted from `degrees` to `radians`.
        - 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` from function flatLocal_.
        - 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.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 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: (INTERNAL) Base class for Inverse Distance Weighting (IDW) height interpolators.
        - pygeodesy.heights.HeightIDWcosineLaw: Height interpolator using Inverse Distance Weighting (IDW) and the distance in `radians` from function cosineLaw_.
        - pygeodesy.heights.HeightIDWequirectangular: Height interpolator using Inverse Distance Weighting (IDW) and the 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 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 distance in `radians squared` like function flatLocal_.
        - pygeodesy.heights.HeightIDWflatPolar: Height interpolator using Inverse Distance Weighting (IDW) and the distance in `radians` from function flatPolar_.
        - pygeodesy.heights.HeightIDWhaversine: Height interpolator using Inverse Distance Weighting (IDW) and the 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 distance in `degrees` from Charles F. F. Karney's GeographicLib Geodesic Inverse method.
        - pygeodesy.heights.HeightIDWvincentys: Height interpolator using Inverse Distance Weighting (IDW) and the 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)`, transcibed from Karney's C++ class LocalCartesian.
      - pygeodesy.etm.ExactTransverseMercator: A Python version of Karney's TransverseMercatorExact C++ class, a numerically exact transverse mercator projection, referred to as `TMExact` here.
      - 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.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.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.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.points.Shape2Tuple: 2-Tuple `(nrows, ncols)`, the number of rows and columns, both `int`.
      - pygeodesy.epsg.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.mgrs.UtmUps4Tuple: 4-Tuple `(zone, hemipole, easting, northing)` as `str`, `str`, `meter` and `meter`.
      - 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.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.Str: Named `str`.
        - 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.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.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.
  - 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.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.points.Shape2Tuple: 2-Tuple `(nrows, ncols)`, the number of rows and columns, both `int`.
      - pygeodesy.epsg.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.mgrs.UtmUps4Tuple: 4-Tuple `(zone, hemipole, easting, northing)` as `str`, `str`, `meter` and `meter`.
      - 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).