Steps to creating a GeoTIFF
Thanks everyone for the assistance! After a bit of tinkering around here's what I ended up doing (for anyone else who stumbles upon this):
- Convert image to .tif via ImageMagick (included on the CentOS system I'm using).
- Used libgeotif's listgeo to extract the metadata from an example GeoTIFF using a similar coordinate/projection space.
- Worked out what the world file values should be.
- Using the reverse-engineered metadata and the world file I created, installed the GeoTIFF metadata using libgeotif's geotifcp.
Opened the image in Google Earth and it snapped to the right spot/orientation. Worked like a charm!
There is quite a detailed tutorial at http://glaikit.org/2011/03/27/image-georeferencing-with-qgis/ on how to georeference a raster image with QGIS, which is open source. It won't create a geotiff file (which stores the spatial information directly within the image itself) but it will create a Tiff for World file (.tfw), which is a separate text file.
One thing to bear in mind is that you will need to have a reference layer for comparison, i.e. a set of points that you know both exactly where they are on your image and exactly where the are on the ground, in order to do this.
Seems like you did quite a few manual calculations. The route I took doesn't require any reverse engineering or calculations. It does use 'QLandkarteGT', an open source tool for CIS systems, http://www.qlandkarte.org:
- From the top menu, select "Map", "Edit / Create Map".
- In the middle of the right half of the screen, a line with "Source: " appears, with an empty selection box. Click on the box, and select "Convert a TIFF into GeoTiff by geo referencing it".
Now 3 steps appear below.
- In step 1, enter an input file by clicking to the icon to the right of "Input File" (this file can be a .PNG too), and use "+proj=longlat" for the Map projection.
- In step 2, click "Add Ref" (right column), move the pin to a known reference point on the map, and double click on "" in the "Coord", and enter the coordinates in the form "51.507726 -0.128025" (for trafalgar square, london, uk)
- repeat for at least 3 coordinates on the map (far apart from each other)
- In step 3, click on "Step 3: Reference map", and click on "Go On!"
Now it will create the GeoTIFF file. I used it the OSM (OpenStreetmap) editor Merkaartor, but it should be usable anywhere.