Brexit#

import geopandas
import topojson
import matplotlib.pyplot as plt

Brexit

Brexit dataset

This dataset contains results for the Brexit vote at the local authority district, and administrative boundaries.

brexit_vote.csv

  • Source: Electoral Commission

  • URL

  • Processing: no processing was required for this dataset, see original source for additional information

Local Authority District boundaries

  • Source: Office for National Statistics

  • URL

  • Processing: no processing was required for this dataset, see original source for additional information

Local Authority District (LAD) geometries#

The original geometries are downloaded from the Office of National Statistics through data.gov.uk and stored locally:

lads = geopandas.read_file('./Local_Authority_Districts_December_2016_'
                           'Generalised_Clipped_Boundaries_in_the_UK_WGS84/'
                           'Local_Authority_Districts_December_2016_'
                           'Generalised_Clipped_Boundaries_in_the_UK_WGS84.shp'
                          )

Topology simplification#

To obtain a much more lightweight set of geometries, we simplify the layer, respecting its topology. First we build the topology:

topology = topojson.Topology(lads)

Then simplify it:

simple_uk = topology.toposimplify(.025)

Inspect the resulting geography:

simple_uk.to_gdf().plot()
<AxesSubplot:>
../../_images/2b16ceb7c654e8fb84d6795d53df0e2058b94150b638adfca93dedca9531e3c2.png

And we can write it to a GeoJSON file:

simple_uk.to_gdf().to_file('./local_authority_districts.geojson', driver="GeoJSON")