Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android: How to get accurate altitude?

I need to get an accurate measurement of altitude using GPS only.

I tried Location.getAltitude(), but that is terribly inaccurate. Any advice?

like image 759
ask Avatar asked Feb 20 '12 13:02

ask


People also ask

How do I get altitude on my Android?

Click the "Menu" bar, which is next to the search bar and is represented by the three horizontal lines in the top-left. 4. Hit "Terrain" to show topography and elevation. Make sure that "View topography and elevation" is turned on in the "Terrain" slider at the bottom of the map.

Does Android have an altimeter app?

The Accurate Altimeter for Android is an all-out Altimeter app that lets you get altitude data when you're offline. You get accurate altitude values with different modes. The first mode is to use satellite triangulation. This mode might be slow but works without the internet.

How accurate is my altitude app?

The good news is that you can Measure Elevation Apps on iPhone and one of the altitude apps described in this article. Even though they don't reach the level of accuracy of professional pressure altimeters or barometric altimeters, they're accurate enough to satisfy the needs of most people.


1 Answers

There are two issues with using altitude of a smartphone / tablet GPS:

  1. 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.
  2. 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.
like image 161
Stefan Avatar answered Oct 03 '22 20:10

Stefan