geodesy op• 資料種類:無 → points(僅由參數決定的運算子 —— 不接受影像或資料輸入)
• 呼叫: import fullseye as fs; fs.ledger.dem_datum_shift_3param(lat_deg, lon_deg, h_m, dx_m, dy_m, dz_m, a_from_m, f_from, a_to_m, f_to)(要直接呼叫實作,import demops; demops.dem_datum_shift_3param(lat_deg, lon_deg, h_m, dx_m, dy_m, dz_m, a_from_m, f_from, a_to_m, f_to);從台帳取用則 opsdem.get("dem_datum_shift_3param"))
大地基準(datum)的轉換 —— 地心 3 參數平移(points)。
即使同為「北緯 35 度 41 分」,舊日本測地系與世界測地系所指的點在地面上相距數百公尺。本 op 將此轉換作為地心直角座標中的平移(Molodensky-Badekas 中無旋轉、無縮放的情形)來執行::
ECEF(a_from, f_from) + (dx, dy, dz) -> 大地座標(a_to, f_to)
★參數不設預設值。從哪個成果到哪個成果、用哪個平移量轉換,因國家、地區、版本而異,若默默假定,就會得到「不報例外但偏離數百公尺的座標」 —— 這正是本 op 存在的理由,所以必須讓呼叫者寫明。
Args:
lat_deg / lon_deg: 原成果中的緯度、經度 [度]。可為陣列。
h_m: 原成果中的橢球高 [m]。
dx_m / dy_m / dz_m: 地心平移量 [m] (原 → 目標)。
a_from_m / f_from: 原橢球的長半徑 [m] 與扁率。
a_to_m / f_to: 目標橢球的長半徑 [m] 與扁率。
Returns:
(n, 3) 的 (緯度[度], 經度[度], 橢球高[m])。
可用閉合式檢驗的內容:平移為 0 且為同一橢球時為恆等轉換 (往返的下限與 dem_ecef_to_geodetic 相同)。只給定平移時的地面位移量,與該點 ECEF 基底下分解的分量一致。
ValueError:非有限值、緯度超出 ±90、長半徑非正、扁率超出 [0, 1)。
• 範例資料目錄(下載 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.