Tuesday, 8 July 2014

Speakers of the Welsh language according to 2011 census.

Much was written about a relatively small drop in the percentage of Welsh speakers in Wales as recorded by the 2011 census. I'm sure an astronomer wouldn't believe it was anything other than statistical noise if her data showed a 1% change from one survey to another....

Nevertheless, it is possible to visualise the data in a different way to the standard colorised maps you often see about these things.

One way is the restriction of the census output polygons to where buildings exist as the Datashine project did. However their website does not display statistics for Welsh language skills, since the detailed question was not asked to census respondents living outside Wales.

How about we use a QGIS plugin to give each Welsh speaker in Wales (or actually here, anyone claiming any skill in Welsh) a circular piece of land 50 metres wide, randomly located somewhere below 300 metres above sea level in his output census area polygon:

So here we have the opposite problem to the issues with the typical visualisations with colourised choropleth maps where large but sparsely populated areas dominate visually,namely that denser areas are oversaturated at this scale.

It is also possible to take this random dot distribution and make it into a heatmap (click on the image for a larger version):

I also downloaded the OS OpenData buildings layer for the relevent grid squares covering Wales, and produced another dots distribution (this took QGIS some time).

This produces the following dot maps, giving each Welsh speaker 50 metre and 20 metre diameter circles of land respectively:




  1. Neat. I'd like to learn how you restrict the mapping to buildings polygons. Which QGIS plugin did you use? Have you code you could share?

  2. It doesn't involve any actual programming as such.

    There are three main steps.

    First clip the census output polygons (which are themselves downloadable in shapefile format from the ONS) to whichever areas you want to assume are areas of settlement. This I did with the built-in Clip plugin under Vector-->Geoprocessing tools. The first time I did this I used a vectorised elevation map to select areas under 300m. Although Wales has a good deal of land over 300m the only census polygon that vanishes entirely under this scheme is in Blaenavon.

    Once I got hold of the OS Opendata buildings layer, I could clip the census polygons to buildings. Of course these can be any buildings not just residential so might overpopulate areas with lots of large warehouses and underpopulate areas with compact high-rise flats.

    The second step was to create the dot distribution, which is another plugin called Random Points which appears under Vector-->Research Tools. This chooses randomly a number of points given by a column in the attribute table of the vector within each extent polygon.

    The third step was a heatmap under Raster-->Heatmap which allows you to choose a scale on which to map the density of points.

  3. The other thing I haven't explicitly mentioned is that it is necessary to join the data to the polygon shapefiles, which is done in the standard way of using "Layer Properties" and Joins on the side tab in the window that comes up.