How to use GDAL to create geotiff from tiff and 4 corners latitude and longitude
Solution 1
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.
Solution 2
gdal_translate -of VRT -a_srs WGS84 -a_ullr 55.7254060 37.5516230 55.7248920 37.5569120 source image destination image
gdal_translate -of VRT -a_srs "spacial reference" -a_ullr "left top lat/long" "right bottom lat/long" source image destination image
rowwingman
Updated on March 14, 2020Comments
-
rowwingman about 4 years
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 -
Suvi Vignarajah almost 12 yearskeep in mind, the
sourcefile
for yourgdalwarp
is theoutputfile
you get from thegdal_translate
tool -
rowwingman almost 12 yearsThank's very much for explanation. But I don't understand about EPSG:4326 - is this the same as WGS84?
-
Suvi Vignarajah almost 12 yearsyes, they are both the same..let me refer you to this question from the GIS StackExchange gis.stackexchange.com/questions/3334/…
-
rowwingman almost 12 yearsWhy top right corner is (0;0) point of my image?
-
Suvi Vignarajah almost 12 yearsI don't quite understand ur question..can u elaborate?
-
rowwingman almost 12 yearsI thought it's should be not right but left top corner.
-
Suvi Vignarajah almost 12 yearsmy mistake, you're right that should be top left corner..like i said, gcp's are the trickiest part, i've messed up the orders enough and my images always come out distorted - you really have to make sure they match up (direction/position wise)...i updated my answer as well, thanks for the catch
-
rowwingman almost 12 yearsok. thank you very much.
-
Mark Williams about 9 yearsThis worked for me and correctly set the coordinate reference system. An explanation of what the -a_ullr parameter does how it works might be useful for others.