Appearance
To georeference a historical map you load the scanned image into a GIS, click matching points on the scan and on a modern reference layer, choose a transformation, and let the software warp the scan onto real-world coordinates. In QGIS this is the Georeferencer tool (built in since 3.x); the whole job for a clean single sheet takes 15 to 30 minutes once you know the moves.
What you need before you start
Gather three things: a good scan (300 dpi or better, ideally a .tif rather than a lossy .jpg), a reference layer you trust, and the map's likely coordinate system. For reference data, an OpenStreetMap basemap is fine for rough work, but national survey vectors (OS Open data in the UK, IGN in France) or modern aerial imagery give far tighter fits. Note the map's scale and date — a 1:2500 town plan and a 1:63360 county sheet demand very different point densities.
Which control points should you pick?
Choose points that existed on the ground at the map's date and still exist (or are precisely recorded) today. Reliable anchors, roughly in order of trust:
- Surveyed grid or graticule intersections, if the sheet has them.
- Neat-line / sheet corners on gridded series maps.
- Church towers, parish boundary stones, canal locks, bridge centres.
- Crossroads and field-corner junctions (less reliable — roads move).
Avoid riverbanks, coastlines, woodland edges and anything that drifts over a century. Spread points to the four corners and the centre; a cluster in one quadrant lets the rest of the sheet swing freely.
Step by step in the QGIS Georeferencer
text
1. Layer > Georeferencer
2. Open Raster -> load your scanned .tif
3. Add Point -> click feature on scan,
then click same feature on the map canvas
(or type known coordinates)
4. Repeat for 6-10 well-spread points
5. Transformation Settings:
Transformation type: Polynomial 1
Resampling: Cubic
Target CRS: EPSG:27700 (match your reference)
Output raster: sheet_geo.tif
Load in QGIS when done: yes
6. Start Georeferencing (the gears icon)Use Cubic resampling for continuous-tone maps and Nearest neighbour only for already-classified line art. Leave "Create world file" on if you may need the result outside QGIS.
How do you know it worked — reading the residuals?
After running, the point table shows a residual (in pixels or map units) per point and an overall RMS. Sort by residual. One point an order of magnitude worse than the rest is almost always a fat-finger click — delete and re-place it, don't add more points to compensate. Then eyeball the result by swiping the georeferenced raster over the reference layer at full zoom in a few corners.
| Transformation | Points needed | Behaviour | Use when |
|---|---|---|---|
| Polynomial 1 (affine) | 3+ | Uniform scale, rotate, skew | Flat, well-surveyed sheets |
| Polynomial 2 | 6+ | Gentle curvature | Mild systematic distortion |
| Thin Plate Spline | 10+ | Rubber-sheets to fit every point | Creased paper, inconsistent survey |
Pitfalls that waste an afternoon
- Wrong target CRS. If your reference is OSGB but you set the output to WGS84, the raster lands in the sea off Africa. Match the reference layer exactly.
- Over-fitting with TPS. A spline forces zero error at control points and can wave wildly between them. Affine error is honest; spline error is hidden.
- JPEG ringing. Compression haloes around black lines blur your click targets. Re-scan as TIFF if you can.
- Forgetting the date. An 1840 tithe map georeferenced to a 1900 OS sheet will look "wrong" simply because the town grew. That is information, not error.
Key Takeaways
- Use the built-in QGIS Georeferencer; place 6 to 10 well-distributed control points, not the minimum 3.
- Start with Polynomial 1 (affine) and only reach for Thin Plate Spline on physically warped sheets.
- Set the output CRS to match your reference layer, commonly EPSG:27700 in Britain.
- Read the per-point residuals and fix outliers by re-clicking, never by piling on more points.
- Pick anchors that are stable over time — towers, locks, bridges — and avoid rivers and coastlines.
- Georeference the whole sheet first, then mask the collar; verify by swiping over modern data.
Frequently Asked Questions
How many control points do I need to georeference a historical map?
A first-order (affine) transform needs 3 points but you should place 6 to 10 well-distributed ones so you can read the residual error. For warped sheets, use 12 or more and a Thin Plate Spline.
Which transformation type should I choose in QGIS?
Start with Polynomial 1 (affine) for flat, undistorted sheets. Switch to Thin Plate Spline only when the paper is creased or the survey itself is geometrically inconsistent, because TPS forces a perfect fit at every point and hides error.
What CRS should the georeferenced raster use?
Match the CRS of the reference layer you are clicking against, not the map's original projection. For British maps that is usually EPSG:27700 (OSGB36); for global work, EPSG:4326 or a local UTM zone.
What is an acceptable RMS error?
There is no universal threshold, but aim for a mean residual below the map's own line width on the ground. For a 6-inch-to-the-mile sheet that is roughly 5 to 15 metres; a single point with 100m residual usually signals a misplaced click.
Should I crop the map collar before or after georeferencing?
Georeference the full sheet first, then mask the collar and margins afterwards with a clip or a mask layer. Cropping first throws away the neat-line corners, which are often your most reliable control points.
Can I georeference a map with no surviving real-world features?
Yes, if it carries a coordinate grid or graticule you can use the grid intersections as control points. Without any grid or identifiable landmark, georeferencing is guesswork and you should record it as approximate.