Most GIS projects require georeferencing some raster data. Georeferencing is the process of assigning real-world coordinates to each pixel of the raster. Many times these coordinates are obtained by doing field surveys - collecting coordinates with a GPS device for few easily identifiable features in the image or map. In some cases, where you are looking to digitize scanned maps, you can obtain the coordinates from the markings on the map image itself. Using these sample coordinates or GCPs ( Ground Control Points ), the image is warped and made to fit within the chosen coordinate system. In this tutorial I will discuss the concepts, strategies and tools within QGIS to achieve a high accuracy georeferencing.
This tutorial is to geo-reference an image which has coordinates information available on the map image itself (i.e. grids with labels). If your source image does not have such information, you can use the method outlined in Georeferencing Aerial Imagery (QGIS3)
We will use a scanned map of southern India from 1870 and geo-reference it using QGIS.
Hipkiss’s Scanned Old Maps website has an excellent collection out-of-copyright scanned maps that one can use for research.
Download the 1870 map of southern India and save it as a JPG image on your hard drive.
For convenience, you may directly download a copy of the dataset from the link below:
1.Georeferencing in QGIS is done via the Georeferencer GDAL plugin. This is a core plugin - meaning it is already part of your QGIS installation. You just need to enable it. Go to Georeferencer GDAL plugin in the Installed tab. See Using Plugins for more details on how to work with plugins.
and enable thePolynomial 2
. See QGIS Documentation to learn about different transofrmation types and their uses. Click Select CRS button next to Target SRS.everest
and select the CRS with oldest definition of the Everest datum (EPSG:4042). Click OK.Note
Survey of India Topo Sheets created between the year 1960 and 2000 use the Everest 1956 spheroid and India_nepal datum. If you are georeferencing SOI Topo Sheets, , you can define a Custom CRS in QGIS with the following paramters and use it in this step. This definition includes a delta_x, delta_y and delta_z parameters for transforming this datum to WGS84. See this page for more information on the Indian Grid System.
+proj=longlat +a=6377301.243 +b=6356100.2284 +towgs84=295,736,257,0,0,0,0 +no_defs
Note
Most maps are created using a Projected CRS. If the map you are trying to georeference uses a projected CRS that you know of, but the graticules labels are in a Geographic CRS (latitude/longitude), you may use an alternate workflow to minimize distortion. Instead of using a Geographic CRS like we are using here, you can create a vector grid in QGIS and transform it to the projected CRS to be used as a reference for accurate coordinate capture. See this page for more details.
1870_southern_india_modified.tif
. Choose LZW
as the Compression. Make sure the Load in QGIS when done option is checked. CLick OK.Note
Uncompressed GeoTIFF files can be very large in size. So compressing them is always a good idea. You can learn more about different TIFF compression options (LZW, PACKBITS or DEFLATE) in this article.
13 . In the pop-up window, enter the coordinates. Remember that X=longitude and Y=latitude. Click OK.
Polynomial 2
transform requires at least 6 GCPs.dX
, dY
and Residual
error values. If a particular GCP has unusually high error values, that usually means a human-error in entering the coordinate values. So you can delete that GCP and capture it again. You can also edit the coordinate values in the GCP Table by clicking the cell in either Dest. X or Dest. Y columns. Once you are satisfied with the GCPs, go to . This will start the process of warping the image using the GCPs and creating the target raster.Note
The GCPs will also be displayed in the main QGIS Canvas. If you wish to remove them, you can switch to the Georeferencer window, and choose .
This work is licensed under a Creative Commons Attribution 4.0 International License