4. 高斯投影反算公式推导与解析
高斯投影正算把椭球面上的大地坐标 (B, L) 映射为平面坐标 (x, y),而反算要解决的是它的逆问题:已知某点在高斯平面上的坐标 (x, y) 以及它所在的投影带,求该点的大地纬度 B 和大地经度 L。在矿山测量中,反算的用途非常实际——矿区控制网常以平面坐标形式保存和传递,当需要与国家大地坐标系、GNSS 观测成果或邻带坐标进行联算时,就必须先把平面坐标还原为椭球面上的经纬度,再重新投影或参与椭球面计算。因此反算不是正算的简单倒推,而是一套以底点纬度为核心的迭代求解过程。
反算的基本思路:先求底点纬度,再逐级改正
反算公式的推导起点是正算公式的结构。正算中,x 主要取决于纬度 B,y 主要取决于经差 l = L − L₀(L₀ 为中央子午线经度)。反算时,先令 y = 0、l = 0,此时平面上的点 (x, 0) 对应椭球面上中央子午线上的一个点,其纬度称为底点纬度 B_f(也称足点纬度)。底点纬度只由 x 决定,满足 x = X(B_f),其中 X(B) 为赤道至纬度 B 的子午线弧长。求出 B_f 后,再根据 y 和 B_f 计算经差 l 与纬度改正量,最终得到 B = B_f − ΔB,L = L₀ + l。
这里必须明确参照约定:本文所有经差 l 均以中央子午线为基准,东正西负;纬度 B 自赤道起算,北正南负;x 为北坐标(纵坐标),y 为东坐标(横坐标,含 500 km 假东移)。全文与图示保持这一约定。
公式各项的物理意义
反算公式通常写成如下形式(以克拉索夫斯基或 CGCS2000 椭球为例,系数随椭球不同而变):
B = B_f − (t_f / (2 M_f N_f)) · y²
+ (t_f / (24 M_f N_f³)) · (5 + 3t_f² + η_f² − 9η_f²t_f²) · y⁴
− ……
l = y / (N_f cos B_f)
− (1 / (6 N_f³ cos B_f)) · (1 + 2t_f² + η_f²) · y³
+ ……
式中:B_f 为底点纬度;t_f = tan B_f;η_f² = e′² cos²B_f,e′ 为第二偏心率;M_f 为 B_f 处的子午圈曲率半径;N_f 为 B_f 处的卯酉圈曲率半径;y 为相对中央子午线的横坐标(须先减去 500 km 假东移并考虑带号)。各项的物理意义可以这样理解:第一项 y/(N_f cos B_f) 是经差的“主项”,相当于把平面上的横向距离换算成中央子午线处的经差;后面的 y³、y⁵ 项是对高斯投影非线性的改正,因为离中央子午线越远,投影的长度变形和角度变形越显著,必须用高次项补偿。纬度改正项中的 y² 项则反映了“平面上的点比底点更远离中央子午线时,其真实纬度略低于底点纬度”这一几何事实。
迭代方法与收敛条件
严格来说,上述公式中的 B_f、M_f、N_f、t_f 都依赖于待求的 B,因此需要迭代。实用做法是:先由 x 直接反解出底点纬度 B_f⁽⁰⁾(这一步是子午线弧长公式的反解,可用展开式一次算出,精度已达微米级),代入公式求得 B⁽¹⁾ 和 l⁽¹⁾;再用 B⁽¹⁾ 重新计算 B_f、M、N、t、η,再次代入,直到相邻两次纬度改正量 |ΔB| 小于限差 ε。由于高斯投影反算公式本身是幂级数,在 |l| ≤ 3.5° 的常规分带范围内,初值已非常接近真值,通常迭代 2~3 次即可收敛,且收敛速度很快(呈平方级)。若 |l| 接近分带边缘甚至更大,高次项截断误差会增大,应收敛更慢,此时应检查是否用错了带号或中央子午线。
精度控制与实际算例
反算精度主要受三方面影响:一是椭球参数与中央子午线是否用对,带号错一位会导致经度差 3° 甚至 6°,结果完全错误;二是 y 坐标是否已去掉假东移和带号,直接拿含带号的 y 代入会得到荒谬的经差;三是幂级数截断阶数,常规公式保留到 y⁵ 项,在 |l| ≤ 3.5° 时截断误差小于 0.001″,满足要求。实际作业中,最可靠的精度控制手段是回代校核:把反算得到的 (B, L) 重新代入正算公式,计算 (x′, y′),与原始 (x, y) 比较,残差应在毫米级以内;若残差超限,说明迭代未收敛或参数有误。
举一个教学示例(参数为合理假设,非实测成果):设某矿采用 CGCS2000 椭球、3° 带第 38 带,中央子午线 L₀ = 114°E,已知平面坐标 x = 3 421 567.432 m,y = 38 456 789.123 m。先去掉带号与假东移,得 y′ = 456 789.123 − 500 000 = −43 210.877 m。由 x 反解底点纬度得 B_f ≈ 30.876 5°;代入经差主项得 l ≈ −0.007 49 rad(约 −0.429°),纬度改正 ΔB ≈ 0.000 62°;经 2 次迭代后 |ΔB| < 0.0001″,得 B ≈ 30.875 9°,L ≈ 113.571°。回代正算残差约 0.3 mm,满足要求。该例说明:y 为负表示点在中央子午线以西,经差为负,与约定一致。
常见错误与排查
- 带号未剥离:y 值以带号开头(如 38 456 789),必须先减去带号×10⁶ 再减 500 km,否则经差量级错误。
- 中央子午线取错:3° 带与 6° 带的 L₀ 计算方式不同,混用会使 l 偏差 1.5°~3°,反算结果系统性偏移。
- 迭代不收敛:多因 |l| 过大或初值 B_f 反解公式用错椭球,应检查椭球参数与弧长系数。
- 单位混用:公式中 y 以米计、角度以弧度计,若把度直接代入三角函数会得到错误结果。
掌握反算的关键,是把“底点纬度—经差主项—高次改正—迭代收敛—回代校核”这条链条走通,并始终对带号、假东移、中央子午线和单位保持清醒。这样,平面坐标与大地坐标之间的双向转换才能在矿区控制测量、GNSS 联测和换带计算中可靠使用。