typed op• 資料種類:points → points
• 呼叫:fullseye.apply(img, "tb_dem_ecef_to_geodetic", a=0.5, b=0.5)(2-D 的模型是一張圖 + 兩個純量旋鈕 a,b∈[0,1])
*無圖: 型別可達,但通用合成輸入不在此運算子的定義域內 —— ECEF は地球表面座標(中心から ~6.4M m)を要るが、画像由来の合成点は原点付近で楕円体の evolute 内に落ち必ず拒否される。用法見下方可執行範例。*
ECEF → 大地座標。回傳 (..., 3) 的 (緯度[度], 經度[度], 高度[m])。
接近 Bowring (1976) 閉合式的解法。往返(測地→ECEF→測地)的誤差 隨取樣位置不同會變動 1 個數量級以上,因此附上範圍來寫(2026-09-08 重測。以前寫的是「緯度、經度 小於 1e-12 度,高度 小於 1e-7 m」,但 ★在緯度 ±85 度、高度 -500〜9000 m 的 4000 個點上就已經以 最大 6.4e-12 度 / 8.5e-07 m 超出 —— 是與中位數 2.6e-13 度 / 3.3e-08 m 混淆了):
• 緯度 ±85 度、高度 -500〜9000 m … 緯度 中位 2.6e-13 / 最大 6.4e-12 度,高度 中位 3.3e-08 / 最大 8.5e-07 m
• 緯度 ±89.9 度、高度 -11 km〜40 km … 緯度 中位 2.9e-12 / 最大 1.3e-10 度,高度 中位 3.5e-07 / 最大 1.7e-05 m(靠近兩極會差 20 倍)
經度在兩種情況下最大都是 2.8e-14 度。在地面上都在 µm 以下,實務上可以當作「誤差下限」,但不要把中位數當作最大值引用。
如果只想要地心球座標,r = |xyz| 與 geocentric_lat = asin(z/r) 就夠了 —— 但那不是大地緯度 (兩者最多相差 0.19 度,換算成距離約 21 km)。本 op 回傳的是與地圖和 GPS 相同的測地緯度。
★在地球中心附近以 fail-closed 方式拒絕(2026-09-08,poc_geodetic_height_frames 踩到)。在橢球的漸屈線(evolute) (a·p)^(2/3) + (b·|z|)^(2/3) < (a²-b²)^(2/3) 內側,從橢球面立起的法線無法確定為 1 條,大地緯度本身就不唯一。在此之前這裡會默默回傳 lat = 180 度 —— 一個作為緯度並不存在的值,而且是它自己的反函數 dem_geodetic_to_ecef 會以「lat_deg must be within [-90, 90]」拒絕的值。該區域在赤道面上距軸 e²a = 42697.7 m,在極軸上為 (a²-b²)/b = 42841.3 m (實測: 42600 m 時為 180 度,42700 m 時為 0 度 —— 與閉合式邊界恰好一致)。
橋接到 2-D 演化註冊表的 dem op dem_ecef_to_geodetic。實作相同,只是把呼叫約定改成了 op(v, a, b)。此 op 沒有可調參數,a 與 b 都不使用。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
下面的範例呼叫的是底層帳本運算子 dem_ecef_to_geodetic。此橋接運算子只是把同一實作適配為 fn(v, a, b) 慣例,行為完全相同(只是呼叫形式不同)。
• dem_geodesy_tour — py -3.11 examples/dem_geodesy_tour.py
• 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 作為輸入)identity · tb_points_to_voxel · tb_estimate_point_normals · tb_iss_keypoints · tb_project_points · tb_render_point_depth · tb_statistical_outlier_removal · tb_radius_outlier_removal
typed)tb_points_to_voxel · tb_estimate_point_normals · tb_iss_keypoints · tb_project_points · tb_render_point_depth · tb_statistical_outlier_removal · tb_radius_outlier_removal · tb_voxel_grid_downsample
*Provenance: ops.py — 2D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.