Saturday, 25 November 2017

A blog post about British map labels (plus free data)

I recently did a talk about the north of England, for which I created a few 'alternative maps' - i.e. maps that took an unconventional approach. The thing that was unconventional was that I inverted the normal labelling hierarchy so that small places had big labels and big places had small labels - an example is shown below for part of the north east of England. I have also shared some of this data for the whole of Great Britain - read on for more on that.

A new megaregion is born

To do this, I used Ordnance Survey open data, and specifically the OS VectorMap District product's NamedPlace layer. I created a complete version for Great Britain and then filtered it so that only populated places were showing (i.e. FONTTYPE = 2). If you ever use this data you'll know that it also has a FONTHEIGHT field, which goes from a low of 5 (generally very small places) to 15 (the biggest cities in the country). For all types of point, not just type 2, the height field goes from 4 to 18. This can be used to set the font height in software like QGIS or ArcGIS, and in the map above I've just inverted and enlarged the labels using this variable. When you do this for the whole country it looks something like the big mess below.

From Mid Yell to Hugh Town, we got all the best names

Some labels are in upper case and some are in proper case in the attribute table, but I wanted to see how much logic there was to the label hierarchy, so I did a little digging. I should also say that I believe FONTHEIGHT is based on cartographic placement principles, in addition to some other things like settlement size and/or importance.

But hold on a minute, what's all this... I've just re-downloaded the most recent OS Vector Map District data for Great Britain and Ordnance Survey have done away with the above typology and replaced it with something which is easier to understand. Truly exciting stuff. Okay, perhaps I need to calm down but it's still pretty nifty and will be useful for a lot of people. Not having a numerical font height field may make things a little bit more tricky at times though. And, what would be really amazing is if there were an option to easily download data for the whole of Great Britain, rather than for the two letter OS grid squares.

Anyway, I've just tried to add a little bit of value here through merging the data and explaining all this. The new dataset has 364,581 named place points for the whole of Great Britain, divided into the following classes: 'hydrography' (50,343 features), 'landcover' (9,987), 'landform' (32,479), 'populated place' (255,959), 'woodland or forest' (15,813). I'm only really interested in populated places here and they break down into the following categories.

But what is 'large'? Keep reading...

Users need to keep in mind that the classification of populated places is still listed under the 'FONTHEIGHT' field so I'm sure it's partly about cartographic placement and not just size of places, or their populations. An example of a 'small' place would be Skaw, with Pockthorpe as 'medium', Altrincham as 'large' and Leeds as 'extra large'. You can see the 'extra large' places in the map below. I also notice that the gaelic name for my home town (Inbhir Nis) seems to have been added as a new feature that I didn't see before.

Remember, it's not all about importance or size

Some further maps below, so that you can see how it works in practice with the different types of places - which I have shown in different colours and sizes on the maps. You may have to click these to make them big enough to read the labels.

I have no idea what 68 - 96 is

Edinburgh as 'extra large' and Leith as 'large' here

Only these three are 'extra large' in London

Newport: it's not a small Welsh town - it's 'extra large'

All that's left for me to say is that I hope some people reading this find it useful and, if you do and you have a need to label places in Great Britain then feel free to use the GB layers I put together. You'll find them in this Google Drive folder. I've done one version with just populated places and another version with everything.

Get the data here