Sign up ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am currently developing a little application in Android which uses GPS.

When i click a button i start to record a "track". If i walk around i save my position every second into a file. This works perfectly except for one thing:

I do not only save longitude and latitude but also the current altitude. Looking through the data I recognized that the altitude jumps some times.

For example the altitude values look like this:

271.4073616670083; 271.5165709069828; 345.6; 271.58538936056465;

The values around 270 metres are quite good. Jump like these happen irregularily but quite often (every 15 seconds there ist at least 1 jump). And the values always jump up to something around 340 metres.

While recording the track with my application I have also been walking around with an app called NMEA Recorder. This app recorded the altitude values as well but they don't jump like the values I receive.

I know that the altitude values of GPS (calculated by the WGS84-Ellipsoid) aren't very accurate but that still doesn't explain why the values jumpt sometimes.

Would be nice if somebody could tell me why jumps like these happen.

share|improve this question
What about the lon/lat coordinates? DO they vary as well? –  R.K. Dec 10 '12 at 12:42
I didn't have any problems with longitude or latitude yet. It was only the altitude that jumped sometimes. –  Siggy Dec 10 '12 at 15:14

2 Answers 2

up vote 18 down vote accepted

Imagine several satellites spread out evenly above you. Now pick just one satellite. Visualise a sphere centered around that satellite with a radius of your exact distance from it. Do the same for every satellite in view.

What you're seeing now is a bunch of spheres that intersect exactly where you're standing. That's how a GPS reading works, essentially.

Unfortunately, these spheres intersect at more than one point. As you will see in the following image, it is possible to get a false reading depending on the VDOP. Usually, a satellite configuration that is quite low or high on the horizon will give you this reading.

enter image description here

If you want to make your application more accurate, you will need to look at the quality of the signals and (if available) DOP calculations before 'trusting' the location.

share|improve this answer
Thank you very much!!! This helped me a lot :) –  Siggy Dec 10 '12 at 11:45
But then, won't the coordinates be wrong as well? –  R.K. Dec 10 '12 at 12:42
@R.K. Depending on how the spheres intersect the bulk of the error could be vertical. –  Dan Neely Dec 10 '12 at 15:11

As an engineer having worked with GPS satellites, I can give you an explanation- it has to do with how many GPS satellites you are receiving signals from for your readings. There are 24 working satellites in the present Global Positional System and depending upon your location (inside a building, under trees, between tall buildings, etc. you will pick signals from 3 or 4 satellites. Signals from 3 satellites intersect at arc between their spheres and the elevation data may not be accurate. Signals from 4 satellites are quite accurate as they intersect at a point! Hope this helps.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.