2012-02-12 231 views
7

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

谢谢所有帮助

回答

8

正如你提到的,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分钟全世界二进制大地水准面文件数据说明:


---- FILE:WW15MGH.DAC

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