The Scottish Water Mills Website provides a web-based resource displaying mill locations across Scotland. On this page you will find a brief history of the Scottish Water Mills Project, a description of how the data were collected and processed, and how the web viewer itself was created.

Project background and data sources

The final stage of the project was to create a web-mapping interface for the mills data with supplementary information pages, to be hosted on the NLS maps website. Rather than starting completely from scratch we utilised the existing map website design ‘skin’ from a previous NLS/AHRC placement, the Stevenson Maps and Plans of Scotland, 1660 - 1940 website. Some of the same methodology was also followed.

A basic web-mapping interface was created with the open-source OpenLayers software, based on Javascript. A text editor and the Chrome DevTools that are built into the Goggle Chrome web browser were also used.

Screengrab showing the initial demonstration viewer
The initial demonstration viewer, with separate colours for mills, mill dams, mill lades, and mill races.

Initially the website featured a single map with the ability to display the data according to class and date. Eventually the viewer needed to have greater functionality. The key aims were:

We also experimented with the style and aesthetics including colours, style of menus, text size, etc. to make the viewer practical and accessible to users.

The initial mills dataset was held as a GeoJSON file, accessed on opening the application, with all processing taking place in the web browser. Following initial tests, the speed of interaction, especially when trying multiple types of filter query, proved problematic on some lower capacity laptops. The mills GeoJSON dataset that had worked fine with less than 3,000 records became more problematic with over 9,000 records. As a result, the application was redeveloped to move all the filtering work (that had initially been done using client-side Javascript) to GeoServer and Postgres/PostGIS, running on a dedicated server. This change improved the speed of interaction for lower capacity laptops, even if some of refresh speeds for mill points on the map were a little slower, rendered using a Web Map Service from GeoServer rather than in the web-client as vector point features.