Digitizing-features-from-an-allmaps-georeferenced-map

Workshop: Georeferencing Maps with Allmaps

goto.stanford.edu/paper2points

A Guide to Converting Historical Maps into Digital Tiles


Part 1: Understanding Georeferencing

What is Georeferencing?

Georeferencing is the process of aligning a digital image (like a historical map) to real-world geographic coordinates. Here’s how it works:

Why Georeferencing Matters

When you georeference a historical map, you unlock its data:

Why Use IIIF-Backed Allmaps?

Advantages over traditional desktop georeferencing software:

  1. No Derivative Files Required

    • Traditional tools (ArcGIS, QGIS) require downloading, processing, and storing georeferenced versions of maps
    • Allmaps works with IIIF sources—the original stays on a remote server, you only store the georeferencing data (GCPs and transformation parameters)
    • This saves disk space and eliminates version control issues
  2. Instant Access to Millions of Maps

    • Davidrumsey.com, Library of Congress, Wikimedia Commons, and hundreds of institutions expose their maps via IIIF
    • No need to hunt down downloads or request high-resolution scans
    • Work with any IIIF-compliant collection directly from your browser
  3. Web-Based Workflow

    • No software installation required
    • Works on any device with a web browser
    • Collaboration-friendly (share maps and GCP data easily)
    • Instant tile export for use in web maps (Leaflet, Mapbox, etc.)
  4. Superior User Experience

    • Smooth zooming and panning at any zoom level
    • Ability to layer and compare historical maps
    • Easy correction and refinement of GCPs
    • Immediate visual feedback as you georeference

Part 2: Georeferencing an Online Map

Step 1: Finding Your Map on David Rumsey Map Collection

Objective: Locate and select a historical map to georeference

Instructions:

  1. Navigate to the MapRank Search interface: https://rumsey.mapranksearch.com/

    • This is a fast, map-centered way to search the David Rumsey collection
    • More intuitive than the traditional text-based search for finding maps by location
  2. Search by Location:

    • Use the search box to enter a place name, geographic area, or region
    • Example: “San Francisco,” “United States 1800,” “London 17th century”
    • Browse the results shown on the interactive map
  3. Select a Map:

    • Choose a map that interests you
    • Recommended for beginners: Select a map that clearly shows streets, major landmarks, or geographic features (these provide easier GCPs)
    • Click on the map thumbnail or title to open its full record

  1. Examine the Map Details:

    • View the title, date, creator, and other metadata
    • Check the map’s extent (geographic area covered)
    • Look for the availability of high-resolution imagery

Conceptual Note: When choosing a map for your first georeferencing project, look for maps with identifiable features. Street grids, major rivers, mountain ranges, and named landmarks make excellent GCP anchors because they’re easy to locate on modern reference maps.


Step 2: Accessing the IIIF Manifest

Objective: Find the IIIF manifest link needed for Allmaps

Instructions:

  1. Locate the IIIF Manifest Link:

    • On the David Rumsey map record page, look for the SHARE menu item, expand it, and then find the “IIIF Manifests” link
    • Click ithe Copy icon to copy the URL
  2. Copy the Manifest URL:

    • The manifest URL will look something like:
      https://www.davidrumsey.com/luna/servlet/iiif/p/[ID]/manifest.json
      
    • Copy this URL (you can usually click a copy button or manually select and copy it)
    • Save it for the next step

Technical Note: The IIIF manifest is a JSON document that describes the structure of a digital object (in this case, a map) and where its image tiles can be found. It’s the key that allows Allmaps to access and manipulate the map image without downloading the entire high-resolution file.


Step 3: Opening the Map in Allmaps Editor

Objective: Load your chosen map into the Allmaps georeferencing interface

Instructions:

  1. Navigate to Allmaps Editor:

    • Go to https://editor.allmaps.org/
    • You’ll see the Allmaps Editor interface with a search/input area
  2. Add the Manifest URL:

    • In the input field (usually at the top or in the left panel), paste the IIIF manifest URL you copied from David Rumsey
    • Press Enter
    • Wait a few seconds for the map to load
  3. Confirm the Map Loaded:

    • The map image should now appear in the editor

Conceptual Note: By using IIIF manifests, Allmaps streams the map image directly from David Rumsey’s servers. You’re working with a live connection to the original source, which means any improvements you make (the GCPs) can be stored and shared without managing derivative files.


Objective: Define which parts of the image represent the actual map(S) (and exclude borders, margins, labels)

Instructions:

  1. Why Create a Mask?

    • A mask tells Allmaps which pixels are the map data itself, versus margins, text, or decorative elements
    • This improves georeferencing accuracy by focusing on the map’s real content
  2. Access Mask Tool:

    • Look for the “Draw Mask” option in the editor interface
    • This will open a drawing tool overlaid on the map
  3. Draw the Mask:

    • Use the drawing tool to outline the map area
    • Exclude the map’s outer border, title, scale bars, and any extraneous content
    • Be as precise as possible—tighter masks lead to better georeferencing
  4. Save/Confirm the Mask:

    • Once satisfied, click Finish.
    • The masked area should now be highlighted in the editor

Optional Step: If you’re working with a simple rectangular map image, you can skip this step. However, for complex maps with decorative borders or irregular shapes, masking significantly improves results.

