What's The Current Status Of Altitude Data?

If you have at least 3 satellites, GPS Can calculate altitude as well as position. It suffers a wider accuracy error than barometric altitude, which is probably why barometric is used. Note as well that barometric altitude is relative. It is determined at the moment of power up relative to the launch site. It has no connection to height above sea level.
That's almost right.
Just add one more sat and it's correct.
For a 2D fix 3 satellites are required, this wouldn't give altitude information.
For a 3D fix minimum of 4 satellites are required.
 
Ok...OK....What are the terms...... Wave the Flag.gif
 
  • Like
Reactions: sar104 and bsartist
There was reports last year that the P4A/P went from storing GPS altitude to storing barometric relative altitude above ground relative to takeoff point. It appears to me that the altitude being used by Photoscan from photos taken by a Phantom 4 Adv/Pro is currently indeed the GPS altitude above sea level. So did it change back? Anyone with a P4A/P can also verify this if they use Photoscan. You can go into the reference pane and view the altitude values for each camera position. For a recent job, the ground elevation above sea level according to Google Earth Pro was 350m and Photoscan was showing 526m for camera position at that point. This was for a mission to fly 400 feet above ground level. Either Google or the Drone's GPS is way off though.

350m = 1150 feet. This is in the ballpark for the known elevation of the surrounding area (it's farmland.)

526m = 1725 feet

1725-1150 = 575 feet. That' 175 feet higher than the the mission altitude. The GPS altitude is actually supposed to be fairly accurate, I believe within 15 feet. Maybe this drone is faulty?

You can use this handy online EXIF viewer to see what's inside (Jeffrey Friedl's Image Metadata Viewer ). In the XMP there is an Absolute altitude and a relative altitude. And in the EXIF there is GPS altitufde. The EXIF GPS altitude matches the Absolute altitude in the XMP and the relative altitude in the XMP is correct. The rumor before (may have been reality until a firmware update) was the relative altitude above ground from the barometer was stored in both fields. It is no longer. Check for yourself if you don't believe me. (One problem with the Internet, especially discussion forums, is how easily false information can spread because no one takes the time to verify for themsevles that what they are reading is true. Think "fake news" !)
Whether this was just a temporary change/glitch in the firmware some months back or if it was "fake news" I don't know.

My question is, does it matter which elevation type is used in photogrammetry processing as long as the drone's elevation above ground is maintained relatively consistent across all photos? Meaning if the drone goes over a valley and the altitude above ground because 100 feet higher, it seems with barometer above ground measurement, the drone would think the ground is 100 feet closer than it really is whereas GPS altitude above sea level would be consistent. It would seem to me you want a consistent altitude reading for all the photos for the entire job site despite your launch point. Seems this would be true using either measurement.

The big question to me is, if you are using absolute altitude in processing (above sea level), how can the drone know the absolute elevation of any point on the ground (without using GCPs)? Seems to me it can't. It can only identify relative elevation changes without GCPs. Now if the processing used altitude above ground, theoretically if you knew the base elevation of any point in the photo, you could therefore calculate the absolute ground altitude above sea level of any point in the photo by adding that to the elevation data output.

Admittedly, I'm on the fringe of my knowledge of photogrammetry in the context of generating ground elevation data so these are all semi-educated guesses on my part.
 
