Bill VS

Accurate 3D Georeferencing: DJI Unit GPS altitude values are WAY off. Any help?

Recommended Posts

Can anyone advise me about the problem with vertical GPS values on DJI units? The horizontal values seem to be just fine.

We have an Inspire 1 and an Phantom 4 Pro. We have been using them, along with DroneDeploy and Pix4D, to map wetland vegetation for wetland restoration projects in Florida. The problem arose when we started combining imagery with survey to create and deliver 3D models to our engineering colleagues.

Both UAVs report accurate altitude to the RC, but the EXIF tags tell an entirely different story:

  • A photo taken at ground level (let's say, 65' above sea level), is tagged with an elevation of -88.0 (no indication of what the units are, but .5 units represents about 100').
  • If we fly 100' into the air and take another picture, it now reports an altitude of -87.5 units.
  • Per the DJI helpline folks, we've tried recalibrating the unit right before flight, and that doesn't seem to make a difference.

Unfortunately, the images captured indicate that, rather than 200' over the levee (which is about 70' on the NAVD88 datum), the image thinks that it was captured from a position 20' or so below the roadbed. Flying another 100' or 200' up still doesn't get us above ground level. So Pix4D and Simactive both have trouble resolving this, and even manually editing the GCPs (at least in Pix4D) doesn't seem to fix things.

DroneDeploy does a decent job of creating a model, but it's not georeferenced, and that's part of scope. Plus, 1) I'd like a more detailed model than they generally provide, and 2) my management will not support the subscription upgrade necessary to use GCPs, especially since we already purchased a license of Pix4DMapper.

Dishing out $20K for an RTK unit is not on-budget for a few more years, so let's just assume that's not a solution. Besides, we don't need centimeter accuracy for the flight, just for the solution after the GCPs are incorporated. Just being within a few meters of reality (as advertised) during flight would be fine.

We could probably write a python script to write pressure altitude values to the GPS field, but that seems like kind of a sloppy workaround.

Any other ideas? Does anyone have a buddy at DJI who might fix this?

Kindest regards,

   - Bill

William E. VanSickle

Professional Geographer, Commercial Remote Pilot

GIS Analyst III, Office of Information Technology

St. Johns River Water Management District
P.O. Box 1429 ● Palatka, FL 32178-1429
Office: (386) 329-4580


Connect with us: NewsletterFacebookTwitterInstagram, YouTube, Pinterest


Share this post

Link to post
Share on other sites

Hey Bill, thanks for posting. I’m a consultant (civil engineer) in Brevard so it’s good to see SJRWMD getting into the use of drones. They’re a great tool, and we use them for almost all of our current engineering projects. We use a Phantom 4 Pro and process in Pix4D. Since almost all of our projects involve a surveyor, we have the benefit of using very accurate GCPs for processing our imagery.

As you might know already, the altitude readings are based on barometric pressure. They’re going to be relative readings, meaning that even if you calibrate the drone before flight, the altitude is still going to be some “random” value that doesn’t correspond to any real NAVD88, NGVD29, etc. value. Until you use an RTK model (or something along those lines) or input some type of ground control information, you’re not going to be able to achieve any real level of vertical accuracy. Your horizontal accuracy may also be off by a decent amount (5-10 ft in our experience). Your imagery may also “tilt” in one direction since there’s no vertical control to orient it correctly.

To achieve what you’re looking for, your best bet (for having a small budget) is to input some type of ground control in your Pix4D processing. There are some pretty cheap GPS units out there that could give you a decent measurement of x, y, and z. By setting a few targets and inputting some “good enough” values into Pix4D, it will greatly improve your results. They won’t be perfect, as the GPS units have limited accuracy, but it would be a big improvement over no control at all.

  • Thanks 1

Share this post

Link to post
Share on other sites

Hey Bill, how's it going? Interesting to see you here, do you remember me? Wow, you're flying drones for the District, that's great! 

Anyway, to your issue...

I have had this before and the bottom line is that the Phantom 4 Pro uses barometric pressure for altitude for flying because the GPS is notoriously inaccurate, but it seems it posts the GPS altitude in the photo exif's.  Here's a link to folks discussing the issue.

Anyway, I agree with Casey, it's well worth getting GCP targets on the ground, typically 4 corners and the center for each flight area.



  • Thanks 1

Share this post

Link to post
Share on other sites

Hey Nadine and Casey! It's good to hear from both of you!

It's also good to hear I'm not the Lone Ranger regarding the vertical error problem. 

We placed and surveyed a dozen survey targets on the Lake Apopka Levee at the time of flight, so I have GCP data. The problem is that Pix4D doesn't seem to accept the GCP input, either in "automagic" mode or manual edit. And the folks at Pix4D are little or no help. 

If you have Pix4D and Skype, could we set a time this week or next to share my screen and go through the steps together? 


Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.