I have several TIFF images which were taken from an aircraft. The images are tilted. Hence, the orientation of the images are not in parallel to the grid system.

Please do refer to the below image: (Image borders are in blue color, while bounding box is in green color) According to the image, what I have are following values:

  • coordinate values with respect to the four corners of the image: (a1,b1), (a2,b2), (a3,b3), and (a4,b4).
  • from the values I can get the bounding box of the image and that would be (a2, b1), (a2, b3), (a4, b3) and (a4, b1).

I'd like to perform geo-referencing of the images using a tool like GeoTools or JAI. In GeoTools, I noted the ReferenceEnvelop class which offers the constructor that takes lower left, lower right, upper left and upper right values of the image. Thus, I reckon it works only for images which the orientation of the image as same as the orientation of the grid system.

I'd like to know how can I create GeoTIFF images from images that are not in same orientation of the grid lines. Instead, for each image, I have the corner coordinates.

I'm looking for a Java or Python technique. (Java is more favored).

enter image description here


1 Answer 1


Python and GDAL provide this functionality. Have a look at GDAL.GCP for adding the ground control to the TIF. See this Stack Exchange example, the GDAL GCP class in the GDAL Python API, and this well documented link to get you started.

I see that there is also a Java/GDAL bindings.

  • 1
    Hi @GBG. I have one doubt that like NASA, ESA or any other space agency around the world used to collect huge number of images of earth on daily basis. How is the georeferencing performed there.
    – RRSC NGP
    Commented May 14, 2021 at 3:07
  • @GBG, your solution seems working for me (the Python one, particularly)
    – 0xMinCha
    Commented May 14, 2021 at 11:45
  • 1
    Perfect. If check my answer as accepted I would appreciate it. Thanks
    – GBG
    Commented May 14, 2021 at 16:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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