The GPS altitude is actually supposed to be fairly accurate, I believe within 15 feet. Maybe this drone is faulty?
There's a problem with this and it's causing confusion.
GPS is reasonably accurate in the horizontal plane, but is woefully inaccurate in the vertical.
Here's what Garmin have to say about GPS altitude accuracy and why GPS altitude data is useless.
How accurate is the GPS elevation reading?
GPS heights are based on an ellipsoid (a mathematical representation of the earth's shape), while USGS map elevations are based on a vertical datum tied to the geoid (or what is commonly called mean sea level). Basically, these are two different systems, although they have a relationship that has been modeled.

The main source of error has to do with the arrangement of the satellite configurations during fix determinations. The earth blocks out satellites needed to get a good quality vertical measurement. Once the vertical datum is taken into account, the accuracy permitted by geometry considerations remains less than that of horizontal positions. It is not uncommon for satellite heights to be off from map elevations by +/- 400 ft. Use these values with caution when navigating.?

This should illustrate the point and demonstrate why the Phantom uses a barometer for flight purposes:
i-MqRGc68-XL.jpg


DJI originally displayed barometric altitude data in the exif info for each image file.
But about a year after the P3 came out, they changed to using GPS altitude data in the exif info.


My question is, does it matter which elevation type is used in photogrammetry processing as long as the drone's elevation above ground is maintained relatively consistent across all photos? Meaning if the drone goes over a valley and the altitude above ground because 100 feet higher, it seems with barometer above ground measurement, the drone would think the ground is 100 feet closer than it really is whereas GPS altitude above sea level would be consistent. It would seem to me you want a consistent altitude reading for all the photos for the entire job site despite your launch point.
It's not particularly important

My question is, does it matter which elevation type is used in photogrammetry processing as long as the drone's elevation above ground is maintained relatively consistent across all photos? Meaning if the drone goes over a valley and the altitude above ground because 100 feet higher, it seems with barometer above ground measurement, the drone would think the ground is 100 feet closer than it really is whereas GPS altitude above sea level would be consistent. It would seem to me you want a consistent altitude reading for all the photos for the entire job site despite your launch point. Seems this would be true using either measurement.
Photoscan deals easily with different altitudes and you don't need to maintain a steady altitude.
The earth isn't flat and photogammetry works well in the real world.

The big question to me is, if you are using absolute altitude in processing (above sea level), how can the drone know the absolute elevation of any point on the ground (without using GCPs)? Seems to me it can't. It can only identify relative elevation changes without GCPs. Now if the processing used altitude above ground, theoretically if you knew the base elevation of any point in the photo, you could therefore calculate the absolute ground altitude above sea level of any point in the photo by adding that to the elevation data output.
Because GPS altitude is so unreliable, commonly swinging significantly over the time taken to fly a site, you can only derive absolute elevation by using GCPs.
Without GCPs, you can plot contours but the calculated levels are arbitrary and there's no way to tie them into the local datum.
Introduce some properly placed GCPs into the equation and everything comes into place.
 
The big question to me is, if you are using absolute altitude in processing (above sea level), how can the drone know the absolute elevation of any point on the ground (without using GCPs)? Seems to me it can't. It can only identify relative elevation changes without GCPs. Now if the processing used altitude above ground, theoretically if you knew the base elevation of any point in the photo, you could therefore calculate the absolute ground altitude above sea level of any point in the photo by adding that to the elevation data output.
Here's an example of the same survey showing how Phantoscan calculates heights without GCPs and with GCPs.
Using GPS only, the elevations are not useable as the errors are too large.
Using GCPs, these errors are brought back to useable numbers and the contours now match the local environment.
i-BnNNCqD-X3.jpg
 
Well I think it's widely known that without at least one control point to establish the correct ground elevation to base your map off of, the absolute elevation readings will be way off (and yes, you need more than one GPC for decent accuracy across the entire map.)

But let's think from a more practical standpoint as far as what would the topo map be used for? In my experience thus far, the majority of applications need the relative elevation changes and the absolute elevations are irrelevant. I said *majority* not *all*. In your examples above, it is difficult to pick out the two identical elevation points that have markers to compare but I would be interested if you could take that example and show us the difference in the elevations between say three pairs of identical points on each map to compare the difference in the relative difference in elevation between the two points with GCPs and without.
 
You can download the GPS data for each flight, along with all the other data in the log file, and it will show you the 3D coordinates from the GPS at 1/10 second intervals or 10Hz. The GPS altitude is recorded in absolute altitude from mean sea level whereas the barometric altitude, also part of the log file, is recorded relative to the takeoff location with the takeoff point being zero altitude.

So, if you were near Denver with an altitude of, say, 5300 feet when you take off the GPS will record something close to 5300 feet whereas the baro altitude will be 0 (zero). If you climb 200 feet the baro altitude will be 200 feet but the GPS altitude will be close to 5500 feet. Both the GPS and baro altitudes can be in error with the GPS off by as much as 150 feet though more typically it will be within about 50 feet. The baro altitude will be darn near spot on at takeoff, but it will tend to drift during flight so that by the end of a 20 minute flight it might be 20 feet off though more likely less than 10 feet off and it could be off either way.

The GPS altitude will not tend to drift in the way the baro will but depending on the number of sats in view and there geometry you can get within 10 feet accuracy but figure closer to 50 feet with error over 150 feet being possible -- worse if the number of sats is low and the geometry is bad. The baro with drift in two ways: first, there's going to be some electronic drift but that should be fairly small, probably less than 5 feet over a 20 minute flight. A likely bigger error will be down to changed in atmospheric pressure and when the weather is changing quickly that baro drift because of that can be significant.

BTW, if you want to see the log file there's a couple ways to access it. I tend to copy the CSV file from Airdata.


Brian
 
Looks like there's some disagreement on the GPS altitude drift. Meta4 above says "commonly swinging significantly over the time taken to fly a site" yet Raptorman says "The GPS altitude will not tend to drift in the way the baro will but depending on the number of sats"

There's some data another pilot with a P4A/P has showing there is up to I think a 15ft barometer drift over the course of the flight but it seems the drift is most pronounced either on the first flight and/or in the first portion of the site. The most important thing I would think from a photogrammetry accuracy standpoint is that the relative altitude changes are accurate. If the barometer at the end of the flight thinks it's at the same altitude as at the start when acutally it's 15 feet lower, that's not good. The drone fly's by the barometer as far as vertical. So if the GPS altitude goes down by close to 15 feet (in this example) then it's good DJI is storing the GPS altitude and not the barometric altitude as then the photogrammetry is operating on the more accurate relative altitude change measurements from the start of the flight.

But how important is it really? You can process the photos in Photoscan while disregarding all the EXIF data. It makes photo alignment take longer but how much does the EXIF GPS coordinates actually improve the accuracy of the output when you have no GCPs especially considering you have about 10-15 feet inaccuracy? Has anyone compared output accuracy with and without using EXIF data from the files. Most cloud processing services (Pix4D, DroneDeploy) won't even process the photos without GPS EXIF data. Photoscan will.
 
GPS altitude accuracy can be pretty bad but is often not too bad at all. What makes things bad is having only a minimum number of sats in view and worse, if they are all biased towards one side of the sky. If you fly in canyons that are narrow with high sides the GPS will suffer do to too few sats and bad sat geometry. If in more open ground with a dozen or more sats in view the errors should be in the 20 foot range but could be 10 feet or 50 feet.

I just opened a CSV file for a recent flight and the third column (C) is altitude in feet MSL. The fourth column (D) is listed as "ascent" and is in feet beginning at 0 (zero). So, I added a new column at AU and in it I had it subtract D from C and copied that all the way down. I then did a min and max for the column and it never changed. That is, from the very first line to the very last line the value is always 4289.194 feet. So, this is puzzling as it would imply that the baro altitude isn't recorded and the ascent value is calculated from the GSP altitude based on the initial reading. When I landed there was a group of readings for ascent at 6.233596 with the GPS altitude at 4295.428075, but the very last reading has the ascent value set to 0 (zero) with the GPS altitude now reading 4289.194479.

So, I've learned something new here and quite surprising. There is no column in the log that reflects the baro reading and everything appears based from the GPS value. You will note that the difference between takeoff and landing is about 6.2 feet so that would suggest the GPS altitude accuracy is not too bad at all. This flight was flown in an open area with no hills or obstructions nearby to effect GPS sat availability so likely near a best case.


Brian
 
Looks like there's some disagreement on the GPS altitude drift. Meta4 above says "commonly swinging significantly over the time taken to fly a site" yet Raptorman says "The GPS altitude will not tend to drift in the way the baro will but depending on the number of sats"

There's some data another pilot with a P4A/P has showing there is up to I think a 15ft barometer drift over the course of the flight but it seems the drift is most pronounced either on the first flight and/or in the first portion of the site. The most important thing I would think from a photogrammetry accuracy standpoint is that the relative altitude changes are accurate. If the barometer at the end of the flight thinks it's at the same altitude as at the start when acutally it's 15 feet lower, that's not good. The drone fly's by the barometer as far as vertical. So if the GPS altitude goes down by close to 15 feet (in this example) then it's good DJI is storing the GPS altitude and not the barometric altitude as then the photogrammetry is operating on the more accurate relative altitude change measurements from the start of the flight.

But how important is it really? You can process the photos in Photoscan while disregarding all the EXIF data. It makes photo alignment take longer but how much does the EXIF GPS coordinates actually improve the accuracy of the output when you have no GCPs especially considering you have about 10-15 feet inaccuracy? Has anyone compared output accuracy with and without using EXIF data from the files. Most cloud processing services (Pix4D, DroneDeploy) won't even process the photos without GPS EXIF data. Photoscan will.

GPS and barometric obviously drift for different reasons. GPS vertical accuracy is strongly dependent on sky view and constellation arrangement, but is typically 1.5 x worse than horizontal. It can be very good. The FC actually calculates barometric altitude MSL based on a standard atmosphere, and then uses changes to that to get altitude relative to takeoff. The DAT file records barometric MSL, barometric relative to takeoff, and GPS MSL.

Looking at a random flight shows the following:

mavic_altitude_comp.png


Barometric initialized at 3283 m MSL, while GPS initialized at 3181 m MSL. The starting altitudes are aligned in the graph. At the end of the flight the barometric altitude had drifted by 4.5 m while the GPS altitude had drifted by 0.6 m.

For reference, the actual takeoff altitude was 3179 m MSL, and so the GPS value was within 2 m start to finish. Barometric was off by around 100 m absolute, but that is not surprising since the standard atmosphere assumption seldom works over high terrain.

I should add that this flight had excellent sky view, with the satellite count ranging from 16 to 21.

Note also that barometric and GPS disagree on the relative altitude reached - barometric records over 5 m more climb, more than is explained by the deviation from a standard atmosphere.
 
Last edited:
I would be interested if you could take that example and show us the difference in the elevations between say three pairs of identical points on each map to compare the difference in the relative difference in elevation between the two points with GCPs and without.
Just compare the contour line heights.
The map created without GCPs shows an error of about 55 metres or 180 feet.
GPS altitude accuracy can be pretty bad but is often not too bad at all. What makes things bad is having only a minimum number of sats in view and worse, if they are all biased towards one side of the sky. If you fly in canyons that are narrow with high sides the GPS will suffer do to too few sats and bad sat geometry. If in more open ground with a dozen or more sats in view the errors should be in the 20 foot range but could be 10 feet or 50 feet.
GPS altitude is a lot worse than you imagine, even with a clear sky full of sats.
Check post #27 for an explanation from Garmin and an example.
The error in the photo example is about 80 metres or 260 feet.
 
Just compare the contour line heights.
The map created without GCPs shows an error of about 55 metres or 180 feet.

GPS altitude is a lot worse than you imagine, even with a clear sky full of sats.
Check post #27 for an explanation from Garmin and an example.
The error in the photo example is about 80 metres or 260 feet.

I'm well aware of how bad it can be, I've been using GPS since 1992 and have seen some really large errors in the distant past. Before selective availability was turned off the minimum error was more like 40m but you couldn't count on it being better than about 125m and it could be a lot worse. As time past and more and newer sats with better clocks etc the peak errors came down and after SA was turned off most people most of the time will see 10m or better lat/lon and 15m or better in altitude. Early GPS receivers were limited to receiving about 8 sats do mostly to the processing power required to crunch the numbers -- GPS is very calculation intensive. The example I gave from the flight data in a prior post shows that the difference in altitude as reported in the log file was just under 2m from takeoff to landing. I just looked at a few more of my log files and the difference between takeoff and landing altitude as reported by GPS is 2m, -2m, 0.7m, and 0.6m. That's four flights over four different days and locations.

The biggest source of error is poor sat coverage particularly if a significant portion of the sky is obstructed. Garmin's boilerplate explanation for altitude error is precisely that, boilerplate to lower expectations. The reality is actual accuracy in altitude is pretty darn good most of the time but suffers when the geometry is bad. The reason Garmin says what they do is because the average user has no idea how it works and they complain when its off when driving in Manhattan with tall buildings blocking huge portions of the sky.

It is a myth that GPS altitude accuracy is routinely bad!


Brian
 
Last edited:
I was also using GPS since before SA was switched off.
I was using it the day it was switched off 18 years ago and wondered if I had a problem with mine.
It is a myth that GPS altitude accuracy is routinely bad!
It is no myth. GPS is woefully inaccurate for altitude data.
I gave you some examples of the altitude errors I commonly see.
Are you confused because you see WAAS enhanced data using a handheld GPS unit in the US?
The rest of the world does not get WAAS and so far I've seen no information to suggest that the Phantom has WAAS either.
 
Meta4 is right, I've been using GPS since the early 90s, even with a survey capable differential GPS in P mode its accuracy in the vertical is way below what you could achieve on the horizontal. Just looking at a picture I took 2 months ago and the EXIF data gives me a height of 238m or 782ft above MSL when the actual height of the ground is 63m or 206ft and the P4P was hovering at 1.2m or 3.3ft above the ground as it had just taken off.
 

Recent Posts

Members online

No members online now.

Forum statistics

Threads
143,066
Messages
1,467,352
Members
104,933
Latest member
mactechnic