Advanced Note: The masking application allows you to mask multiple maps within a single IIIF manifest (useful for multi-sheet atlases or collections). Each masked area becomes a separate “Map” in the Allmaps Editor interface, and you can georeference each map independently. This is powerful for historical map series where each sheet needs its own georeferencing.


Step 5: Georeferencing – Adding Ground Control Points

Objective: Create the image-to-geography coordinate pairs that define the transformation

Instructions:

Understanding GCPs:

Adding Your First GCP:

  1. Start Adding Control Points:

    • Click the “Georeference” Tab at the top of the page.
    • You now have two panels: the historical map on the left, and a modern reference map on the right.
  2. Click on the Historical Map:

    • Identify a clear, identifiable feature (street intersection, building corner, bridge, prominent landmark, GRATICULES!!!)
    • Click that exact point on the historical map in the left panel
    • A circle marker will appear
  3. Find the Same Point on the Modern Map:

    • Now locate the same geographic feature on the modern reference map (right panel)
    • Click that corresponding point
    • Allmaps records this as a GCP pair

  1. Repeat:

    • Add additional GCPs by repeating steps 2-3
    • Aim for at least 5-10 control points, spread across the map
    • As you add GCPs, you’ll see the historical map begin to warp and align with the modern geography

Best Practices for GCP Selection:

Important: Examine Maps Carefully for Non-Standard Coordinates

Many historical maps include a graticule (coordinate grid) printed on them. Before assuming the coordinates shown are standard latitude/longitude:

  1. Check the Prime Meridian: Some historical maps use non-standard prime meridians (e.g., Paris, Berlin, or Ferro instead of Greenwich). The graticule may label coordinates relative to these historical reference points.
  2. Convert if Necessary: If a map uses a non-Greenwich prime meridian, you must convert those coordinates to standard Greenwich-based lat/lon before recording them as GCPs. Never record coordinates using a historical prime meridian.
  3. Use Tools to Help: If a map has a graticule with a non-standard prime meridian, gather:

    • The graticule’s latitude and longitude ranges
    • The prime meridian used (e.g., “Paris Meridian”)
    • The pixel coordinates of a few graticule intersections

    Then use an AI tool like ChatGPT to calculate the correct Greenwich-based coordinates, which you can paste into Allmaps as GCPs. This can be remarkably accurate.

  4. Consult the Map Metadata: Check the map’s title, legend, or cartographic notes for information about the coordinate system used.

Conceptual Note: Georeferencing is as much art as science. Your GCPs define how the map is transformed to align with modern geography. The more GCPs you add, the more the software can correct for distortions in the original map (which is common in historical maps, due to printing and contemporary survey technologies). However, extremely high numbers of poorly-placed GCPs can introduce noise. Focus on accuracy over quantity.


Step 6: Reviewing and Editing the GCP List

Objective: View, refine, and remove problematic control points

Instructions:

  1. Access the GCP List:

    • On the right side of the editor, find the “Maps” panel
    • This shows a list of all GCPs you’ve added

  1. Reviewing Each GCP:

    • Each GCP in the list shows:
      • A numeric identifier for each GCP pair
      • Image coordinates (pixel location on the historical map)
      • Geographic coordinates (lat/lon on Earth)
    • Click on any GCP in the list to highlight it on both maps
  2. Identifying Errors:

    • Because there isn’t currently a “riesidual error” measurement available in Allmaps, this is a visual inspection.
    • Use the Settings Panel to inspect the georeferencing by increasing the opacity of the scanned map in the reference layer.

  1. Deleting Problematic GCPs:

    • Click the “Delete” button for any GCPs that seem problematic, using the Trash icon
    • Confirm the deletion
    • Observe how the map transformation updates (it should improve if the GCP was erroneous)
  2. Fine-Tuning:

    • If the overall alignment is off in one area, add additional GCPs to that region
    • If you’re unhappy with a GCP’s precision, delete it and re-create it with more careful clicking

Quality Check: After creating your GCP set, view the overall map alignment. Do street grids align? Do major landmarks match their modern positions? Zoom in on different areas to spot-check accuracy.


Step 7: Exporting Tiles

Objective: Generate XYZ tiles for use in web maps and other applications

Instructions:

  1. Access the Exports Menu:

    • Look for the “Export” button in the Allmaps Editor at the top
  2. Copy the Tile URL:

    • The Tile URL or Tile Service URL is immediately available.
    • This will look something like:
      https://allmaps.xyz/images/be75a1837d5d6eba/{z}/{x}/{y}@2x.png
      
    • Copy this URL
  3. Using the Tiles:

    • This URL can now be used in web mapping libraries:
      • Leaflet: Use in L.tileLayer()
      • QGIS: Add as an XYZ Tile Layer
      • ArcGIS Online: Use the Add from URL Option
    • Example for Leaflet:
      L.tileLayer('https://tiles.allmaps.org/[ID]/{z}/{x}/{y}.png').addTo(map);
      

What You’ve Accomplished:


Part 3: Troubleshooting & Tips

Common Issues and Solutions

Issue: Map is severely warped or misaligned after adding GCPs

Issue: Modern reference map doesn’t show the area I’m looking for

Issue: Tiles aren’t updated at the XYZ Tile Layer

Best Practices


Part 4: Next Steps

Once you’ve mastered georeferencing a single map, consider:



Workshop Created: April 2026 Version: 1.0