Friday, 16 October 2015

Irish Vice Counties : the creation of a specific dataset on OpenStreetMap

I've been meaning to write about OpenStreetMap Ireland's townland mapping project for some time.

It's a wonderful example of how historical maps are of significant value in creating really useful data on OpenStreetMap which is just as relevant as it today as was in the past.

The immediate reason for writing about them is that I have been creating vice county boundaries for Ireland. In doing so I have not just been using the data, but the fantastic range of resources made available through the activities of the townlands project.

Irish vice counties ex osm multicolour
The Vice Counties of Ireland
My first complete draft of the boundaries on OpenStreetMap

I've written a little about vice counties (VCs) before (here and here). I was in Northern Ireland to attend the Summer Meeting of the BSBI (see Oisin Duffy's great write-ups and pictures on his blog). As the meeting was attended by botanical recorders for 5 out of the 40 vice counties in Ireland and I have long known that decent data on boundaries is not widely available, I thought I would try & repay a little of their kindness by using OSM to create a set of boundaries suitable for use in GIS systems (and possibly publications: many recent Rare Plant Registers make use of reproductions of the original maps). (And just to be clear: VCs really exist, are not a funny kind of barony, don't have anything to do with Viscounts, and are used in real life.)

A Bit of Background

 Both townlands and vice counties are slightly specialised geographic units.

The Townlands Project

Ireland has over 60,000 townlands. They are not only the smallest administrative unit, used to construct larger units, but also have a long history. Some townlands reflect land tenure before the Normans arrived in Ireland; others have been created for later country estates. Even today townland boundaries experience minor changes: often to reflect natural changes in part of the boundary.

Until very, very recently, townlands were also often an important part of the address, particularly in rural areas. (The very recently is because the Republic of Ireland has finally introduced a postcode, EirCode; Northern Ireland has had postcodes since the 1970s). As both administrative units & address components, townlands have been very important for people tracing their ancestry in Ireland.

Townland names are still used in day-to-day life throughout the island. On the BSBI trip, two of the locations we visited were described using the townland name (Umbra, Moys). Some counties in Northern Ireland incorporate the townland name on street signs.

Modern Streetname sign with Townland Name (geograph 4700760)
A road sign with the townland name (Ballyholly) in green under the road name.
Photo: the author via Geograph/Wikimedia Commons CC-BY-SA
The antiquity of many townland boundaries (and, perhaps, also because Ireland has not suffered agricultural intensification to the same extent as other parts of Western Europe), means that lots of these are readily visible in aerial photographs: walls, hedgerows, streams, rivers, landuse. With old maps showing the boundaries it is possible to match these to features still extant in the landscape.

Thus townlands are highly useful things to add to OpenStreetMap. They help delineate larger administrative units, provide useful information for addressing, for genealogists, local historians and naturalists. They are also an aspect of cultural identity which is precious to many (hence their relatively recent appearance on road signs).

The first person to map a townland on OSM was larryone who added Donard Mountain back in June 2010. I certainly remember being shown a solitary townland a few years ago, probably Caulstown, mapped by Dermot McNally in August 2010. Later on most of the townlands of County Carlow were added by IrlJdel and brianh and Rory McCann created a simple website to show what had been done.

At this point things started happening rather more rapidly: GSGS 3906 (UK military maps of Ireland) became available from the Glucksman Map Library, Trinity College Dublin; Rory revamped his webpages to create the current site; more areas started to look complete; Dave Corley compiled an extremely thorough set of "How To.." videos; and overlays were made available on the OSM Ireland website.

Even a couple of years ago this looked like, and was described as, a multi-year project. However, the combination of more people, greater experience, better feedback, shared knowledge, and, perhaps, a little bit of competitive feeling, has dramatically shortened this timescale. At the time of writing, the predicted completion date is now around June next year.

Vice Counties in Ireland: a bit of background

Binevenagh Mountain
VC40 Londonderry & VC35 East Donegal: view from Binevenagh
The Foyle river & estuary divide these two VCs.
The flat farmland on the right bank of the estuary was the site of the baseline of the primary triangulation of Ireland.
Photo John Purvis by on Flickr cc-by2.0
The key purpose of Vice Counties is to have permanent unalterable units for recording wildlife. This in turn allows sensible comparison of data across time periods. Attempts to follow administrative boundaries just falter because they change too frequently. They were first introduced for Great Britain and surrounding Islands by Watson; whilst the Irish equivalent was created by Robert Lloyd Praeger, a towering figure in Irish Natural History during the late 19th and early 20th centuries.

Vice Counties in Ireland are rather simpler to map than their equivalents in Great Britain. Firstly the traditional Irish counties have fewer size outliers than their British counterparts (no Rutlands, or Clackmannans). Thus many of the vice counties are directly based on the traditional county boundaries. The main exceptions being where towns on border rivers had grown sufficiently large, that even by the end of the 19th century, the urban areas had been transferred from one county to another. Even the number of these cases is quite small: for example. New Ross, Waterford, Carrick-on-Suir, Bray, and Limerick. They are also very easy to deal with because the VC boundary is the river. One additional case, which is more intriguing, is the City of Derry or Londonderry which lies on the left bank of the Foyle. The vice county boundary follows the Foyle, placing the city in East Donegal. Thus the vice county not only does not follow internal administrative boundaries but includes the international boundary. Of course this is sensible: wildlife don't have passports.

The larger counties along the western seaboard and in Munster were too big to be single units, and were split. Four (Kerry, Tipperary, Mayo & Donegal) into 2 vice counties each, and two (Cork and Galway) into three. The means chosen for choosing an internal boundary were rather diverse:
  • Historical Barony boundaries (Kerry & Donegal).
  • Railway Lines (Tipperary, Mid/East Cork, North-East/South-East Galway boundaries)
  • Lines of Crow's Flight (Mid/West Cork)
  • Vague descriptions (more later)
Overall one has the impression that Praeger took a bit of care over most, but was rushed when delineating the Cork divisions (perhaps he just needed to finish his book, Irish Topographical Botany)

In addition to these internal divisions there were a number of areas which moved between administrative counties at the end of the 19th century. Praeger was obviously aware of some and, ignored, or was ignorant of, others. In most cases he used the older boundaries, but in a couple of places he used the new ones.

The most useful reference describing all these aspects, that is, apart from Praeger's original work is a paper in by Webb (conveniently made available online by the National Botanical Garden at Glasnevin). Also of interest are Praeger's itineraries whilst preparing the book, now made available online by the NBG.

Mapping the VC Boundaries

First Steps

The obvious thing was to map the simple ones first: those where the VC boundaries directly corresponded with the historical county boundary. These are copies of the existing boundary for the historical/traditional county.

VC H16 West Galway: Foot of Lough Nafooey
The Mayo/Galway county boundary runs along the river draining the lough, but all of the area is in VC16.
Mainly unimproved and rough pasture in foreground. Moorland & blanket bog on hills.
Next I attacked those where the differences between the VC and the traditional county were minor (mainly river boundaries). Again a simple copy of the existing boundary, addition of the river and deletion of the overlap was all that was needed).

