Package pygeodesy :: Module geoids :: Class GeoidEGM96
[frames] | no frames]

Class GeoidEGM96

      object --+                
               |                
    named._Named --+            
                   |            
heights._HeightNamed --+        
                       |        
     heights._HeightBase --+    
                           |    
                  _GeoidBase --+
                               |
                              GeoidEGM96

Geoid height interpolator for the EGM96 15 Minute Interpolation Grid based on SciPy interpolation RectBivariateSpline, interp2d or bisplrep/-ev.

Use only the WW15MGH.GRD file, unzipped from the EGM96 15 Minute Interpolation Grid download.

Instance Methods
 
__init__(self, EGM96_grd, datum=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., kind=3, smooth=0, **name_crop)
New GeoidEGM96 interpolator.
 
__call__(self, *llis, **wrap_H)
Interpolate the geoid (or orthometric) height for one or more locations.
 
height(self, lats, lons, **wrap)
Interpolate the geoid height for one or several lat-/longitudes.

Inherited from _GeoidBase: __enter__, __exit__, __repr__, __str__, center, close, height_, highest, loweright, lowerleft, lowerright, lowest, outside, toStr, upperleft, upperright

Inherited from named._Named: __format__, __imatmul__, __matmul__, __rmatmul__, attrs, classof, copy, dup, methodname, rename, renamed, toRepr, toStr2

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Properties

Inherited from _GeoidBase: closed, cropped, dtype, endian, hits, kind, knots, mean, nBytes, name, pgm, sizeB, smooth, stdev, u2B

Inherited from heights._HeightBase: numpy, scipy, scipy_interpolate

Inherited from heights._HeightNamed: datum, kmin, wrap

Inherited from named._Named: classname, classnaming, iteration, named, named2, named3, named4, sizeof

Inherited from object: __class__

Method Details

__init__ (self, EGM96_grd, datum=Datum(name='WGS84', ellipsoid=Ellipsoids.WGS84, transform=Tran..., kind=3, smooth=0, **name_crop)
(Constructor)

 

New GeoidEGM96 interpolator.

Arguments:
  • EGM96_grd - An EGM96_grd grid file name (.GRD).
  • datum - Optional grid datum (Datum, Ellipsoid, Ellipsoid2 or a_f2Tuple), overriding WGS84.
  • kind - scipy.interpolate order (int), use 1..5 for RectBivariateSpline or -1, -3 or -5 for bisplrep/-ev or interp2d linear, cubic respectively quintic, see note for more details.
  • smooth - Smoothing factor for kind=1..5 only (int).
  • name_crop - Optional geoid name=NN (str) and UNSUPPORTED keyword argument crop=None.
Raises:
  • GeoidError - Invalid crop, kind or smooth or a ECM96 grid file ECM96_grd issue.
  • ImportError - Package numpy or scipy not found or not installed.
  • LenError - Grid file EGM96_grd axis mismatch.
  • SciPyError - A scipy issue.
  • SciPyWarning - A scipy warning as exception.
  • TypeError - Invalid datum.
Overrides: object.__init__

Note: Specify kind=-1, -3 or -5 to use scipy.interpolate.interp2d before or scipy.interpolate.bisplrep/-ev since Scipy version 1.14.

__call__ (self, *llis, **wrap_H)
(Call operator)

 

Interpolate the geoid (or orthometric) height for one or more locations.

Arguments:
  • llis - One or several locations (each LatLon), all positional.
  • wrap_H - Keyword arguments wrap=False (bool) and H=False (bool). Use wrap=True to wrap or normalize all llis locations. If H is True, return the orthometric height instead of the geoid height at each location.
Returns:
A single geoid (or orthometric) height (float) or a list or tuple of geoid (or orthometric) heights (each float).
Raises:
  • GeoidError - Insufficient number of llis, an invalid lli or the egm*.pgm geoid file is closed.
  • RangeError - An lli is outside this geoid's lat- or longitude range.
  • SciPyError - A scipy issue.
  • SciPyWarning - A scipy warning as exception.
Overrides: heights._HeightNamed.__call__

Note: To obtain orthometric heights, each llis location must have an ellipsoid height or h attribute, otherwise height=0 is used.

See Also: Function pygeodesy.heightOrthometric.

height (self, lats, lons, **wrap)

 

Interpolate the geoid height for one or several lat-/longitudes.

Arguments:
  • lats - Latitude or latitudes (each degrees).
  • lons - Longitude or longitudes (each degrees).
  • wrap - Use wrap=True to wrap or normalize all lats and lons.
Returns:
A single geoid height (float) or a list of geoid heights (each float).
Raises:
  • GeoidError - Insufficient or unequal number of lats and lons.
  • RangeError - A lat or lon is outside this geoid's lat- or longitude range.
  • SciPyError - A scipy issue.
  • SciPyWarning - A scipy warning as exception.
Overrides: heights._HeightNamed.height