While I can’t say that my solution will work every time, it absolutely addressed my problem. Using GCPs would be the best solution, especially for SFM, though this isn’t always an option, if for example like me you fly over open water where I can neither place GCPs nor borrow some from satellite imagery, for example. In the final link provided above by Support, “Editing the Image EXIF” is what my approach tackles, though outside Pix4D software using free open-source tools. Support, you may wish to examine my solution as well, and you could possibly make our lives easier by allowing the user to select which tag is used as elevation; that said, this is the fault of DJI, not Pix4D, don’t get me wrong.
As an example, I recently flew a survey at exactly 90 m above the sea surface, which of course should also be ~90 m above sea level. Reading the EXIF tags from one of the images produces a ton of info, which I won’t reproduce in full, but notably includes the following tags referencing altitude/elevation:
Absolute Altitude : +112.19
Relative Altitude : +90.60
GPS Altitude: 112.1 m Above Sea Level
In looking at other images, the discrepancy can be much larger or much smaller, and can also include negative values. Whatever the CAUSE, it’s clear that the “Relative Altitude” is the value relevant for image analysis, and is what we want Pix4D to use; 112.19 is not correct, and would lead to poor results without GCPs.
Through experimentation, it appears that the “GPS Altitude” tag is the one that is read by Pix4D, and is also what reports the altitude if for example you look at image properties in Windows. Therefore, I used the above solution to batch process all images, with the end result of correct altitudes for use in SFM and image analysis.
So, though this solution may not solve all issues, it will certainly solve some of them. Also note that this could change at any time with updated DJI firmware, so take with a grain of salt. Support, I think you should make your developers aware of this, if they aren’t already, as it’s an entirely simple fix to a problem that several seem to be experiencing.
Steve, happy to help, if I can figure out how to contact you… maybe google my name and send me an email?