DJI Mavic, Air and Mini Drones
Friendly, Helpful & Knowledgeable Community
Join Us Now

Incorrect EXIF GPS and Elevation

The altitude you see in Exif info is absolute altitude.
If you look deeper, into the XMS section, relative altitude is also recorded.

The problem is that it's absolute altitude derived from atmospheric pressure in a standard atmosphere, and very unreliable as a result. They really need to put the GPS altitude in the GPS altitude field. I'm in the middle of a discussion with DJI on that subject at present.
 
The problem is that it's absolute altitude derived from atmospheric pressure in a standard atmosphere, and very unreliable as a result. They really need to put the GPS altitude in the GPS altitude field. I'm in the middle of a discussion with DJI on that subject at present.

Dude that’s really great news! There will be a lot of people that will be very interested in hearing the outcome of that discussion.
 
Dude that’s really great news! There will be a lot of people that will be very interested in hearing the outcome of that discussion.

That turned out to be rather a slow exchange of information - I don't think the language barrier was helping. The bottom line appears to be that the DJI engineers are aware that the EXIF data do not include GPS altitude and that the GPS altitude field is actually barometric altitude. They intend to modify the firmware to fix that, but are not able (willing?) to provide an estimate of when that will happen. I guess that they don't see it as much of a priority. Not quite what I was hoping for, but at least they know about it.
 
That turned out to be rather a slow exchange of information - I don't think the language barrier was helping. The bottom line appears to be that the DJI engineers are aware that the EXIF data do not include GPS altitude and that the GPS altitude field is actually barometric altitude. They intend to modify the firmware to fix that, but are not able (willing?) to provide an estimate of when that will happen. I guess that they don't see it as much of a priority. Not quite what I was hoping for, but at least they know about it.

Good to know @sar104 thanks for sharing as always. Its a shame DJI are going to be moving so slowly with this. Who know we might get lucky in the next firmware update lol
 
I saw where the latest Firmware was suppose to fix the inaccurate GPS altitude issue. Anyone try it yet?
Nope... still doesn't work.... I have an image taken yesterday (MP2 latest firmware), at about 3 metres AMSL..... XMP AbsoluteAltitude is -87.5 metres below MSL (I know its barometric... but -87.5???) I reckon that represents a barometric pressure of about 1023.45 mb(or hPa).
I don't know exactly what it was, but I'm sure it wasn't anything as high as that
 
Last edited:
Nope... still doesn't work.... I have an image taken yesterday (MP2 latest firmware), at about 3 metres AMSL..... XMP AbsoluteAltitude is -87.5 metres below MSL (I know its barometric... but -87.5???) I reckon that represents a barometric pressure of about 1023.45 mb(or hPa).
I don't know exactly what it was, but I'm sure it wasn't anything as high as that

Why do you think the pressure was not that high?
 
UPDATE:

I went ahead and did the firmware update. first one I've done since getting my Mavic 2 Pro. The update was pretty simple and easy using the direct connect method. I did not try and update through the DJI Go 4 app. I did th unit and the contorler.

After the update I went out to a large open and vacant parking lot. Not knowing what to expect I wanted enough safety area around me. After setting up and ready for flight I took a photo as the Mavic was on the ground. Then flew up to 400' and took a photo (actual higheth was slightly below 400'). I then lowered to 300', 200', and 100' taking photos at each elevation.

Back in the office I looked at the EXIF data and was happy to see that the GPS altitude did not show 71,000 or more miles up into space. Here is what it showed:

Altitude (sown on controller)EXIF Recorded GPS Altitude in MetersConverted to Feet
At surface of parking lot13.243
10044144.36
20074.3243.77
300104.7343.5
400 (slightly lower but forgot to check)132433

Knowing that the GPS unit used in not survey grade I am happy with the results. 43 feet difference is okay for my work and it seems to be consistent throughout the mission.

I hope others have similar positive experiences.
 
UPDATE:

I went ahead and did the firmware update. first one I've done since getting my Mavic 2 Pro. The update was pretty simple and easy using the direct connect method. I did not try and update through the DJI Go 4 app. I did th unit and the contorler.

After the update I went out to a large open and vacant parking lot. Not knowing what to expect I wanted enough safety area around me. After setting up and ready for flight I took a photo as the Mavic was on the ground. Then flew up to 400' and took a photo (actual higheth was slightly below 400'). I then lowered to 300', 200', and 100' taking photos at each elevation.

Back in the office I looked at the EXIF data and was happy to see that the GPS altitude did not show 71,000 or more miles up into space. Here is what it showed:

