I have a folder containing images taken by a drone of a construction site. I have to convert those images into GeoTIFF.

For GeoTIFF conversion I know gdal_translate is used to do this task, but the problem is how I get or know the coordinate system of images taken by drone, so that I can convert images into proper GeoTIFF.

Is there any procedure to follow and solve this problem using Python GDAL bindings?

I used pix4dmapper to geo-referenced drone images, but now i want to make my own tool to perform this task so thats why i am asking all this.

EXIF Information of image:enter image description here

  • I'd go for manual georeferencing to a CRS of your choice. – Erik Jan 29 '18 at 11:38
  • I want to automate this georeferencing process. – Salman Ahmed Jan 29 '18 at 11:43
  • If are Geotiffs, must own reference system or boundary box. If not, is a Tiff with the central coordinate in WGS 84 in the metadata and you need to georeference files – aldo_tapia Jan 29 '18 at 12:19
  • When the position and altitude of the drone and the view angle of your (rectilinear) lens is known, it should be possible to calculate the corner points with simple math. But in reality it won't work too well because of some lens distortion or because the drone will not look down 100% vertically. A lot of manual work will be involved. You could try the local UTM zone as projection. – pLumo Jan 29 '18 at 12:32
  • 1
    @Sergey N: Exif Coordinates != georeferencing an image – pLumo Jan 29 '18 at 14:45

The coordinate system (actually the Spatial Reference System) is more than likely WGS84, because it's the default system for all GNSS systems.

This, however, is not all that is needed to georreference the images. You also need each image's corner coordinates, and here is where the problem lies. The lat/lon present in the images' EXIF are the drone's position when the image was taken. You'd first need to translate it to the image's central pixel's coordinate (given the drone's rotational parameters from its IMU and the height). Then you'd need to get the camera's calibration parameters to generate the corner coordinates. Do that for each image taken.

Quite the time-consuming and error-prone task, and that is considering you have access to necessary flight parameters. Easier is to ask the drone manufacturer directly and see if they have some native software for processing these images, or see if your drone is compatible with 3rd party software, such as Pix4D.


As an alternative, you may first mosaic all the images into one full-area image, then collect ground control points (using a handheld GPS would be fine, as your drone GNSS does not have better precision than that), and then manually georreference the whole image in QGIS or any other software.

You may follow this tutorial on how to do that. Just remember to grab photo-identifiable points, and to get a good amount of them, covering the entire span of the area (the closer to the edges of the image, the better).


As a couple people pointed out in comments, you do not have enough information in the metadata to georeference these images automatically. The lat/long coordinates you have are most likely the coordinates where the camera/drone was located when it took the picture. If the drone was flying level and the camera was pointed straight down, then those coordinates are the center of your image. But you still don't have any coordinates for the edges or corners of the image, which means you can't georeference automatically in the way you're asking.

Depending on the drone, you may be able to extract georeferenced imagery from it using software provided by the manufacturer or with a third-party software package like Drone2Map. But you can't georeference them automatically with just the EXIF data. You could do it manually in GIS.

  • I used pix4dmapper to geo-referenced drone images. But now i want to make my own tool to perform this task so thats why i am asking all this. – Salman Ahmed Jan 30 '18 at 17:48

There is a big difference between trying to georeference individual images and creating orthomosaics.

  • Individual images have distortion due to lens curvature and each pixel in the image represents a different measurement on earth. Even if you position, scale and rotate a single image (affine transformation) it will not be very accurate.
  • The alternate approach is to put all your images into a photogrammetry engine and obtain a single orthomosaic where the pixel values of each cell are spatially consistent and accurate.

Various options include Pix4D mentioned above, WebODM, Civil Tracker, Metashape, MicMac etc. depending on how much you want to do vs. have done for you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.