我试图找到如何使海拔高于平均海平面。 此时,它从椭圆体返回高度。 所以,任何人都知道改变高度值的公式或计算 从椭圆体到平均海平面的海拔高度值。
感谢您的帮助
答案 0 :(得分:11)
正如您所提到的,GPS将高度作为WGS84参考椭球的偏移量返回,但大多数人希望看到平均海平面(MSL),而这两者经常不同意。最常用的方法是在表格中查找增量并使用它来根据GPS的高度和表格中的增量计算MSL。
这里有一些java代码:http://worldwind31.arc.nasa.gov/svn/trunk/WorldWind/src/gov/nasa/worldwind/util/EGM96.java。它在Worldwind中使用的其他功能并不复杂,因此您可以使用未经修改的大部分代码,如果您使用的是Java并且其许可证满足您的需求,则可以使用其他功能。
它使用来自EGM 96数据集的信息(链接here如果您感兴趣 - 虽然不是绝对必要的),您可以在此处下载:http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/binary/binarygeoid.html。您将需要WW15MGH.DAC文件。它是一个完整的16位有符号整数的二进制文件。您可以使用Java示例向您展示如何访问文件中的数据。他们还提供了Fortran示例,如果这是你的事情。 : - )
以下是自述文件中的信息。
15分钟全球二元大地水准面高度文件的数据描述:
----文件:WW15MGH.DAC
文件的总大小为2,076,480字节。此文件已创建 使用INTEGER * 2数据类型格式,是未格式化的直接访问 文件。文件中的数据按从北到南的记录排列。 文件上有721条记录,从记录1开始,在90 N. 该文件的最后一条记录位于北纬90度。对于每条记录,都有 是从西到东经度排列的1,440个弧形分钟大地水准面高度 东部从Prime Meridian(0 E)开始,向西结束15弧分 Prime Meridian(359.75 E)。在档案中,大地水准面高度以单位表示 厘米在文件中检索Integer * 2值时,除以 这将产生一个以米为单位的大地水准面高度。