如何根据平均海平面计算海拔高度 [英] How to calculate the altitude above from mean sea level

查看:62
本文介绍了如何根据平均海平面计算海拔高度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图找到如何使海拔高于平均海平面.此时,它从椭球返回高度.所以,任何人都知道改变高度值的公式或计算从椭球到平均海平面的高度值.

I tried to find how to get the altitude above the mean sea level. At this time, it returns altitude from the ellipsoid. So, anyone knows the formula or calculation to change the altitude value from ellipsoid to the altitude value from mean sea level.

感谢大家的帮助

推荐答案

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

As you mentioned, GPS returns the altitude as an offset from the WGS84 reference ellipsoid, but most people want to see mean sea level (MSL), and the two frequently don't agree. The way this is most frequently done is by looking up the delta in a table and using that to compute MSL based on the height from GPS and the delta in the table.

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

There's some java code here: https://github.com/NASAWorldWind/WorldWindJava/blob/develop/src/gov/nasa/worldwind/util/EGM96.java. The other functions that it uses from Worldwind aren't that complicated, so you could probably use most of the code unmodified, and the rest you could adapt if you're working in Java and their license meets your needs.

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

It uses information from the EGM 96 data set (link here if you're interested -- not strictly necessary though), which you can download here: https://github.com/jleppert/egm96/blob/master/WW15MGH.DAC. You will want the WW15MGH.DAC file. It's a binary file full of 16-bit signed integers. You can use the Java example to show you how to access the data in the file. They also provide a Fortran example if that's your thing. :-)

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

Here's the information on the file from their readme.

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

Data Description for 15 minute worldwide binary geoid height file:

---- 文件:WW15MGH.DAC

---- FILE: WW15MGH.DAC

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

The total size of the file is 2,076,480 bytes. This file was created using an INTEGER2 data type format and is an unformatted direct access file. The data on the file is arranged in records from north to south. There are 721 records on the file starting with record 1 at 90 N. The last record on the file is at latitude 90 S. For each record, there are 1,440 15 arc-minute geoid heights arranged by longitude from west to east starting at the Prime Meridian (0 E) and ending 15 arc-minutes west of the Prime Meridian (359.75 E). On file, the geoid heights are in units of centimeters. While retrieving the Integer2 values on file, divide by 100 and this will produce a geoid height in meters.

这篇关于如何根据平均海平面计算海拔高度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