Skip to main content

Module geoid

Module geoid 

Source
Expand description

Geoid undulation (geoid height) lookup with bilinear interpolation.

The geoid undulation N is the height of the geoid (mean sea level equipotential surface) above the WGS84 reference ellipsoid, in metres. GNSS positioning yields the ellipsoidal height h; the orthometric height H (height above mean sea level) is

H = h - N

A geoid model is published as a regular latitude/longitude grid of N samples (EGM96, EGM2008, and the national models all ship this way). This module provides:

§Built-in grid vs. loading a real model

Embedding a full-resolution EGM grid (EGM2008 is a 1-minute, ~2.3 GB grid) is impractical to vendor into the crate, so the built-in grid is a COARSE 30-degree global field. It reproduces the large-scale character of the geoid (the Indian Ocean low, the North Atlantic / New Guinea highs, the polar offsets) and is suitable for tests, sanity checks, and metre-scale fallback, but it is NOT survey-grade. Production code should load a real model through GeoidGrid::from_text (or build a GeoidGrid from any parsed source) and call GeoidGrid::undulation_rad directly.

Structs§

GeoidGrid
A regular latitude/longitude grid of geoid undulation samples (metres) with bilinear interpolation.

Enums§

GeoidError
Why a geoid grid could not be constructed or parsed.

Functions§

ellipsoidal_height_m
Ellipsoidal height h = H + N (metres above the WGS84 ellipsoid) from an orthometric height and a geodetic position in radians, using the built-in grid’s undulation. For a real model, add GeoidGrid::undulation_rad directly.
geoid_undulation
Geoid undulation N (metres above the WGS84 ellipsoid) at a geodetic position in radians, from the COARSE built-in global grid.
orthometric_height_m
Orthometric height H = h - N (metres above mean sea level) from an ellipsoidal height and a geodetic position in radians, using the built-in grid’s undulation. For a real model, subtract GeoidGrid::undulation_rad directly.