Using Historic Maps With QGIS

A Beginners’ Guide to Visualizing Data on Historic Maps

(This is Fred Gibbs’ tutorial available at, presented here with links updated for 2019 (showing state rather than county files), and without his screenshots and wonderful, discursive text.)

Overview: This tutorial gives you a chance to review your QGIS skills and combine them in new ways. We will create a georeferenced historic map on which we display various types of data.

Download Data

  1. Visit website to find shapefiles for states:
  2. Midway down the page, Download–>Web Interface–>Select layer type–>States and Equivalent–>Submit–>Download National File
  3. You have downloaded a directory (a set of files: Save it to your desktop or other easily accessed location and Extract All to unzip the file.

Add Data to QGIS

  • Make sure you have the Manage Layers Toolbar vertically displayed on the left of QGIS display. If not, View–>Toolbars–>Manage Layers Toolbar
  • Add Vector Layer button on that toolbar–>Directory–>Browse–>Your downloaded file–>Open
  • Practice zooming in and out on the map; Right click on layer–>Zoom to Layer
  • Right-click on layer–>open attribute table
  • Think about the types of data that you see here and how it is structured. Close table.

Add More Data to QGIS

Add Population Data to QGIS

  1. Visit website to find population by state:
  2. Scroll down to Downloadable Files area–> SCPRC-EST2018-18+POP-RES–>Open in Excel–>Save to Desktop as CSV file
  3. Use comma button “Add Delimited Text Layer”–>Browse–>Your population file–>Check “first record has field names”–>no geometry–>okay
  4. Right-click on layer–>open attribute table
  5. Open the attribute table for your original layer and compare the two tables; note that the state names are labeled “name”; learning the structure of your data is the key to using QGIS
  6. Close the attribute tables

Joining Datasets Together

  1. Right-click on state boundaries layer–>properties–>Joins–>green plus sign–>join field: name–>target field: name–>OK–>OK
  2. Open the attribute table for the original state boundaries layer; examine the differences; verify that the data is joined appropriately
  3. Close attribute table

Style Map Based on Data (color code polygons of states by population size)

  • Return to Layer Properties of Original Map–>Symbology–>First box: Graduated–>select Population column “POPESTIMATE2018”–>Classify–>OK
  • Return to Layer Properties of Original Map–>Symbology–>Change data classification to Natural Breaks–>Change 5 categories to 10–>OK

Import a Historic Map

Loading Images to QGIS

  • Visit Natural Earth site to find a Terrain layer:
  • Download Small Size–>Save to Desktop; unzip if needed
  • Add Raster Layer–>Directory–>SR_50M.tif
  • Right-click on layer–>Zoom to layer
  • Drag State Boundaries map above the terrain layer in layers panel
  • Zoom in to continental U.S.
  • Lighten the States layer by lightening the opacity/transparency—you can do this in the Symbology tab of the Properties for the map layer—change from Graduated to Single Symbol–>change the opacity–>apply–> change back to Graduated–>Apply–>OK
  • Zoom to Layer
  • Add Raster Layer–>Select the historic map you downloaded from the David Rumsey Site “transcontinental_routes”–>OK
  • What do you see? This is the map, but it’s not georeferenced yet. Right-click that map layer and remove it.

Using QGIS to Overlay a Historic Image

  • Check your Raster Menu to see if you have the Georeferencer installed
  • If not, Plugins–>Check the box next to Georeferencer GDAL–>close menu; check Raster Menu again to see if you now have Georeferencer installed
  • Open Raster Button (upper left)–>Select the transcontinental_routes map–>Open
  • ^You must import a historic map this way in order to georeference it—just adding it as a layer won’t work
  • Add points button (yellow icon)–>click a point on the historic map (tip of Florida, corner of Washington State, etc.)–>Use Map Canvas–>Choose point on vector map; repeat
  • 3 points minimum to warp; need 7+ well distributed around the map to get a good warp here
  • When you have enough points, click yellow gear to adjust Transformation Settings
  • Transformation type: Thin Plate Spline–>Resampling Method: Cubic Spline
  • Use folder or dots beside Output Raster box to choose a location to save warped map
  • Check “Use 0 for Transparency when needed”
  • Click the Green Play Button Arrow on the main Georeferencer panel
  • Add the georeferenced map to QGIS as a Raster Layer

Styling Map

  • Move the States Layer on top of the Historic Map
  • Move the Terrain Layer above the States Layer
  • Open Layer Properties for Terrain Layer–>Symbology–>Min: 52, Max 255–>Blending mode: hard light–>Contrast: -20
  • Transparency tab–>Opacity 20%–>OK
  • Move Railway Layer to the top
  • Edit its properties to a bright red or blue