10

我试图找到如何使海拔高于平均海平面。此时,它从椭球返回高度。因此,任何人都知道将高度值从椭圆体更改为平均海平面的高度值的公式或计算。

谢谢大家的帮助

4

1 回答 1

12

正如您所提到的,GPS 返回高度作为与 WGS84 参考椭球的偏移量,但大多数人希望看到平均海平面 (MSL),而两者经常不同意。最常用的方法是在表格中查找增量,并使用它根据 GPS 的高度和表格中的增量来计算 MSL。

这里有一些java代码:https ://github.com/NASAWorldWind/WorldWindJava/blob/develop/src/gov/nasa/worldwind/util/EGM96.java 。它使用 Worldwind 的其他功能并不复杂,因此您可能可以使用大部分未修改的代码,如果您使用 Java 并且它们的许可证满足您的需求,则可以调整其余代码。

它使用来自 EGM 96 数据集的信息(如果您有兴趣,请在此处链接——尽管并非绝对必要),您可以在此处下载: https ://github.com/jleppert/egm96/blob/master/WW15MGH.DAC . 您将需要 WW15MGH.DAC 文件。它是一个包含 16 位有符号整数的二进制文件。您可以使用 Java 示例向您展示如何访问文件中的数据。如果那是您的事,他们还提供了一个 Fortran 示例。:-)

这是他们自述文件中的文件信息。

15 分钟全球二元大地水准面高度文件的数据说明:


---- 文件:WW15MGH.DAC

该文件的总大小为 2,076,480 字节。此文件是使用 INTEGER 2 数据类型格式创建的,并且是未格式化的直接访问文件。文件中的数据从北到南排列在记录中。文件中有 721 条记录,从北纬 90 处的记录 1 开始。文件中的最后一条记录位于南纬 90 度。对于每条记录,从西向东按经度排列的 1,440 个 15 弧分大地水准面高度本初子午线 (0 E) 并在本初子午线 (359.75 E) 以西 15 角分处结束。在文件中,大地水准面的高度以厘米为单位。在检索文件中的整数 2 值时,除以 100,这将产生一个以米为单位的大地水准面高度。

于 2012-10-10T03:18:33.680 回答