The geometry of London's blue plaques: Voronoi, clustering, and a travelling-salesman tour

Part 2 of 2 · London's blue plaques

THE GEOMETRY OF MEMORY 2026 1,036 POINTS ON A MAP

In the first half of this I scraped every English Heritage blue plaque in London and asked who gets remembered. The headline was that London’s memory is astonishingly concentrated: you could see it just by dropping the dots on a map.

But “you can see it” is not the same as “it’s true.” This post is the data scientist’s follow-up: take the same 1,036 geolocated plaques and treat them as a spatial point pattern and an optimisation problem. Can I prove the clustering? What territory does each plaque own? Where are the hotspots, found by an algorithm, not my eyeballs? And, for fun, what’s the shortest walking tour of the whole city?

Method note. The 1,036 plaque locations were scraped in August 2026 from the English Heritage blue plaques site, as a personal, non-commercial analysis with attribution (the full licence note is in part one). Everything below works in the British National Grid (EPSG:27700), so distances and areas are in real metres, not degrees. Code lives in the geospatial notebook.

Is it clustered? Prove it.

Before any picture, a statistic. The eye is easily fooled, so the honest first move is a test. The Clark-Evans index compares the average distance from each plaque to its nearest neighbour against what you’d expect if the same number of plaques were scattered at random across the same area. Below 1 means clustered; above 1 means spread out; a big z-score means it’s not luck.

0.54
Clark-Evans R (1 = random)
-28
z-score (|z|>2 is significant)
100 m
median nearest neighbour

The index comes out at R = 0.54, with a z-score of about -28. In plain terms: plaques sit roughly half as far from their nearest neighbour as random scattering would predict, and the chance of that happening by luck is essentially nil. The median plaque has another plaque just 100 metres away. Here’s the distribution behind the number:

Distance from each plaque to its nearest neighbour. The spike near zero is the signature of clustering.

Your nearest plaque: a Voronoi map

Statistics proven, now the pretty part. A Voronoi diagram carves the plane into one cell per plaque, where every point in a cell is closer to that plaque than to any other, the plaque’s “catchment area.” Colour each cell by its size and the density story becomes visceral.

Each cell is the territory of one plaque; darker means smaller. The centre is a mosaic of tiny tiles; the edges are single plaques owning whole boroughs.

In the West End the cells are so small they blur into a mosaic, a plaque every hundred metres, each owning a scrap of pavement. Out toward Bromley or Croydon a lone plaque can own kilometres in every direction. The area of your nearest-plaque territory is, in effect, an inverse density map, and it screams the same thing the dots did, now with an area attached to it.

Try it: break the clustering yourself in the Lab’s Voronoi playground →

The heat of memory

The same information, smoothed into a continuous surface: a kernel-style density heatmap. No borough lines, no cells, just where memory glows hottest.

A density surface over the plaques. One bright ridge runs from Bloomsbury through Mayfair to Chelsea.

Hotspots, found by algorithm

I don’t want to decide where the clusters are: that’s cheating. So I handed the job to DBSCAN, a density-based clustering algorithm: any group of at least six plaques all within 350 metres of one another becomes a cluster; everything else is “scattered.” Told only the coordinates, it recovers the hotspots on its own.

14
hotspots discovered
287
plaques in the biggest (Westminster)
232
in the second (Kensington)
Blue dots belong to a hotspot; grey dots are scattered. DBSCAN found 14 clusters knowing only the coordinates.

It lands exactly where you’d expect: one giant blob over Westminster, another over Kensington & Chelsea, satellites in Bloomsbury and Hampstead, but the point is that it found them. Half of all London’s plaques fall into just the two largest clusters.

The memory network

A different lens from graph theory: what’s the shortest possible set of links that connects every plaque into one network, with no loops? That’s a minimum spanning tree, and drawn on the map it looks like the nervous system of London’s memory.

The minimum spanning tree over all 1,036 plaques: 371 km of shortest-possible links.

The whole tree is 371 km long, but look at how the “wire” is spent. It’s dense and short in the centre, where neighbours are 100 m apart, and it throws long lonely spans out to the isolated plaques on the fringe.

The Grand Tour: a travelling salesman in London

Finally, the classic. Pick one representative plaque per borough (the one nearest each borough’s centroid) and ask: what’s the shortest loop that visits all of them and returns home? That’s the Travelling Salesman Problem, and I solved it from scratch rather than calling a solver, because the method is half the fun.

The recipe is two moves. First, a nearest-neighbour heuristic: start somewhere, always walk to the closest unvisited borough. It’s greedy and it leaves ugly crossings. Then 2-opt: repeatedly find two edges that cross, snip them, and reconnect the other way, which always shortens the tour, until no swap helps.

219 km
greedy nearest-neighbour tour
180 km
after 2-opt
18%
shorter, for a few lines of code
The optimised loop through one plaque per borough: 180 km, no crossings. Hover a node for its borough.

Nearest-neighbour alone gives a 219 km tour with tell-tale crossings. A pass of 2-opt untangles it down to 180 km, an 18% saving for a couple of dozen lines of Python, and the visual proof is that the crossings are gone. That is the whole point of local search: a dumb first guess, plus a simple “is this knot removable?” rule, gets you most of the way to optimal.

What the geometry taught me

  • The clustering isn’t a trick of the eye: Clark-Evans R = 0.54, z of about -28 makes it statistically undeniable.
  • Voronoi territories turn density into area: tiny tiles downtown, whole boroughs at the edge.
  • DBSCAN rediscovers the hotspots from coordinates alone, a nice reminder that the structure is in the data, not in my assumptions.
  • A hand-rolled nearest-neighbour + 2-opt TSP shaves ~18% off the naive route, which is the whole value proposition of local-search optimisation in miniature.

If the first post was about who London remembers, this one was about the shape of that memory, and the shape, it turns out, is provably, beautifully lopsided. The notebook is here if you want to run the tour yourself.

← all posts