Digitization of Historical Maps in the Age of AI

December 3, 2025

Digitization of Historical Maps in the Age of AI

So you’ve found some historical maps that might be useful for your research, and one thing standing between you and usable geographic data is digitizing them. It’s one of those tasks that sounds straightforward, but can quickly reveal itself as a massive time sink. Along with this, there can be real uncertainty about whether the data will ultimately be worthwhile to your study, and if processing is very time-intensive, lack of resources may still deem the exercise infeasible. I myself once spent a whole semester on a team of undergraduate researchers whose sole task was to digitize historical census maps – which, to my knowledge, ultimately did not make it into the study’s final strategy. That said, historical maps offer a unique set of invaluable information that might be left on the table in the absence of digitization efforts. With time being one of the most substantial hurdles to overcome, efficient digitization becomes a top priority. 

It has long been possible to process large samples of historical documents containing structured or unstructured data using the help of various software, like ABBY FineReader, or OCR methods like PyTesseract. What’s more, the rise of AI and LLMs has made significant gains upon earlier tools, allowing researchers to systematically create usable data from a variety of sources whose underlying information is expressed in the form of language. What, then, is the state of such tools when it comes to historical sources of a spatial nature, like maps?

This question came to mind when I recently came upon a book by geographer Odile Hoffman, which, as described in the foreword, “guides us through [a] maze of dusty old maps” for one of my study countries, Belize. Historical parcel boundaries delineated in one of the maps piqued my interest – a set of polygons that could potentially become meaningful units of analysis for questions of historical land tenure.

 Property Map, 1935, Archive of Belize, Belmopan".

Image from Hoffman (2014).

So I set out to see if now, in 2025, there exists a painless tool to automatically convert a map image into a shapefile of polygons. Surely a map like this, which already consists only of a white background and black boundary lines, would be well-suited to automation. To my surprise, there weren’t many AI-based options that claimed to be able to handle the task. The main product available in the AI space for this purpose seemed to be Bunting Labs, which offers plugins for QGIS, including an AI-enhanced vectorization tool and an AI assistant called “Kue”. The AI vectorization tool is intended to speed up the process of a user manually tracing over lines with the cursor to create vectors, starting with user input and generalizing to continue tracing detected lines in an auto-complete fashion similar to auto-complete text or code suggestions of other AI tools. The AI assistant, Kue, on the other hand, is intended to provide assistance with geoprocessing and visualization interactively via a chat interface within QGIS. 

While both products seem to have potential for value-add, they weren’t quite up to the task in my case. First, I found that the low resolution of my particular image resulted in low performance of the automatic vector completions. The low resolution caused significant pixelization of diagonal lines and curves, which the automatic vector completion struggled with. I would guess that there are strategic ways to provide the best human input for improving the autocompletion results in such challenging cases, but at the lowest subscription tier (albeit, on the free trial) I quickly reached my daily limit of 40 chunks per day of autocompletion after only getting through a few polygons, and would have to stop for the day lest I upgrade to a higher tier.

Low-resolution boundary lines of the Belize Property map zoomed in.

Low-resolution boundary lines.

Nonetheless, for a manual vectorization workflow involving tracing lines by hand, the automatic vectorization tool might be helpful. But QGIS already has built-in tools for converting images to vector formats in a more automated fashion as an alternative to the manual approach of tracing over lines one by one. These include QGIS native tools like “polygonize”, and GRASS tools like r.to.vect. 

So I set out to ask the assistant Kue for guidance on how to tackle the task on my own. Kue suggested a comprehensive workflow that made use of the built-in tools available within QGIS to automate the process.

A screenshot of Kue AI's chatbot providing a QGIS workflow for processing a low resolution map into vector polygons.

Kue chat response.

I asked the same question to ChatGPT, which suggested a similar approach. In reality, I hit additional roadblocks along the way, requiring follow-up questions and iteration in QGIS to eventually reach the desired output of a clean shapefile of polygons with decent handling of all of the idiosyncratic features of this particular map image. 

After all of this, I can say one thing for sure – digitization of maps has yet to become automated.

P.S. In case you are trying to tackle your own map digitization, here is the workflow that got me most of the way to a complete set of polygons using QGIS – but remember, each map is different and will pose its own set of unique challenges for you, the human, to solve.

  1. Georectify the image using an underlying basemap as input. 

  2. Convert the raster from RGB to grayscale.

  3. Convert grayscale into a binary of black/white.

  4. Convert white cells to null in preparation for applying GRASS r.thin.

  5. Apply the sieve tool to fill in little holes resulting from low resolution.

  6. Apply GRASS r.thin to thin out thick boundary lines.

  7. Convert raster to vector (lines) using either GRASS r.to.vect or the native polygonize tool in QGIS.

  8. Apply GRASS “break” tool to ensure that every place where two lines cross defines separate lines.

  9. Apply GRASS v.clean “snap” tool to connect neighboring lines that are really continuations of the same line.

  10. Apply GRASS “rm.dangle” tool to remove any dangling stubs that don’t connect to other lines.

  11. Finally, apply the polygonize tool!

  12. Celebrate.

References

  1. Odile Hoffmann. British Honduras: The invention of a colonial territory. Mapping and spatial knowledge in the 19th century. Cubola-IRD, 2014. ⟨hal-01287334⟩