dem_height_frame_residual — DEM geodesy op

• Data kinds: signal × signal × signal → table

• Call: import fullseye as fs; fs.ledger.dem_height_frame_residual(h_ellipsoidal_m, h_orthometric_m, geoid_height_m, tol_m=0.1) (to call the implementation directly, import demops; demops.dem_height_frame_residual(h_ellipsoidal_m, h_orthometric_m, geoid_height_m, tol_m=0.1); from the registry, opsdem.get("dem_height_frame_residual"))

Usage

Residual h - H - N — a detector that does not let a mix-up of heights stay silent (table).

Ellipsoidal height, orthometric height and geoid height are linked by 1 identity (h = H + N). Measuring its residual at points where all 3 are available shows numerically that one of them was made with a different datum, a different model or a different version. Between survey results the residual stays at the cm level; if ellipsoidal height is used directly as orthometric height, the residual is pinned to -N (−30 to −40 m around Japan).

Args:

h_ellipsoidal_m: ellipsoidal height [m] (as returned by GNSS). Arrays allowed.

h_orthometric_m: orthometric height of the same points [m] (map, levelling).

geoid_height_m: geoid height of the same points [m].

tol_m: threshold [m] for regarding values as "consistent". Default 0.10 m.

Returns:

{"residual_m": (n,), "rms_m", "max_abs_m", "median_m", "n", "n_over_tol", "tol_m", "fraction_over_tol"}.

Checkable by closed form: for 3-tuples built according to the identity the residual is 0 (measured rms 1.2e-14 m; not exactly 0 only because of rounding). If ellipsoidal heights are put directly into the orthometric-height column, the residual is pinned to −N —— the size of the mix-up shows up as is.

ValueError: length mismatch, non-finite values, negative *tol_m*.

Detailed usage guide

• dem_terrain_analysis family guide

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• poc_geodetic_benchmarks_real — py -3.11 examples/poc_geodetic_benchmarks_real.py

Ops the type connects to (they accept table as input)

—

Same category (geodesy)

dem_geodetic_to_ecef · dem_ecef_to_geodetic · dem_geocentric_grid · dem_earth_curvature_drop · dem_cell_size_webmercator · dem_geodetic_slope · dem_geoid_height · dem_height_frame_convert


*Provenance: demops.py — DEM operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.