Brexit#

import geopandas
import topojson
import matplotlib.pyplot as plt

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/brexit_cleaning_10_1.png

And we can write it to a GeoJSON file:

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