geodesy op• 数据种类:无 → points(仅由参数决定的算子 —— 不接受图像或数据输入)
• 调用: import fullseye as fs; fs.ledger.dem_enu_from_geodetic(lat_deg, lon_deg, h_m, lat0_deg, lon0_deg, h0_m)(要直接调用实现,import demops; demops.dem_enu_from_geodetic(lat_deg, lon_deg, h_m, lat0_deg, lon0_deg, h0_m);从台账取用则 opsdem.get("dem_enu_from_geodetic"))
大地坐标 → 参考点周围的局部 ENU(东、北、上)[m] (points)。
现场图纸、机器人地图、点云大多以“相对原点的东、北、上”表示。从 ECEF 的转换是在基准点处的 1 次旋转,ENU = R(lat0, lon0) (X - X0)。
★ 不是平面直角坐标(投影)。ENU 相当于向基准点处切平面的正射投影,距离越远,因地球曲率在高度方向下落越多 —— 10 km 约 7.8 m,100 km 约 780 m。把大范围当作“平坦的 xy”处理,就是丢弃了这一落差。
Args:
lat_deg / lon_deg: 点的纬度、经度 [度]。可为数组。
h_m: 点的椭球高 [m]。
lat0_deg / lon0_deg / h0_m: 基准点(原点)的大地坐标。
Returns:
(n, 3) 的 (east, north, up) [m]。基准点本身严格为 (0, 0, 0)。
可用闭式检验的内容:基准点处为 (0, 0, 0),
与 dem_geodetic_from_enu 的往返为 1e-9 m 级,并且与经由既有的 dem_geodetic_to_ecef 自行旋转的结果一致(经由另一路径的验算)。
ValueError:非有限值、纬度超出 ±90、长度不一致。
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• 算法的正典(作者、年份)与用途见上面的族使用指南。
• poc_geodetic_benchmarks_real — py -3.11 examples/poc_geodetic_benchmarks_real.py
• poc_geodetic_height_frames — py -3.11 examples/poc_geodetic_height_frames.py
points 作为输入)dem_ecef_to_geodetic · dem_geodetic_from_enu
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 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.