- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我试图找出如何使海拔高度高于平均海平面。此时,它从椭球体返回高度。所以,任何人都知道改变高度值的公式或计算从椭球到平均海平面的高度值。
谢谢大家的帮助
最佳答案
如您所述,GPS 返回高度作为 WGS84 引用椭球的偏移量,但大多数人希望看到平均海平面 (MSL),而这两者经常不一致。最常用的方法是查找表格中的增量,并使用它根据 GPS 的高度和表格中的增量计算 MSL。
这里有一些java代码:https://github.com/NASAWorldWind/WorldWindJava/blob/develop/src/gov/nasa/worldwind/util/EGM96.java .它使用 Worldwind 的其他功能并没有那么复杂,因此您可能可以不加修改地使用大部分代码,如果您使用 Java 工作并且他们的许可证满足您的需要,您可以调整其余代码。
它使用来自 EGM 96 数据集的信息(链接 here 如果您有兴趣——尽管并非绝对必要),您可以在此处下载:https://github.com/jleppert/egm96/blob/master/WW15MGH.DAC .您将需要 WW15MGH.DAC 文件。它是一个充满 16 位带符号整数的二进制文件。您可以使用 Java 示例向您展示如何访问文件中的数据。如果您喜欢,他们还提供 Fortran 示例。 :-)
这是他们自述文件中有关文件的信息。
Data Description for 15 minute worldwide binary geoid height file:
---- FILE: WW15MGH.DAC
The total size of the file is 2,076,480 bytes. This file was createdusing an INTEGER2 data type format and is an unformatted direct accessfile. 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. Thelast record on the file is at latitude 90 S. For each record, thereare 1,440 15 arc-minute geoid heights arranged by longitude from west toeast starting at the Prime Meridian (0 E) and ending 15 arc-minutes westof the Prime Meridian (359.75 E). On file, the geoid heights are in unitsof centimeters. While retrieving the Integer2 values on file, divide by100 and this will produce a geoid height in meters.
关于android - 如何从平均海平面计算海拔高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9249193/
我是一名优秀的程序员,十分优秀!