Android:如何获得准确的高度?(Android: How to get accurate altitude?)
我只需要使用GPS进行精确的高度测量。
我试过Location.getAltitude(),但这是非常不准确的。 有什么建议?
I need to get an accurate measurement of altitude using GPS only.
I tried Location.getAltitude(), but that is terribly inaccurate. Any advice?
最满意答案
使用智能手机/平板电脑GPS的高度有两个问题:
高度是WGS84参考椭球面以上的高度。 这不是地平线或海平面以上的高度。 以下是更详细的信息: http : //www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=10915 。 这个错误可以纠正; 这里是一个描述如何做到这一点: http : //www.unavco.org/edu_outreach/tutorial/geoidcorr.html 。 网络文章链接到一个计算器,以获得大地水准面的高度进行校正; 我不知道是否还有可用于此计算的Web服务。 对于价格相对便宜的GPS接收机,GPS高度非常不准确。 这里有一篇文章: http : //gpsinformation.net/main/altitude.htm 。 处理这种不准确的一种方法是过滤高度数据。 我使用圆形阵列数据结构来记住最后几个(我使用4个)高度读数并计算平均值。 这足以让我的应用获得相对精确的垂直速度读数。There are two issues with using altitude of a smartphone / tablet GPS:
The altitude is the altitude above the WGS84 reference ellipsoid. It is not the altitude above ground level or sea level. Here is more detail on that: http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=10915. This error can be corrected; here is a description how to do that by hand: http://www.unavco.org/edu_outreach/tutorial/geoidcorr.html. The web article links to a calculator to get the Geoid height for correction; I do not know if there is also a web service available for this computation. The GPS altitude is terribly inaccurate for relatively cheap GPS receivers. Here is an article on that: http://gpsinformation.net/main/altitude.htm. One method to cope with this kind of inaccuracy is to filter the altitude data. I used a circular array data structure to remember the last few (I used 4) altitude readings and compute the average. This sufficed to get a relatively accurate reading of vertical speed for my application.更多推荐
发布评论