It seems to me that the geotagging of the height of the EXIF information in the image data retrieved from your drone is probably wrong.
I’ve had a similar experience before.
Maybe the value of “GPSAltitudeRef” in EXIF is set to “Below Sea Level”? (Even though the location you surveyed is actually “Above Sea Level.”)
There are two types of altitude that are recorded in the EXIF of the drone image: “GPS Altitude” and “Relative Altitude”.
“GPS Altitude” is an ellipsoid height measured by GPS and the accuracy is not very good.(not RTK)
“Relative Altitude” is the altitude against the ground with a barometric pressure sensor, and the accuracy seems to be better than “GPS Altitude”.
The “GPS Altitude” is not very accurate as a value, but the relative variation during the flight may be small (Somehow I just feel so. I don’t know how I can explain this, though.).
In Pix4D, the height value is referred to the “GPS Altitude”, so the resulting height will be out of sync.
Therefore, a workaround is to correct the EXIF information (height) directly with exiftool, etc.
The work flow is ( with exiftool, etc.):
- Checking the altitude of the captured image.
- GPS Altitude is changed to Relative Altitude.
- Add an offset to the GPS Altitude (which contains the Relative Altitude value). It adds the elevation value (or ellipsoid height, depending on the use case) of the takeoff point to convert it to an elevation value (or ellipsoid height, depending on the use case).
- Change the height to what it should be, directly in the image properties in Pix4D.