Our immediate goal is to assign spatial coordinates to scanned map images. The down-stream analytical goal is to overlay historical cartographic data onto modern base maps for comparison and statistical analysis.
Georeferencing allows digital images to be accurately positioned on Earth’s surface. Think of it as teaching a computer to understand that a scanned historical map or satellite image represents a specific location on our planet, rather than just a collection of pixels. This process transforms raw imagery into actionable intelligence by identifying ground control points – recognizable features with known coordinates – that serve as anchors to mathematically align the entire image with geographic reality.
In military intelligence applications, georeferencing enables critical capabilities like pattern analysis and threat assessment, by overlaying historical reconnaissance imagery with current satellite data, to detect changes in enemy infrastructure, construction of new installations, troop movements, or weapons deployments over time. For political economy analysis, georeferencing allows researchers to study urban development patterns, analyze resource distribution changes over time, or examine how political boundaries have shifted in relation to economic infrastructure (e.g. comparing Soviet-era industrial maps with current economic activity to understand post-transition regional development). Georeferencing converts static images into dynamic analytical tools that can reveal spatial relationships, temporal changes, and other insights that would be impossible to discern from raw images alone.
The basic workflow of georeferencing involves the creation of Ground Control Points (GCPs), followed by a transformation of the map’s surface to align it with real-world locations. GCPs serve as “anchor points” that allow the georeferencing algorithm to transform the unreferenced map into the correct spatial position. The accuracy and distribution of GCPs fundamentally determines the quality of the georeferenced product.
The instructions below tell you how to do this in QGIS.
Original image | Image with GCPs | Georeferenced image |
---|---|---|
Project > Save As
in the main menu..qgz
(default) or .qgs
format.Project > Save
or using the keyboard shortcut:
Ctrl+S
Cmd+S
Browser Panel
(if not visible, go to View > Panels > Browser
).XYZ Tiles
and select New Connection
.http://tile.openstreetmap.org/{z}/{x}/{y}.png
as the URL.Layer > Add Layer > Add XYZ Layer
.Data Source Manager
window, click New
to create a new XYZ connection.New XYZ Connection
dialog, enter:
https://tile.openstreetmap.org/{z}/{x}/{y}.png
Add
.Layers
panel and map canvas.CRS
button in the bottom-right corner of the QGIS interface. It should look like a globe, with some text like “EPSG” followed by some numbers.CRS
button. In the Project Properties dialog, search for “4326” and select “EPSG:4326 - WGS 84”. Click OK.Layer > Georeferencer
to open the Georeferencer window.
Raster > Georeferencer > Georeferencer
.Plugins > Manage and Install Plugins
. In the search box, type “georef” and select Georeferencer GDAL
. Click Install Plugin
. Close the plugins window and try opening the Georeferencer again.Open Raster
button (top left) and select your historical map image file from the Raw
directory. These will end in a file extension like .tiff
, .jpg
, .png
or other raster image format.Settings > Transformation Settings
. Set the following:
...
) next to the “File name” field to specify the exact folder/path (use the Working
folder in YZRA/Data/SovietAtlas/Working
) and file name for the georeferenced map (e.g., 1982_RailAtlas_Estonia_georeferenced.tif
) for your working copy. Avoid saving to a temporary file location (e.g., /tmp/
or similar paths), as these files may be deleted when QGIS is closed.Load in QGIS when done
Save GCP points
OK
.Graticule lines are a network of lines on a map that represent the Earth’s geographic coordinate system – specifically the parallels of latitude (running east-west) and meridians of longitude (running north-south). These lines are tied directly to the Earth’s ellipsoidal shape and are always expressed in geographic coordinates (degrees of latitude and longitude).
Graticule lines should not be confused with grid references like A1, B2, etc., which are alphanumeric location systems that divide maps into a specified number of rows and columns, often used in atlases to help users locate features listed in an index. Grid references appear as a network of evenly spaced horizontal and vertical lines that create rectangular cells labeled with letters and numbers. In contrast, graticule lines may appear curved on projected maps as they follow the true form of meridians and parallels, and they’re labeled with actual coordinate values in degrees.
The easiest way to identify graticule lines is to examine the labels along the map margins. Graticule lines will be labeled with: - Latitude values (e.g., 45°N, 50°N, 55°N) along the left and right edges - Longitude values (e.g., 10°E, 15°E, 20°E) along the top and bottom edges
These coordinate values represent actual geographic positions on Earth’s surface. Grid reference systems, by contrast, will show simple alphanumeric labels (A, B, C or 1, 2, 3) that are specific to that particular map’s indexing system and have no universal geographic meaning.
Add Point
button (crosshair icon).x=24
, y=56
)dX (Error)
and dY (Error)
: horizontal and vertical residuals in map unitsResidual
: total distance error calculated as the square root of the sum of squared differences in coordinate locationsMean Error
: overall transformation accuracy shown at the bottomDelete GCP
.Add Point
and follow the same process as beforeMany (most) maps do not have graticule lines. But we can use landmarks and prominent geographic features (whose real-world locations are well-known) as a replacement or supplement to graticules. Examples include well-known buildings, crossroads, hills, cities, coastal features, curves in rivers, and borders.
Using both graticule lines and landmark features to establish Ground Control Points provides optimal georeferencing results because each method addresses different spatial and accuracy requirements. Graticule intersections offer systematic geometric distribution and precise coordinate values that can be directly entered from map margins, while landmark features fill spatial gaps where graticule coverage is inadequate and provide ground truth validation to detect potential systematic errors or projection distortions in the historical map. This complementary approach allows us to achieve a fuller perimeter and interior GCP coverage pattern, placing control points at graticule intersections around map edges where available, then using landmark features to add points in central areas and regions with sparse graticule coverage. The combination also provides the redundancy necessary for reliable transformations, typically resulting in at least 20-30 well-distributed control points that ensure both geometric precision from objective coordinate references and spatial accuracy validated through recognizable geographic features.
Add Point
button and place the crosshair precisely on a recognizable feature.From Map Canvas
.click
on the exact corresponding location.Once you have sufficient control points (minimum 6 for second-order polynomial, but 30+ recommended), click the Start Georeferencing
button (green play icon) in the Georeferencer toolbar.
Properties > Symbology
.Opacity
to about 50%, so you can see both layers simultaneously.Layer > Georeferencer
and reload your original map image.Delete GCP
Move GCP
Add Point
and follow the same process as beforeStart Georeferencing
again and repeat the visual inspection.Processed
folder:
1982_RailAtlas_Estonia_georeferenced.tif
) can be backed up like any other file by simply copying it from the Working
to the Processed
folder. When you complete the georeferencing process in QGIS, the output raster (typically saved as a GeoTIFF file) contains all the spatial reference information embedded within it. When copying this file, ensure you maintain the original filename and extension..points
extension that shares the same base name as your raster file. For example, if your georeferenced raster is named “historical_map_modified.tif
”, the GCP file will be “historical_map_modified.tif.points
”. This points file contains coordinates in the format mapX
, mapY
, pixelX
, pixelY
..points
file to the Processed
directory. Keep these files together as they work as a pair – the points file references the specific pixel coordinates within the raster image.