AGSL Nautical Chart Explorer

<< previous   issue toc   next >>

By: Bob Cowling   


The American Geographic Society Library (AGSL) in Milwaukee, Wisconsin, houses a large collection of international nautical charts ranging from the 19th to the early 20th century. In 2015 a grant-funded project was started at the AGSL to digitize and catalog around 5,500 international nautical charts. As of 2021, the project is still ongoing with about 2,200 nautical charts scanned and available online. In fall 2020, an interactive web mapping application called the AGSL Nautical Chart Explorer was developed to serve as an online discovery aid for this collection of rare nautical charts from around the world. The primary goal of the Nautical Chart Explorer is to allow the user to be able to view high-resolution images of the scanned nautical charts directly in the application. The application is an index map, which gives users the ability to find nautical charts by geographic location. Users can select and view a specific series of historical nautical charts in the AGSL collections. Upon clicking on the bounding box of any chart, the application provides the user with metadata, as well as a high-resolution image corresponding to each chart in the series. The project is an early use case of the OpenIndexMaps schema. This application is useful for researchers and students, but the primary audience is the general public. This article will explain the purpose of the nautical chart application, the information available in it, the application’s various features, and challenges that were encountered when developing an application of this nature.   

Screenshot of application
The AGSL Nautical Chart Explorer


When using the application, there is the option to select a chart series. At this point in time, there are five international chart series available to choose from: British, Dutch, French, German, and Russian. The application will be expanded to include more chart series for different countries in the near future.

Screenshot of application
Choose a chart series from the dropdown menu

Upon selecting a chart series, the map will update with a series of orange bounding boxes, which represent the geographic extent of each scanned map in the series. When the user clicks on one of these boxes, a pop-up window will be displayed providing a thumbnail of the scanned map and various metadata fields such as Title, Author, Year, Publisher, and a link to the item in the library catalog.

screenshot of application
Image and metadata are displayed when selecting a chart.

The application offers the feature of allowing the user to view the scanned nautical chart in super high resolution using the ‘view image’ button in the pop-up. The view image button launches a pop-up window with a tiled-map image that can be zoomed in and out of at different locations on the map.

historical nautical chart
High-resolution scanned map.

Search functionality is offered within the application as well. The user can type the title of a chart into the search bar and select it from results that are auto suggested. The map will then zoom into that specific chart and open a pop-up displaying the corresponding metadata information.

The nautical charts explorer provides users with the ability to download data for a specified chart series in either CSV or GeoJSON format with the simple click of a button. Choosing to download a CSV will produce a spreadsheet with the metadata for all charts in the selected series. Choosing the GeoJSON option will download the selected chart series with the corresponding metadata as well as the geometries for the bounding boxes of each chart. The GeoJSON file can then be imported into desktop GIS software or used on any web mapping platform.

screen shot of data download window
Choose an option to download map data.


The nautical charts explorer was programmed using HTML, CSS, and JavaScript. Data for all the currently scanned and cataloged nautical charts were exported from the library catalog with MARC sub-field codes. A field map was created to map each MARC field to a field in the OpenIndexMaps schema. A python script was then written to take all the metadata fields from the catalog export, including the MARC 034 field containing geographic coordinates, and convert them into the OpexIndexMaps schema. The python script used the coordinates from the MARC 034 field to generate bounding boxes for each nautical chart.  The result was a GeoJSON file containing bounding boxes, and metadata with the OpenIndexMaps schema was produced. The GeoJSON file was then uploaded to a new end point on an ArcGIS Server instance to allow for querying and display of the features using the ArcGIS Online JavaScript and ArcGIS REST API’s in the application.

screenshot of raw catalog data export
Raw catalog data export with MARC 034 field values.


When building an application of this nature, the biggest challenge was making it user friendly. Building an index map with over 2,000 features can be challenging because there are many overlapping indices creating a significant amount of screen clutter, which can be overwhelming or confusing to the user. Overlapping indices were inevitable, but in an effort to reduce clutter, the user can only select to view one chart series at a time. Also, as the user zooms into the map, the bounding boxes of the smaller scale charts begin to disappear, with only the charts with a larger scale remaining visible.

screenshot of application
At higher zoom levels, only larger scale charts are shown.

Another challenge presented by the vast number of overlapping indices was that it could be difficult for the user to select a chart in an area where a lot of overlap occurred. Also, there may be instances where several nautical charts may share the same geographic extent. To solve this problem, the ArcGIS Online JavaScript API was chosen as the primary web mapping platform. The ArcGIS Online web mapping platform provides users with the ability to view multiple overlapping data footprints on the map. When the user clicks on an area where there are overlapping bounding boxes, a pop-up appears that will allow for scrolling through the metadata of overlapping features or features that share the same footprint.

screenshot of application results
The ability to scroll through multiple charts where they overlap.


The AGSL Nautical Chart Explorer was designed as a discovery tool to allow users to find historical nautical charts. This project is still ongoing, and as more nautical charts are scanned a cataloged, they will be added to the application. To view the map and explore nautical charts in the AGSL collections, please go to the AGSL Nautical Chart Explorer website.

Bob Cowling                              
MLIS Student – University of Wisconsin-Milwaukee
Master of Science in GIS & Cartography – University of Wisconsin-Madison