How to use GDAL to create geotiff from tiff and 4 corners latitude and longitude

rowwingman picture rowwingman · Jun 9, 2012 · Viewed 19.4k times · Source

I have an image (map) without geo data in TIFF format.
I need to get GeoTIFF file from my image. I have latitude and longitude for each corner of my map. How can I add my geo data to my image in Google spatial refence to get geotiff? I know that GDAL can help me with that. Can anyone help me build a command

Answer

Suvi Vignarajah picture Suvi Vignarajah · Jun 10, 2012

You have the right idea in your answer but allow me to expand. You are correct, you'll need to use the gdal_translate tool to set ground control points (gcps) to georeference the image. But the command line argument should go like so:

gdal_translate -of GTiff -a_srs EPSG:4326 -gcp [pixel line easting northing] -gcp [pixel line easting northing] -gcp [pixel line easting northing] sourcefile outpulfile

You don't necessarily have to output to a VRT, VRT's are useful if you want to perform other algorithms to your file, add more datasets to it, eventually output it as a KML - amongst others which you can read up on here ( http://www.gdal.org/gdal_vrttut.html ). But for this purpose setting -of to GTiff is ideal.

-a_srs EPSG:4326

Next, in the spatial reference you are correct it should be referenced to WGS84 the coordinate system used by google earth, however we specify it using EPSG:4326 - this is just the coding scheme the Geomatics Committee has agreed on to identify coordinate systems worldwide ( http://www.epsg.org/ ).

-gcp [pixel line easting northing]

The ground control points, are probably the most trickiest part of the command line argument. The first 2 numbers represent the pixel and line coordinate of your actual image, for instance (0,0) for the top left most corner of your image. The second set of numbers that should follow is the corresponding lat/long coordinates that your image should be referenced to. Now, you'll only need 3 of these -gcps because the 4th one will be determined if your image is a square/rectangle.

sourcefile outputfile

This part should be self-explanatory, just remember they are both *.tif files.

Now, there if one last thing you will need to do to complete your task. You will have to actually project the image to the coordinate system for it to be aligned. This is down using the gdalwarp command ( http://www.gdal.org/gdalwarp.html ).

gdalwarp -t_srs EPSG:4326 sourcefile outputfile

You'll have to specify an -of (output fileformat) if it was supposed to something other than a GeoTiff - but the default format is GTiff so you don't need to specify it.