Historical maps & georeferencing

Putting scanned old maps on today's grid: control points, transformations, warping, accuracy, and measuring what has changed since.

A scanned map sheet slightly rotated against a modern grid, pinned to it by control points. a scan becomes data when its pixels are given places1884–1891 surveyEPSG:27700 gridSeven control points put the Oakham sheet within 8–22 m of today

A scanned map is a picture until someone says where its pixels are. Georeferencing does that with ground control points — places that exist on the old sheet and in modern data — and a transformation fitted to them. The guides here work through it on the Ordnance Survey six-inch sheets of Rutland, surveyed in the 1880s, against OpenStreetMap today.

The hard part is not the software. It is choosing points that really are the same place a century apart, picking a transformation that predicts rather than merely fits, and measuring the accuracy honestly: leave-one-out error, not residuals. On the Oakham sheet that error is tens of metres, and any change you measure on an old map has to be larger than it.

The concepts explain control points, transformations and the accuracy of the original surveys; the how-to guides download, georeference, overlay, mosaic and digitise real sheets; and the fixes cover maps that land in the wrong place, fold at the edges or hide behind a black border.

🧭 Start with the concepts

The ideas the how-to guides below assume you already have.

⚙️ Then do the task

Step-by-step walkthroughs with code you can copy and adapt.

Show every how-to guide in this topic

🔧 When it breaks

The errors this topic produces, with the cause explained rather than just the command.

Related topics

Subjects that keep coming up alongside this one, most overlap first.

Keep browsing

Historical maps & georeferencing sits in Analysis. Every topic on the site is listed on the topics index.