Skip to main content
Open Innovations is winding down and will no longer be commencing new work from May 2026.

Hexes for the next General Election

This post is about our draft hex layout. If there are hexes that you feel are badly arranged, we'd love for you to use our hex builder to update the layout, save the output as HexJSON and then update the source file (or you could email us with the new HexJSON if you can't use Github).

The current Westminster constituency boundaries have been in use since 2010. The Boundary Commissions of England, Northern Ireland, Scotland, and Wales recently reviewed them and published their recommendations in late June. The result: the constituencies they are a-changing.

The House of Commons Library have a tool to look at some of the seat changes. Electoral Calculus have a breakdown of seats "lost", added, and seats they expect to change due to the new boundaries.

These changes affect everything that we do that is constituency-based. So how does it affect our constituency hex cartograms? Well, slight changes of the physical boundaries don't really affect a hex layout because the geography has already been abstracted. But removals and additions of areas can lead to a lot of re-arranging especially if you need to make space in areas that are fully packed.

Our existing hex layout of constituencies was built in 2017 but had several contributions from members of the public over the years. One change, the day before the 2019 General Election, came from a man from the South West of England. He was unhappy with how we'd arranged bits of Cornwall and Devon. We gave him a link to our builder tool, he fixed those areas, and submitted a pull request on Github. His improvement was then there for the day of the election. We think this openness makes our layout better.

Building a new layout

It is a big task to build a new layout but a few people had already been asking us to. Alasdair Rae and Philip Brown have already created a flat-topped layout that is available as GPKG, Shapefile and GeoJSON but, unfortunately, not as HexJSON. But we switched to pointy-topped hex layouts in 2017 (for practical reasons) and you can't just transform between the two. So we needed to make our own. We've now released our first draft of a new pointy-topped hex layout using our hex builder tool which you can download as HexJSON. This is what version 1.0 looks like:

A hex cartogram of the UK with the nations and regions coloured differently.
A first draft of our 2023 constituency hex layout.
Credit: Stuart Lowe, Open Innovations

To create the new layout we used a combination of our Hexify tool (that can take a GeoJSON and try to grid it) and the existing layout. Obviously there have to be compromises as hexagons can only have up to six neighbours. Places such as London have to expand and that distorts both them and surrounding regions. So some places get spread very thin and some cross-region neighbours will end up far apart. There are several rules we tried to keep in mind when designing the new hex layout:

  1. Large scale geography. Try to maintain the overall shape of the country and large scale recognisable features e.g. East Anglia, Cardigan Bay, estuaries (Thames, Humber, Forth, Bristol Channel), and keep islands as islands (Ynys Môn, Orkney/Shetland, Isle of Wight, Na h-Eileanan an Iar). We also keep Lough Neagh as it is a useful feature within Northern Ireland.
  2. Regions/nations. Keep the nations and regions as coherent blocks and try to maintain the correct relationships between those blocks e.g. the South East wraps up around London keeping it separate from the East Midlands and East of England doesn't border the West Midlands.
  3. Compass directions. We try to make sure that any constituencies with compass directions in their names (e.g. Leeds North West, Leeds North East, Leeds West and Pudsey, Leeds South, Leeds Central and Headingley, Leeds East) are kept in roughly the correct orientation relative to each other even if we can't preserve quite the correct rotation.

Help make it better

This is our first draft. If you are looking at part of our layout thinking "I could do a better job" then we'd love your to help make it better. We've found the best way is for you to try rearranging hexes using our hex builder tool, save the result as HexJSON (click the big button under the map), update the file in the repo and create a pull request. That way you also keep credit for your improvements in the history of the file. Alternatively, if you aren't confident with Github, once you have a HexJSON file you could email it to us. Let's make the best hex layout.