Finally I looked at the split counties (and major changes which actually mainly involved bits of County Mayo). For Cork, Tipperary and Galway where the railway line is used to split the county I could simply use the existing ways from OSM. The Mid/West Cork boundary is even simpler as it mainly involves two straight lines. The complicated ones were Kerry, Donegal and Mayo: where the boundaries were more involved. For the first two the split line follows barony boundaries: I was able to use the Memorial Atlas (courtesy of Library, NUI Galway) which shows barony and civil parish boundaries. In the first case I very crudely followed the line. For Mayo I made a very crude approximation of the split line from the top of Lough Mask to Ballina.

Panorama Inis Meáin
VC9 Clare: Inis Meáin
The Aran Isles are place in VC9, but administratively are part of County Galway
At this stage I had 40 VCs, and had repaired any inadvertent damage to other boundaries (see below).

Fixing the complicated ones

The next step was to manage the larger transfers between counties: around Joyce Country in SW Mayo, around Ballina on Sligo/Mayo border and between Roscommon and Mayo. In order to do this effectively I had to map the townlands in the affected area, and civil parish boundaries too. It would appear that, in the main, the transfers between administrative counties in the late 1800s were of civil parishes: at least by using civil parishes I appear to get results consistent with Webb's paper.

Tweaks & Refinement

Finally, the boundaries need to be made more accurate.

For many counties this has already been done in the process of mapping townlands. However, for Munster in particular, the county boundaries on OSM are only very approximate (e.g., based on a line enclosing places in one particular county). I use an iterative approach:
  • Refine the boundary using the Memorial Atlas or the Bartholomew quarter inch map.
  • Refine it again using the GSGS 4136 1 inch map (this has not been rectified with a high degree of accuracy and it helps to use image offsets in JOSM, or shift the image in other OSM editors). At this stage the boundary should be no more than around 100m from its actual location.
  • Final refinement requires mapping the townlands along one side of the border. This is more laborious, and so far I have only done this completely for the Cork/Limerick border. On the other hand this is a direct contribution to the townlands project and results in significantly better boundaries for actual administrative units. The processes involved are fully described in Dave Corley's videos, but use both the GSGS 3906 map (photo-reduced from older 6 inch maps), Bing imagery, and existing OSM data. Ideally this process should produce data of similar accuracy to  hand-held GPS. In practice fairly featureless upland terrain and wooded incised river valleys cant be resolved with such confidence.
