There’s been some confusion in the past as to how the DJI Phantom 4 (Pro in my case) is storing the altitude data. I’ve seen it used to be GPS then DJI switched to barometric then there were supposedly two fields in the EXIF data one for GPS and one non-GPS and it was storing barometric in both fields. However in Windows when I examine the EXIF data I just see the GPS Altitude - not to say the barometric isn’t stored somewhere else viewable by a more robust EXIF viewer.
My question is, which does DroneDeploy use during processing?
Look again in the EXIF data using the Microsoft Notepad App to open the .JPG file. Look in the top block of mostly unreadable lines. Look at the last line of this block. Scroll over to the right and you will find human readable text added by DJI. There you will find RelativeAltitude and AbsoluteAltitude fields showing altitude in meters. The RelativeAltitude field is used in the photogrammetry calculations by DroneDeploy. The AbsoluteAltitude field is used to set the elevation you see when clicking on a location of your map in DroneDeploy. The GPS Altitude field in the EXIF is a copy of the DJI AbsoluteAltitude field. It is not a real GPS altitude. The GPS altitude is NOT used by DroneDeploy at all. You can zero it out and it will have no effect. I did an experiment, by changing the data in the EXIF, to verify this.
The RelativeAltitude and AbsoluteAltitude fields are based upon the on-board barometer in your (and my) P4P. Take a picture with the P4P while it is setting on the ground. Then move it up to a table top (say 3’ higher). Take another picture. Look at the EXIF data of the 2 pictures with Notebook. You will see the RelativeAltitude and AbsoluteAltitude fields have increased by about 1 meter (P4P stores altitude values in meters).
If the P4P stays in one place for some time and the barometric pressure changes, the recorded RelativeAltitude and AbsoluteAltitude values may not change because the on-board IMU says there was no movement during that time and thus it keeps the same altitude and resets its barometric reference. This is what I discovered from my experiments.
Because the P4P uses the barometer, the recorded AbsoluteAltitude can change by 1000’ for the same takeoff location over time because the barometric pressure could change by 1", a typical variation during the changing of the seasons or weather. Thus the absolute elevation reported by DroneDeploy when you click on a Location is useless. Mine have varied by 1000’ for the same takeoff location over a 1 month period. But the relative elevation can be very good; I have seen less than 6" error for spots on concrete surfaces separated by 150’. The concrete has an aggregate surface so this may help the photogrammetry do better.
Let me know if you have any more questions about this. I am working with DroneDeploy to get an option into the workflow that allows you to set the absolute elevation so you can get sea-level correct elevations on your map (at least for one location you choose). You can do this now with my Auto-Calibration Technique described in an earlier post to the Forum: Accuracy problems in Oct 2017.
@SolarBarn is correct. Terry, thank you for taking the time to respond to the question. When viewing the exif data I would use the most basic text editor you can find. When viewing your photos in programs such as Iphoto or windows photo viewer portions of the exif data are removed to save space. This is why I recommend always uploading your photos directly from the SD card. Please let us know if you have any questions moving forward.
Part of the problem with the EXIF data in photos taken with the DJI P4P is that DJI has added its data to the EXIF in a non-standard format. This makes it subject to deletion by programs which do not recognize this. I learned this from my communications with Phi Harvey, author of the popular Exiftool for viewing and editing EXIF headers in JPG and many other formats. He tried modifying the data in the DJI fields but the result was not good as it would not longer be readable by DroneDeploy. So until DJI adopts a standard EXIF format this is going to be a continuing problem.
Sorry I meant Pix4D.
So the question removes, what does Pix4D use, the barometric AGL, or GPS ASL?
One interesting thought is when doing a large area where you might launch from several points at different ASL elevations, wouldn’t the photogrammetry as far as ground elevation data (DEM etc) be “off” ? Reason being the barometric altitude on the P4P is “reset” each time you power it up to 0. So if you launched from a second launch point that was 100 feet hire than the launch point for the first group of photos, seems that could throw the processing software a curve ball? If you processed with the ASL from the GPS, that wouldn’t be an issue
There is NO GPS altitude data stored by the P4P. The GPS altitude field contains a copy of the DJI AbsoluteAltitude field in the EXIF data of a photo. Thus Pix4D uses either the barometric AGL values in the DJI AbsoluteAltitude field or the GPS Altitude field or the DJI RelativeAltitude field. I have not done the experiment of zeroing out these fields one-by-one to see exactly which one Pix4D uses. You could do this and then you would have a definitive answer.