This technique is useful for georeferencing an image that you could be getting from a WMS server.
To get an image from a WMS Server, first do a capabilities request via the URL. This will return an XML with parameters. The result will look something like this (you could also substitute your target WMS, layer, bbox, etc.
change the format parameter to image/tiff to download
if gdal isn’t already installed, do so now, and navigate to the gdal bin directory, if it isn’t on your path
gdal translate will require input file, output file, the desired spatial reference system, and ground control points (gcp) which you will calculate from the bounding box you entered above and the image pixel size (800 by 400). These correspond to the corners of the image (coordinates differ from above slightly, not intended).
gdal_translate c:\temp\WMSServer.tiff c:\temp\aerial.tif -of GTiff -a_srs EPSG:4326 -gcp 0 0 -77.16694 39.764799 -gcp 800 400 -77.161927 39.763017 -gcp 0 400 -77.16694 39.763017 -gcp 800 0 -77.161927 39.764799
Use gdal_warp for further transformation, if a simple scaling wasn’t adequate. This is particularly necessary for Geoserver. In that case, also use the
parameter to create a world file, since Geoserver doesn’t recognize srs in the standalone GTiff.
It looks like this:
gdalwarp c:\temp\aerial.tif c:\temp\aerialw.tif -of GTiff -co tfw=yes -t_srs EPSG:4326