As more data are added to OSM, and in particular data collected in the field, the fine-scale mapping can be further refined: so this is always a process of continual refinement & iteration.

Technical Aspects (OSM)

It's worth making a few comments about the technical aspects, and specifically large scale manipulation of boundary relations.

Creating a whole set of boundaries encompassing one country and part of another is not a light undertaking on OSM. It is fiddly work, and involves manipulating objects with many dependencies. In practice I find it somewhat reminiscent of software migration projects: mainly mundane but you need to keep your wits about you.

Contrary to what some believe, none of the OSM editors can prevent damage to other objects in this process. Mapping boundaries on this scale inevitably involves relations, and relations are not semantically clean objects at the level of the OSM data model. It is obvious that some inter-relationship between geographical elements is needed in the data model, so relations make sense. However, they are also in many ways a 'get-out-of-jail-card', enabling one to say "of course OSM can do this, just use relations", In other words a kludge. I am thinking of only widely used relations in this context (multipolygon, route, boundary and enforcement): many others are either semantically obscure or too little used. In many ways they are the equivalent in SQL UPDATE statements which delete rows, or a failure to distinguish between a string with no characters and NULL (and Oracle, I'm thinking of you!).
Earth wall towards Knockmealdown - - 1154339
Wall in Knockmealdown Mountains, probably a boundary wall
Source: Bryan Conlon via Wikimedia Commons CC-BY-SA
In addition with OSM, one is always working on a live database (even when it's a cached off-line copy, as with JOSM), so it is not possible to manipulate the data in ways which would facilitate testing changes (locking data, rollbacks etc).

The objective of the person making the edits should therefore to ensure that at the end of the process, what existed before is in the state it was before. It is important to accept & understand that during the process of making edits on this scale some things will break. This can be embarrassing: I may well be responsible for flooding Ireland in the summer. But it is best to accept that it is probably inevitable, and ensure one uses as many of the available tools to check (in this case OSM Inspector, Boundary reports from OSM-IE Nominatim, JOSM validator etc).

To start with I grabbed a given administrative county, selected all the members of the boundary relation and then created a new relation added those members to it, added some tags and then checked that it was closed. (all in JOSM relation editor). I usually did this by downloading the relation and its members directly.

This is actually a matter of selecting the elements of the boundary and adding them to the new VC boundary. I used JOSM and did the following steps:
  1. Select the historical county relation (usually tagged with admin_level=6).
  2. Select all the members of the relation (ensure that they are all downloaded)
  3. Create a new relation, tagged type=boundary, boundary=vice_county.
  4. Open the relation editor and add all the previously selected members
  5. Sort them, & check that the boundary is closed.
  6. Save.
In fact I did exactly the same for the more complex cases too: it's easier to remove ways than try & select hundreds of them accurately. This is particularly important for coastal counties: there are lots and lots of islands which it would otherwise be all too easy to miss.

For the boundaries which followed the river rather than the historical administrative boundary, revision was fairly simple. Firstly I ensured that existing boundary ways joined the relevant river and were cut at that point; then I added the river ways to the relation; and finally removed the ways not wanted. Once again checking that the boundary was closed.

For the split counties (see above), the process was similar, but first I had to create a way (or ways defining how the county was split). Initially I used very simple geometries which I could refine later. Then I added this way to one of the already created VCs for the county (e.g., East Donegal for Donegal) and removed the two ways immediately adjoining this belonging to the other vice county. Ideally this would leave a closed boundary for the VC and a long chain of ways which wasnt needed. These could then be selected and removed from the relation. For the other VCs I could then use JOSM's select option to find all ways of the county and then using remove from selection take away those already in the other VC.

Thus a reasonable approximation of the VCs could be produced fairly quickly, thereafter it was all about refining the boundaries.

Making the Boundaries Available

Obviously the point of mapping Vice County boundaries is so that people can use them. The typical uses which I can foresee are:
  • Presentation & informational material: slides etc. Largely to explain the Vice County system, or to illustrate the geography of an individual vice county (e.g., the maps included in many Rare Plant Registers).
  • Illustrating Wildlife Distributions. Distributions of plants, animals or other wildlife features using the vice county boundaries to assist in interpreting the information. This is a common method of providing distribution information in books and websites: for instance Paul Whelans' Lichens of Ireland both as a book and a website uses this idea.
  • Use in GIS. This may be informational (showing the VC boundary along with other information) or analytical (selecting data based on inclusion within the VC boundary).
  • In the field with a GPS. To provide a tool to keep an eye on which VC particular records belong to when recording along boundaries. 
I've listed these in rough order of how demanding the applications are for accurate delineation of VC boundaries. Maps of the island of Ireland will necessarily not require the same degree of accuracy as ensuring records of riparian vegetation are accurately reported in the correct VC.

The important point is that, as they stand, the boundaries may need more work for the latter two types of applications, but are perfectly suitable for the first two. My first use of the data in the informational sense was to add the map as both a raster file and SVG to Wikipedia, so that now the article on Vice Counties has maps for both Great Britain and Ireland.

H40 County Londonderry (test)
A simple raster map of H40 Londonderry suitable for displaying and assisting the entry of biological records.
See previous blog article for principles behind this.
Contains OpenStreetMap Data (c) OpenStreetMap contributors 2015. Image CC-BY-SA the author.

I've also produced a simple raster map of H40 Londonderry suitable for use as a background layer in MapMate, a widely used biological recording package. I plan to produce these for all counties eventually. Certain features, notably woodland, are currently not well mapped on OSM. I contemplate using Corine data to improve coverage. Irish Vice Counties may also benefit from hypsometric tinting as upland areas are often quite discrete and distinct.


What is problematical is that extracting OpenStreetMap data requires a lot of knowledge and a degree of technical skill.

Most users of this data will be ecologists, albeit probably familiar with GIS tools, and amateur naturalists, mostly unfamiliar with GIS.

A second consideration is that as townland mapping advances the boundaries will improve. Taken together this suggested that I needed to publish the data in more easily consumable forms (e.g., Geojson, KML and Shapefiles), and furthermore that these need to be identified with some release mechanism.

Github seems perfect for this job. I can refresh the extracted data locally and sync it once I've checked that its OK. I can eventually make releases with release notes so that people can work with data suitable for their needs and also decide if they want a more up-to-date version. Github's geodiff facility means that changes between versions can be visualised too: very useful for the user wanting to see if newer data addresses particular issues. I can also use it to release additional formats (e.g., Garmin IMG files) in the future. Lastly of course it provides a simple link I can point people to.

Here it is:

I've still got work to do in organising the folder structure, and a lot more work to do getting the basic update automated. Ultimately there should be a folder for each Vice County containing Shapefiles, KML, IMG, and Geojson.

OpenSteetMap Ireland

Thanks to Donal Diamond, the Vice County boundaries have been made available on the main site for several months. They can be viewed together with other mapped boundaries, or against a background of historical mapping. This is the best place to start if you want to check whether the current mapping is suitable for your needs.

Accuracy & Quality

I had planned to discuss how accurate borders are across the country and what factors militate against accuracy in various places, but this is quite a complex subject. For now I'll merely state the main points:
  • Boundaries which share that of a townland are likely to be accurate to around 10 m.
  • Topological accuracy in such cases will generally be good (i.e., if a boundary follows a wall, stream, road etc., this will be shown correctly, even if the position of the relevant feature might not be precisely located geographically).
  • Ways tagged with source=GSGS 3906 which are not yet incorporated with townland boundaries, will be slightly less accurate. This is because the boundaries shown on the old maps will not have been fully reconciled to features visible in aerial photos.
  • Ways tagged with source=GSGS 4136 will be much less accurate. Perhaps up to 100 m divergence from their true position.
  • Ways tagged with source=, or will be even less accurate. Most, if not all, of these have been eliminated as part of creating Vice County boundaries. These were drawn between localities known to belong to different counties, and in less densely populated areas were diverged as much as 1-2 km from their true position.
I plan to produce a map summarising the likely accuracy of boundaries, but this will need to wait for another post.

Certain features are either harder to map accurately, or represent particular problems:

Cladaghgarriff - - 286148
Upland area on the H1 South Kerry/H3 Cork boundary:
Cladaghgarriff Ridge along to Knockowen from the Healy Pass.
Photo: Richard Webb via Wikimedia Commons CC-BY-SA
  • Coastline is probably reasonably accurate, but the nature of OSM is that the coastline does not follow high or low water. Places with big cliffs may not be accurately shown because of parallax on aerial imagery.
  • Wooded watercourses. In many places in Ireland, streams and rivers cut deep narrow glens which are often heavily wooded. This makes accurate alignment of old maps a lot harder, and accurate tracing of watercourses impossible. Fortunately in nearly all cases the boundaries follow the watercourse. This problem was most noticeable along the Cork/Waterford boundary, and for mapping townland boundaries in County Waterford.
  • Moorland. Boundaries which follow watersheds on hills, mainly moorland, are difficult to align precisely. We would really need some of the cairns shown on old maps to be accurately located in order to improve map rectification in these areas.
  • Changes in Watercourses. In many places streams will have been straightened, or altered course naturally since 1900 when the base survey for GSGS 3906 maps was carried out. Furthermore where a watercourse has changed significantly this could affect administrative boundaries. In the ,main using 1900 base data is ideal for Vice County boundaries as this is close to the time they were defined. However, as boundaries become refined on OSM divergences between former and current administrative borders may need to be checked.
  • Alignment along Roads. It is apparent that in many cases a townland (and therefore a county) boundary which follows a road, does not follow the mid-line, but rather one of the verges. As in most cases the difference is less than other sources of inaccuracy this has been ignored in many cases. In the future this type of detail may want refining.
  • Railways. I have conventionally followed the southernmost track when a VC boundary follows a railway line. Like roads this is unlikely to create any real problems, until, that is, a rare alien plant is found growing on the trackbed.
  • Straight-lines. Choosing the points where these begin and end is a little arbitrary, not particularly helped by lack of precision in Praeger's original description
  • Cork City. The location of the boundary between H4 & H5 in Cork City is particularly vexed. I have not yet updated this to follow the suggestions of  Mary Scannell (1992): A Re-Definition of the H4/H5 Vice-County Boundary in Urban Cork   The Irish Naturalists' Journal, 24(1), 11-13.
In all these latter cases additional information fed back to OpenStreetMap should gradually resolve these issues.

Charleville station (geograph 4166551)
Charleville Station, near the tri-point of H4/H5/H10
I'm not exactly sure which of the lines here should be used for the H4/H5 boundary.
Please do not find unusual plants/animals on the platforms.
Source: Robert Ashby via Geograph/Wikimedia Commons CC-BY-SA


This has been a very interesting exercise. It is in effect, an attempt to create a single coherent dataset within OpenStreetMap, making use of OSM data, tools, knowledge, resources etc., for primary use by a different community of users. This has led me to consider issues of data versioning, how to make data available more easily, and how to add more extensive metadata regarding quality etc (see the above section & to be covered in a later post). It is by no means a completed work: some boundaries still need work; the github repository, particularly automated updating, is incomplete; raster & Garmin files are not yet done for all VCs.

Lastly, as with all OSM-based data, this project is fundamentally always unfinished. We work by incremental, iterative refinement, and the biggest driver for that is interaction with users who can drive improvement. These 4 "I"s distinguish OSM data from many typical sources of environmental data which are created once, and tend to decay once the funding has disappeared.

Building on the Shoulders of Giants (Acknowledgements)

Digitising the Vice County boundaries for Ireland is notionally a big task (it would be interesting to know what resources were used by Landmark for Great Britain, and NPWS for Ireland). I completed the basics comfortably in under a week (although much work remains in tidying the data). What this shows is how the collective efforts of the OpenStreetMap community (both worldwide and specifically in Ireland), massively reduce much of that complexity through the availability of data, skilled individuals, historic maps, a plethora of software tools, and sharing of knowledge. Of course OSM in turn has benefited from broader OpenGeo community in the same way (think PostGIS, gdal, ogr, QGIS etc).

As I try to improve the Vice County boundaries, I am not just doing work for myself; I am improving the boundaries of existing administrative units, and adding many townlands myself. Similarly anyone mapping townlands on which include a county border improve Vice Counties. We expect all townlands to be mapped sometime next Summer (July 2016).

Many thanks to Maria Long, Irish Officer, BSBI for providing background, useful references and encouragement. Rory McCann for the townlands project. Dave Corley, KDDA and IrlJdel for resources and help with historical maps and boundary issues. Tim Waters of Topomancy LLP and the New York Public Library for MapWarper without which none of this would have been possible. Lastly, I should mention Dermot McNally, who not only did much of the original mapping of the Irish coastline, but I believe was also the first second person to map a townland.

Revisions: 2015-10-16: a) updated info about mapping of Co. Carlow; b) corrected info. on first townland mapped; c) add info on Dermot McNally's mapping of Caulstown.

No comments:

Post a Comment