数据处理 2026-09-21

高程格网改正,到底改了啥?

一个听起来很专业的名词,拆开看,其实是一张每个格子都不一样的"补丁网"。

有位客户来找我,说我们的软件高程格网改正一定是错的——他们测出来的高程,怎么都对不上。

我一开始也怀疑是不是改正的问题。直到我把整条数据处理链从头走了一遍,才发现:问题不在改正,而在改正之前。

这篇想把这个东西讲清楚:那个叫”高程格网改正”的东西,它到底在改什么。

先说结论:它是一张网

我们常用的 EGM2008 模型,听着很高级,其实拆开看,就是一张格网——把地球表面划成一个个格子,每个格子里存一个数值。

关键在于:这个数值,每个地方都不一样。

它不是一个全局统一的常数,而是一张起伏的、随位置变化的”补丁网”。你测出来的原始高程,加上它所在位置的那个格子里的数值,就得到了最终结果。

看起来高深的过程,底层就是这么一个”查表 + 相加”的动作。

高程系统间的关系:椭球面、大地水准面、似大地水准面,以及各自的高度

那为什么要打这个补丁?

要理解这一点,得先接受一件事:高程不是一个数,它取决于你从哪个面往上量。

我们脚下其实同时存在好几个”基准面”,它们各自起伏、彼此并不平行:

  • 地球椭球面——一个光滑的数学曲面。GNSS 直接给出的高度(大地高 H),是从它量起的。
  • 大地水准面——大致是”平均海面”,但它并不平,跟着地球内部的质量分布起伏。
  • 似大地水准面——又一个略有差别的面,工程上常用的正常高 是它量起的。

问题就出在这:仪器测出来的高度,和工程上真正需要的高度,是从不同的面量起的。 这两个面之间隔着一个起伏不定的差距。

下面这个演示,把这几个面的关系画成了一条剖面。左右拖动它,或者干脆把鼠标移过去——你会看到测点沿地形移动时,那几个面之间的缝隙一直在变宽、变窄

互动演示 · 高程系统剖面 左右拖动查看不同位置
大地水准面差距 N
高程异常 ξ
大地高 H
正高 Hg
拖动查看不同位置 →
地形自然表面 大地水准面 似大地水准面 地球椭球面

注意看左边那几个读数——N 和 ξ 都不是常数,它们随位置在变。这就是”格网”存在的理由:因为每个地方的值都不一样,你没法用一个数字解决问题,只能把它做成一张随位置变化的网。

(顺便说一句:这张图的纵向比例是极度夸张的。真实世界里,这些面之间的差距只有几十米,而地球半径是 6371 公里——按真实比例画,它们会贴成一张纸,你什么都看不见。所以这张图”撒了谎”,但它撒的谎只是把垂直方向放大了。差距很小,但必须改正——因为工程上要的是厘米。)

EGM2008 干的,就是把这个差距在每个点上算出来、做成一格一格的网。所谓”改正”,本质就是拿这个差距,把高度从一个基准面,翻译到另一个基准面上。

这不是一个模型的事

讲到这里,就可以往外推一步了:

所有的高程格网改正,干的是同一件事——把数据从”仪器测出来的那个世界”,翻译到”工程能用的那个世界”。

不同的模型(EGM2008,或者别的),只是这张网算得更准或更糙而已。这个思路是可以通用的。

为什么它非做不可

不做这一步会怎样?

你的数据会对不上——和自己前一次的成果对不上,和别人的数据对不上,和图纸上标的标高对不上。这不是”精度差一点”的问题,是整个数据落在了一个错误的基准上,谁都没法用。

所以这一步不是锦上添花,它是让数据”能说话”的前提。


(注:EGM2008 严格来说是大地水准面模型,给出的是”大地水准面差距”;而国内常说的”高程异常”是配正常高的。两者在多数地区数值差别极小,工程上常常通用——这个细节值得单独讲,留待后文。)