dem_height_frame_convert — DEM geodesy op

• 数据种类:signal × signal → signal

• 调用: import fullseye as fs; fs.ledger.dem_height_frame_convert(height_m, geoid_height_m, frm='ellipsoidal', to='orthometric')(要直接调用实现,import demops; demops.dem_height_frame_convert(height_m, geoid_height_m, frm='ellipsoidal', to='orthometric');从台账取用则 opsdem.get("dem_height_frame_convert"))

用法

转换高度的基准:椭球高 h ↔ 海拔高 H(H = h - N)。signal。

同一个“高度”一词下流通着 2 种不同的东西,而且两者都不抛异常就登上地图。本 op 强制写明从哪一种转换到哪一种 —— 虽然有默认值,但 frm 和 to 会留在代码中而不是 docstring 里。

Args:

height_m: 高度 [m]。可为数组。

geoid_height_m: 同一点的大地水准面高 N [m] —— 用 dem_geoid_height 查到的值。

标量或数组均可。

frm / to: "ellipsoidal"(椭球高)或 "orthometric"(正高)。

Returns:

(n,) 的转换后高度 [m]。frm == to 时值不变。

可用闭合公式检验的部分:H = h - N 就是定义本身,所以真值由减法得出。往返(h→H→h)的误差实测在 5e-13 m 以下(5,000 点,高度 −100~4000 m、N ±100 m)。并非逐位一致 —— (h - N) + N 可能因舍入而变动 1 ulp, 实测中 5,000 点里有 273 点如此。不用等号来写“往返后恢复原值”,原因就在于此。

ValueError:未知的基准名、长度不一致、非有限。

详细使用指南

• dem_terrain_analysis 族使用指南

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者、年份)与用途见上面的族使用指南。

可运行的示例(实际调用该算子并已验证的样例)

• poc_geodetic_benchmarks_real — py -3.11 examples/poc_geodetic_benchmarks_real.py

类型可衔接的下一个算子(可接受 signal 作为输入)

dem_height_frame_residual

同类别(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_residual


*Provenance: demops.py — DEM 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

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