WGS84将地球近似为一个椭球,EGM96是一个更复杂的模型,它基于地球的重力(不是恒定的),定义了新的“海平面”,这个新的“海平面”是一个光滑但不规则的形状,称为大地水平面。
WGS84是最适合该大地水准面的椭球体,但是在地球上的不同位置,WGS84椭球模型与大地水平面的差异是不同的,EGM96模型,可以描述两种不同平面之间的差异。
目前公开发布的DEM文件,如SRTM、AW3D30等,都是定义在大地水准面上的。而GPS使用的是椭球模型,在椭球模型中使用这些DEM文件时,需要使用EGM96模型,计算并补偿椭球面和大地水平面之间的差异。
在线计算工具:
https://www.unavco.org/software/geodetic-utilities/geoid-height-calculator/geoid-height-calculator.html
matlab中集成了使用egm96模型计算高程偏差的函数:
lat = 37.62;
lon = 105.32;
N = egm96geoid(lat,lon)
[N,R] = egm96geoid;
load coastlines
worldmap('World')
geoshow(N,R,'DisplayType','surface')
geoshow(coastlat,coastlon,'Color','k')
上述代码的运行结果如下图所示,可以看出全球范围内,高程偏差的范围约为[-100:90]。