Altitude (sown on controller)EXIF Recorded GPS Altitude in MetersConverted to Feet
At surface of parking lot13.243
10044144.36
20074.3243.77
300104.7343.5
400 (slightly lower but forgot to check)132433

Knowing that the GPS unit used in not survey grade I am happy with the results. 43 feet difference is okay for my work and it seems to be consistent throughout the mission.

I hope others have similar positive experiences.

Those are not GPS altitudes. They are barometric, which is why they differ by exactly the same amount as on your controller display.
 
Why do you think the pressure was not that high?

Sar, As mentioned, I am not certain what the pressure was, but I live at sea level, and the pressure generally hovers around 1015... 1020 is really quite high, and 1024 or so is very high.
I took a couple of images yesterday, in the same spot, at the same time, 1 with the Mavic Air, the other with the Mavic 2 Pro.... Have a look at the Exif.. the results speak for themselves.... VERY different Altitudes, NO XMP data in the M2P, etc....
Actually, the Mavic Air results are what I would have expected for this particular location......

If DJI can get it right for the Air, why cant they get it right for the M2P, (or at least get it consistent... Minus 16.2 mtrs for the M2P, and Plus 1.2 for the Air (which I reckon is about right)
I DO realise the figures are barometric etc, and that they will change according to weather pressure/temp variations..... but nevertheless..... there IS a problem here.... and its DJIs.

cheers all.... I am NOT complaining, I just want to get to a point where I can trust the data.... I'm not there yet...... haven't been since the issue of the M2P last August!
Please ignore the quality of the images here... I wasn't trying to get a nice image.. just the starting altitude.... and I didn't actually take off... I do know that the relative altitudes would have been OK... but the starting altitude is the one I want to be correct also.
 

Attachments

  • Mavic_2_DJI_0362 - Copy.JPG
    Mavic_2_DJI_0362 - Copy.JPG
    694.3 KB · Views: 29
  • Mavic_AIR_DJI_0336 - Copy.JPG
    Mavic_AIR_DJI_0336 - Copy.JPG
    734.1 KB · Views: 27
Sar, As mentioned, I am not certain what the pressure was, but I live at sea level, and the pressure generally hovers around 1015... 1020 is really quite high, and 1024 or so is very high.
I took a couple of images yesterday, in the same spot, at the same time, 1 with the Mavic Air, the other with the Mavic 2 Pro.... Have a look at the Exif.. the results speak for themselves.... VERY different Altitudes, NO XMP data in the M2P, etc....
Actually, the Mavic Air results are what I would have expected for this particular location......

If DJI can get it right for the Air, why cant they get it right for the M2P, (or at least get it consistent... Minus 16.2 mtrs for the M2P, and Plus 1.2 for the Air (which I reckon is about right)
I DO realise the figures are barometric etc, and that they will change according to weather pressure/temp variations..... but nevertheless..... there IS a problem here.... and its DJIs.

cheers all.... I am NOT complaining, I just want to get to a point where I can trust the data.... I'm not there yet...... haven't been since the issue of the M2P last August!
Please ignore the quality of the images here... I wasn't trying to get a nice image.. just the starting altitude.... and I didn't actually take off... I do know that the relative altitudes would have been OK... but the starting altitude is the one I want to be correct also.

I don't think those files show any of the things that you think they do. First of all, they both have exactly the same XMP fields:

Mavic Air:​
---- XMP-x ----​
XMP Toolkit : Image::ExifTool 11.31​
---- XMP-rdf ----​
About : DJI Meta Data​
---- XMP-dc ----​
Format : image/jpg​
---- XMP-drone-dji ----​
Absolute Altitude : +1.20​
Cam Reverse : 0​
Flight Pitch Degree : -0.20​
Flight Roll Degree : -7.10​
Flight Yaw Degree : +0.50​
Gimbal Pitch Degree : +0.00​
Gimbal Reverse : 0​
Gimbal Roll Degree : +0.00​
Gimbal Yaw Degree : +0.00​
Latitude : -26.4004708575672​
Longitude : 153.068872690185​
Relative Altitude : +0.00​
Self Data : DJI Self data​
---- XMP-tiff ----​
Make : DJI​
Camera Model Name : Test_Pro​
---- XMP-xmp ----​
Create Date : 2017:09:14​
Modify Date : 2017:09:14​
---- XMP-crs ----​
Already Applied : False​
Has Crop : False​
Has Settings : False​
Version : 7.0​

---- XMP-x ----​
XMP Toolkit : Image::ExifTool 11.31​
---- XMP-rdf ----​
About : DJI Meta Data​
---- XMP-dc ----​
Format : image/jpg​
---- XMP-drone-dji ----​
Absolute Altitude : -16.23​
Cam Reverse : 0​
Flight Pitch Degree : -5.60​
Flight Roll Degree : -4.70​
Flight Yaw Degree : -3.80​
Gimbal Pitch Degree : +0.00​
Gimbal Reverse : 0​
Gimbal Roll Degree : +0.00​
Gimbal Yaw Degree : +8.10​
Gps Latitude : 26.400471​
Gps Longitude : 153.068873​
Relative Altitude : +0.00​
Self Data : Self data​
---- XMP-tiff ----​
Make : DJI​
Camera Model Name : Test_Pro​
---- XMP-xmp ----​
Create Date : 1970:01:01​
Modify Date : 1970:01:01​
---- XMP-crs ----​
Already Applied : False​
Has Crop : False​
Has Settings : False​
Version : 7.0​

Secondly, looking at the altitude data fields:

Mavic Air
GPS Altitude Ref : Above Sea Level​
Absolute Altitude : +1.20​
Relative Altitude : +0.00​
GPS Altitude : 0 m Above Sea Level​
GPS Altitude Ref : Below Sea Level​
Absolute Altitude : -16.23​
Relative Altitude : +0.00​
GPS Altitude : 16.2 m Below Sea Level​

The Mavic Air fields are clearly incorrect. In fact that looks like an earlier problem with the firmware on some aircraft where the absolute altitude (barometric) always showed up as 1.20 m. Have you checked to see if that field ever reports real altitudes? And the GPS altitude field is just showing as zero, which is almost certainly spurious.

The Mavic 2 data shows that DJI has changed it slightly in the latest firmware - previously when the absolute barometric altitude was negative the GPS altitude field was set to zero, but now it is reporting the negative altitude. It's still not the GPS altitude though.
 
I don't think those files show any of the things that you think they do. First of all, they both have exactly the same XMP fields:

<snip... snip... snip... snip... snip... snip... snip... >​
The Mavic Air fields are clearly incorrect. In fact that looks like an earlier problem with the firmware on some aircraft where the absolute altitude (barometric) always showed up as 1.20 m. Have you checked to see if that field ever reports real altitudes? And the GPS altitude field is just showing as zero, which is almost certainly spurious.

The Mavic 2 data shows that DJI has changed it slightly in the latest firmware - previously when the absolute barometric altitude was negative the GPS altitude field was set to zero, but now it is reporting the negative altitude. It's still not the GPS altitude though.

Thanks Sar..... you do a fantastic job in replying to these posts and I for one greatly appreciate it!.
The previous post, (no image), where I mentioned -87.5 metres MSL was for an image taken a few days ago. I extrapolated the altitude and came up with 1023 / 1024 pressure. I thought this was a little high for my area (I'm at sea level, although I DO understand that 1013 is only a standard, and WILL vary)

The 2 images I posted were taken yesterday in an attempt to compare apples with apples.... and the altitude was -16.23 in the M2P image, or about a tad over 1015 pressure, much more reasonable! These images were copied and compressed for posting here, so maybe something was lost in translation.
I fully understand that this is based on Barometric pressure, and is not GPS Altitude, and will vary with pressure.

One mistake I DID make though, and was just reminded about it in your post above.... I now remember that the Mavic Air previously had an issue where it always reported 1.2 as the altitude..... My mistake was in jumping to the conclusion that 1.2m was about correct for my location (~sea level), and also correct because I was using the latest MA firmware!
I didn't consider that this 1.2 altitude may not in fact have been corrected by DJI.

I know that DJI are fiddling about with the altitudes in the firmware, for the M2P, so we will just have to wait and see what (if anything), eventuates.

I want to use this M2P for mapping, so maybe I will just have to bite the bullet and manually manipulate the starting GPS Altitude manually, since I DO trust the relative altitudes once in flight (or get a different aircraft! ???

Thanks again for all your helpful posts!
 
Thanks Sar..... you do a fantastic job in replying to these posts and I for one greatly appreciate it!.
The previous post, (no image), where I mentioned -87.5 metres MSL was for an image taken a few days ago. I extrapolated the altitude and came up with 1023 / 1024 pressure. I thought this was a little high for my area (I'm at sea level, although I DO understand that 1013 is only a standard, and WILL vary)

The 2 images I posted were taken yesterday in an attempt to compare apples with apples.... and the altitude was -16.23 in the M2P image, or about a tad over 1015 pressure, much more reasonable! These images were copied and compressed for posting here, so maybe something was lost in translation.
I fully understand that this is based on Barometric pressure, and is not GPS Altitude, and will vary with pressure.

One mistake I DID make though, and was just reminded about it in your post above.... I now remember that the Mavic Air previously had an issue where it always reported 1.2 as the altitude..... My mistake was in jumping to the conclusion that 1.2m was about correct for my location (~sea level), and also correct because I was using the latest MA firmware!
I didn't consider that this 1.2 altitude may not in fact have been corrected by DJI.

I know that DJI are fiddling about with the altitudes in the firmware, for the M2P, so we will just have to wait and see what (if anything), eventuates.

I want to use this M2P for mapping, so maybe I will just have to bite the bullet and manually manipulate the starting GPS Altitude manually, since I DO trust the relative altitudes once in flight (or get a different aircraft! ???

Thanks again for all your helpful posts!

1023 is perfectly reasonable for sea level atmospheric pressure in good weather. There was no problem with the image files that you posted - their EXIF data were fully intact.

If you want to use it for mapping then the much more accurate actual GPS altitude AMSL is in the mobile device DAT files, so you can correlate that to your images until (if) DJI fix the issue. For what it's worth (which may not be much) as I mentioned before, their engineering department told me that they are aware of it but that it's not a priority.
 
1023 is perfectly reasonable for sea level atmospheric pressure in good weather. There was no problem with the image files that you posted - their EXIF data were fully intact.

If you want to use it for mapping then the much more accurate actual GPS altitude AMSL is in the mobile device DAT files, so you can correlate that to your images until (if) DJI fix the issue. For what it's worth (which may not be much) as I mentioned before, their engineering department told me that they are aware of it but that it's not a priority.

Thanks yet again Sar... the mobile device DAT files..... Can I read those, or are they encrypted??? or is there a program required to read them????
 
  • Like
Reactions: GregD and queeg730
Those are not GPS altitudes. They are barometric, which is why they differ by exactly the same amount as on your controller display.

Okay and I see in the EXIF data that the Absolute and GPS altitude are the same. Looks like, least for now, they just remapped the absolute altitude to the GPS altitude field.
From image EXIF data:


GPS Altitude RefAbove Sea Level
GPS Altitude13.2 m


Absolute Altitude+13.26
Relative Altitude+0.00


And example from another image:



GPS Altitude RefAbove Sea Level
GPS Altitude104.7 m

Absolute Altitude+104.76
Relative Altitude+91.50



Before the firmware update the GPS Altitude was int he 100s of thousands of meters. Now the interesting thing is the Relative Altitude (was always like (-1.2) prior to the firmware update. It is reading exactly what my controller was reading. In the first image example I took it when the Mavic was on the ground. The second example was thaken when it was 300 ft above ground. What I really need is for the Relative Altittude to populate in the GPS Altitude space for my mapping software.
 
Okay and I see in the EXIF data that the Absolute and GPS altitude are the same. Looks like, least for now, they just remapped the absolute altitude to the GPS altitude field.
From image EXIF data:


GPS Altitude RefAbove Sea Level
GPS Altitude13.2 m


Absolute Altitude+13.26
Relative Altitude+0.00


And example from another image:



GPS Altitude RefAbove Sea Level
GPS Altitude104.7 m

Absolute Altitude+104.76
Relative Altitude+91.50



Before the firmware update the GPS Altitude was int he 100s of thousands of meters. Now the interesting thing is the Relative Altitude (was always like (-1.2) prior to the firmware update. It is reading exactly what my controller was reading. In the first image example I took it when the Mavic was on the ground. The second example was thaken when it was 300 ft above ground. What I really need is for the Relative Altittude to populate in the GPS Altitude space for my mapping software.

Yes - in the original firmware those data were completely wrong - as you noted. DJI fixed that to the extent that the numbers are now real data, but they didn't fix the problem that the GPS altitude field just duplicates the barometric altitude field.
 
  • Like
Reactions: 88jt
Hopefully SAR104 can answer this for me (I know SAR has been pestered no end about this already, so my apologies in advance!).

Like a number of others, I have been struggling with this altitude / elevation issue for some time....
I DO understand that the Exif data is based on barometric pressure, and is not too accurate, and that the 'real' GPS figure is in the .DAT file.

Based on my test results below.... should we just give up on using the M2P for mapping (I DO realise that this is NOT the best machine for mapping, but it is all I have ATM).
Is there a possibility that DJI can fix this up? I have no problem in manually adjusting the elevation figures in the images prior to processing them, but I need to be confident in my process, and the veracity of the figures in the file.

Here is the thing... I have an image taken at what I know to be an elevation of round about 2m MSL (I'm pretty much at sea level).

I looked in the .DAT file (difficult to find the exact line, but based it on the time of image capture (UTC) in the DAT and TXT files.
I know that I was 10 metres AGL, since this was a specific test and I was conscious of that)

If I could trust the "GPS(0):heightMSL" figure from the .DAT file, I could apply the "RelativeAltitude" from XMP to all the images, thereby fixing things (or am I missing something in my admitted ignorance?)

The relevant line(s) in the .DAT file read:
  • IMU_ATTI(0):Longitude: ???.120010909564 (1st numbers removed by me)
  • IMU_ATTI(0):Latitude: -???.7560685975432 (1st numbers removed by me)
  • IMU_ATTI(0):barometer:Raw: -26.064528
  • IMU_ATTI(0):barometer:Smooth: -25.621979
  • General:relativeHeight: 10.1436674884033
  • GPS:dateTimeStamp: 2019-06-17T06:31:44Z
  • GPS(0):heightMSL: 13.754
It's that HeightMSL figure of ~13m which is giving me the willies... there is no way I can believe that for my location!

For the test image, the EXIF data reads:
  • GPSLatitude(from XMP-drone-dji): ???.756068° S (1st numbers removed by me)
  • GPSLongitude(from XMP-drone-dji): ???.120009° E (1st numbers removed by me)
  • GPS Altitude(from EXIF GPS): 26
  • AbsoluteAltitude(from XMP-drone-dji): -26.01
  • RelativeAltitude(from XMP-drone-dji): +10.2
  • ModifyDate(from Exif IFD0): 2019:06:17 16:31:44 (my location is UTC +10)
With any luck, this will hopefully be my last post on this subject :) :)
Mike
 
Hopefully SAR104 can answer this for me (I know SAR has been pestered no end about this already, so my apologies in advance!).

Like a number of others, I have been struggling with this altitude / elevation issue for some time....
I DO understand that the Exif data is based on barometric pressure, and is not too accurate, and that the 'real' GPS figure is in the .DAT file.

Based on my test results below.... should we just give up on using the M2P for mapping (I DO realise that this is NOT the best machine for mapping, but it is all I have ATM).
Is there a possibility that DJI can fix this up? I have no problem in manually adjusting the elevation figures in the images prior to processing them, but I need to be confident in my process, and the veracity of the figures in the file.

Here is the thing... I have an image taken at what I know to be an elevation of round about 2m MSL (I'm pretty much at sea level).

I looked in the .DAT file (difficult to find the exact line, but based it on the time of image capture (UTC) in the DAT and TXT files.
I know that I was 10 metres AGL, since this was a specific test and I was conscious of that)

If I could trust the "GPS(0):heightMSL" figure from the .DAT file, I could apply the "RelativeAltitude" from XMP to all the images, thereby fixing things (or am I missing something in my admitted ignorance?)

The relevant line(s) in the .DAT file read:
  • IMU_ATTI(0):Longitude: ???.120010909564 (1st numbers removed by me)
  • IMU_ATTI(0):Latitude: -???.7560685975432 (1st numbers removed by me)
  • IMU_ATTI(0):barometer:Raw: -26.064528
  • IMU_ATTI(0):barometer:Smooth: -25.621979
  • General:relativeHeight: 10.1436674884033
  • GPS:dateTimeStamp: 2019-06-17T06:31:44Z
  • GPS(0):heightMSL: 13.754
It's that HeightMSL figure of ~13m which is giving me the willies... there is no way I can believe that for my location!

For the test image, the EXIF data reads:
  • GPSLatitude(from XMP-drone-dji): ???.756068° S (1st numbers removed by me)
  • GPSLongitude(from XMP-drone-dji): ???.120009° E (1st numbers removed by me)
  • GPS Altitude(from EXIF GPS): 26
  • AbsoluteAltitude(from XMP-drone-dji): -26.01
  • RelativeAltitude(from XMP-drone-dji): +10.2
  • ModifyDate(from Exif IFD0): 2019:06:17 16:31:44 (my location is UTC +10)
With any luck, this will hopefully be my last post on this subject :) :)
Mike

Just to clarify - you are saying that the aircraft was at around 10 meters AGL, but only 2 meters AMSL? So the ground elevation at that location is 8 meters below mean sea level?
 
Lycus Tech Mavic Air 3 Case

DJI Drone Deals

New Threads

Forum statistics

Threads
131,335
Messages
1,562,089
Members
160,271
Latest member
zacf