Project
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.
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:
- To display all mills and associated features;
- To display features based on time (i.e. mills present on the 1st edition OS mapping, the 2nd edition OS mapping, both editions, and mills that pre- or post-date the maps);
- To display multiple map backdrops;
- Side by side viewer function to allow for easy comparison of data;
- Ability to filter by mill type and to display watermills vs non water powered mills; and
- A search function
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.