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

# Module heights

Height interpolations at `LatLon` points from known `knots`.

Classes HeightCubic, HeightIDWcosineAndoyerLambert, HeightIDWcosineForsytheAndoyerLambert, HeightIDWcosineLaw, HeightIDWdistanceTo, HeightIDWequirectangular, HeightIDWeuclidean, HeightIDWflatLocal, HeightIDWflatPolar, HeightIDWhaversine, HeightIDWhubeny, HeightIDWkarney, HeightIDWthomas, HeightIDWvincentys, HeightLinear, HeightLSQBiSpline and HeightSmoothBiSpline to interpolate the height of `LatLon` locations or separate lat-/longitudes from a set of `LatLon` points with known heights.

# Typical usage

1. Get or create a set of `LatLon` points with known heights, called `knots`. The `knots` do not need to be ordered in any particular way.

   `>>> ...`

2. Select one of the `Height` classes for height interpolation

   `>>> from pygeodesy import HeightCubic # or other Height... as HeightXyz`

3. Instantiate a height interpolator with the `knots` and use keyword arguments to select different interpolation options

   `>>> hinterpolator = HeightXyz(knots, **options)`

4. Get the interpolated height of other `LatLon` location(s) with

   `>>> ll = LatLon(1, 2, ...)`

   `>>> h = hinterpolator(ll)`

   or

   `>>> h0, h1, h2, ... = hinterpolator(ll0, ll1, ll2, ...)`

   or a list, tuple, generator, etc. of `LatLon`s

   `>>> hs = hinterpolator(lls)`

5. For separate lat- and longitudes invoke the `.height` method

   `>>> h = hinterpolator.height(lat, lon)`

   or as 2 lists, 2 tuples, etc.

   `>>> hs = hinterpolator.height(lats, lons)`

Notes:

- Classes HeightCubic and HeightLinear require package numpy, classes HeightLSQBiSpline and HeightSmoothBiSpline require package scipy. Classes HeightIDWkarney and HeightIDWdistanceTo -if used with ellipsoidalKarney.LatLon points- require Karney's geographiclib to be installed.
- Errors from `scipy` are raised as SciPyErrors. Warnings issued by `scipy` can be thrown as SciPyWarning exceptions, provided Python `warnings` are filtered accordingly, see SciPyWarning.

See Also: SciPy Interpolation.

Version: 24.08.24

Classes
| HeightError Height interpolator `Height...` or interpolation issue.
| _HeightNamed (INTERNAL) Interpolator base class.
| _HeightBase (INTERNAL) Interpolator base class.
| HeightCubic Height interpolator based on `SciPy` interp2d `kind='cubic'` or bisplrep/-ev `kx=ky=3`.
| HeightLinear Height interpolator based on `SciPy` interp2d `kind='linear'` or bisplrep/-ev `kx=ky=1`.
| HeightLSQBiSpline Height interpolator using `SciPy` LSQSphereBivariateSpline.
| HeightSmoothBiSpline Height interpolator using `SciPy` SmoothSphereBivariateSpline.
| _HeightIDW (INTERNAL) Base class for Inverse Distance Weighting (IDW) height interpolators.
| HeightIDWcosineAndoyerLambert Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function pygeodesy.cosineAndoyerLambert_.
| HeightIDWcosineForsytheAndoyerLambert Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function pygeodesy.cosineForsytheAndoyerLambert_.
| HeightIDWcosineLaw Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function pygeodesy.cosineLaw_.
| HeightIDWdistanceTo Height interpolator using Inverse Distance Weighting (IDW) and the distance from the points' `LatLon.distanceTo` method, conventionally in `meter`.
| HeightIDWequirectangular Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians squared` like function pygeodesy.equirectangular4.
| HeightIDWeuclidean Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function pygeodesy.euclidean_.
| HeightIDWexact Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `degrees` from method GeodesicExact.Inverse.
| HeightIDWflatLocal Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians squared` like function pygeodesy.flatLocal_/pygeodesy.hubeny_.
| HeightIDWflatPolar Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function pygeodesy.flatPolar_.
| HeightIDWhaversine Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function pygeodesy.haversine_.
| HeightIDWhubeny Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians squared` like function pygeodesy.flatLocal_/pygeodesy.hubeny_.
| HeightIDWkarney Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `degrees` from Karney's geographiclib method Geodesic.Inverse.
| HeightIDWthomas Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function pygeodesy.thomas_.
| HeightIDWvincentys Height interpolator using Inverse Distance Weighting (IDW) and the angular distance in `radians` from function pygeodesy.vincentys_.

Variables
| __all__ = `_ALL_LAZY.heights`