Processing 13,000 Historic Maps Using OCR

November 2023

Internship • U.S. Dept. of Transportation Volpe Center

While working at Volpe, my biggest project was a geospatial data project for the FAA. The FAA is working on cleaning up old airway infrastructure, especially sites that once had fuel storage tanks. One of the oldest types of this type of infrastructure is airway beacons: light towers that were built in cross-country corridors to guide pilots before the invention of radar. The FAA has a dataset of all known airway beacon locations, but the data points often conflicted or were inaccurate due to the low resolution of previously digitized maps.

One untapped source of airway beacon evidence was historical USGS topographic maps. Airway beacons marked on these maps could be used to both verify existing data points and uncover “forgotten” beacon locations. The challenge was to automate a process to download the maps, quickly identify beacons among a sea of other details, and record the coordinates.

I achieved this using Python by (1) downloading the topo maps available at each known location using the USGS Sciencebase API, (2) cropping each map using a geospatial raster package, (3) running a character recognition machine learning package (easyOCR) to detect and highlight the word “Beacon”, and (4) coding a simple UI to allow the user (me) to quickly flip through each map and record correctly-identified evidence.

In the end, I downloaded and processed over 13,000 maps, found 1,251 new pieces of beacon location evidence, and verified the locations of 854 beacons nationwide.