A while ago, I saw this map, and thought it was pretty interesting:

Credit: Sian Zelbo

It represents the USA’s 48 contiguous states (plus Lake Michigan) crammed into a rectangle in a way that preserves their borders. For example, California (in the bottom-left corner) borders, going clockwise, Oregon (green), Nevada (blue), and Arizona (purple).

I describe this a a topologist’s map because topology is a branch of mathematics concerned with the way that space is connected. In topology it’s common to think of stretchy, distortable surfaces that can be moved around without being punctured or torn. In the map above, the shapes of states are distorted, but as long as they’re not torn or separated, this is topologically equivalent to a normal map.

My first thought after seeing this was ‘I wonder if you could make a world map this way?’

Obviously you can’t do it in exactly the same way (and haven’t been able for the past 175 million years), but I decided to try it out and see what it looked like.

The plan, roughly speaking, was:

  1. Make a list of countries, and specify which other countries they border
  2. Use this list to make a graph, and relax the points so they end up reasonably spaced
  3. Make a Voronoi diagram of the points, and hope it ends up as a topologist’s map

I ended up having to manually collate a list of countries and their borders. Plotted as a network using the networkx and netgraph Python modules, this was the result:

Here you can see two distinct landmasses – America on the left and Afro-Eurasia on the right. North and Central America appears basically just as a string of countries, while South America is a bit more interesting. For the other landmass, Asia appears on the top-left, Europe on the bottom-left, and Africa on the right, connected by Egypt linking into the Middle East. Note the existence of two pairs of bordering countries at the top centre: the Dominican Republic and Haiti, and Ireland and the UK.

We can try to neaten this up a bit to get

which I guess you could interpret as a butterfly or a dragon or something. Not much has changed really, aside from a rotation and a flip.

We can immediately see that this is not going to fit in a neat rectangle like the USA map – well, it technically could, but it’s going to look awful. This has also demonstrated a problem with trying to automate this process: the graph has no idea of chirality.

Imagine that this graph existed as a series of balls connected with string. You would be able to spin the Egypt (EG) ball around and flip Africa relative to Eurasia. Looking at the string of American countries, Belize (BZ) and El Salvador (SV) are both shown on the same side, although they are on the Atlantic and Pacific coasts, respectively.

For a slightly more complex example, Europe is connected to Asia only through Russia and Turkey. There are two ways to walk along coastline from Russia to Turkey: the relatively short trip around the Black Sea, passing through Ukraine, Romania and Bulgaria; or the alternative, along the Baltic, Atlantic, and Mediterranean coasts. This graph has no idea which is ‘correct’ – you’d be able to turn the Black Sea inside-out while preserving the graph, in this model.

It was at some point while I was thinking about adding extra countries to represent seas that it was time to call the automation quits, and just make the map manually. This has some advantages – I get to choose the overall layout, it’s much easier to include stylistic elements, and I don’t have to spend ages describing to a computer what common sense is.

My chosen software to make the map was Inkscape; it’;s the first time I’ve tried making a map, but the ability to ignore complex coastlines and borders means that I can just represent each country as a simple shape. I decided to emulate a T and O map, for no particular reason beyond it looking nice. A few hours of surprisingly relaxing Inkscape later, I arrived at

Note: at the moment, I’m aware of a few errors in this version. They are:

  • Bolivia/Paraguay/Argentina/Brazil border needs flipping
  • South Sudan/Kenya/Ethiopia/Uganda border needs flipping
  • Missing Bahrain
  • “Nicuragua” and “Dominican Repbulic”

I’ve deliberately left the map unlabelled, because I enjoyed going through and trying to identify the countries. Swipe across the image to reveal a few hints – remember that east is up, and north is left.

This kind of map has a few interesting quirks: for example, Spain and Morocco appear nowhere near each other here, and Indonesia, Brunei, and Timor-Leste make an appearance, despite being on totally separate landmasses to the other nations.

There’s not a huge amount more to say about the final map, so here it is – I’ll add a couple of final comments below:

  • I’d previously heard the fact that Norway and North Korea are only separated by one country (Russia), but this map shows several other surprisingly short chains. I think my favourite is that only one country (Chad) separates countries with coastlines on the Red Sea, Mediterranean Sea, and Atlantic ocean (Sudan and Nigeria)
  • Some countries get really distorted – mostly when they find themselves near the centre of a continent. I’d often thought of Germany as the centre of Europe, but here, Austria and Hungary get really stretched out because they end up bordering countries on opposite sides of the continent
  • There are probably (hopefully?) other interesting things about this map, but I’ve been looking at it for too long, so I’ll leave it here

16 comments on “The topologist’s world map

  • Aba

    This is amazing! Great job

    • tom


  • Felix

    I find this map awesome. Do you think you could provide it in pdf, to print it like in poster size? I like keeping such charts and changing them at home from time to time 🙂

    • tom

      Thank you! I’m going to make some corrections/alterations and upload a new version in the future. If you like, I can email when I do

      • Anschel

        I would also love to be notified when there’s a poster-sized version of this. It’s incredible!

        • tom

          Thanks! Will do

      • Felix

        Yes, please! 🙂

  • RCL

    Omitting the Russian exclave of Kaliningrad makes Poland appear less connected 🙂 In fact the country has a land border with Russia.

    • tom

      It does – I’m afraid I had to exclude exclaves to make the map work. I’m working on an updated version that shows the exclaves more accurately

  • arne

    I am going to print this, without the text, and ask people what they think it represents. And put a poster of this on the office wall.

    The T-O map, especially without the text, would nicely do on a T-Shirt, as well.

    Adding some iconic buildings, animals and other features (mountains, or the big african lake outlines maybe?) like on the Hereford map would also be an interesting thing to watch. I wonder if anyone would have the time to do that…

    Pity this is inkscape and not QGIS. Could you convert this, so we can add attributes?
    I am tempted to colour the countries based on biodiversity data, maybe vascular plants. Easiest way could be averaging by country, clearly giving wrong impressions. Would need to think about how to do this less wrong, but averaging would be a start…

  • Christopher Gecko

    What a wonderful map. Please let me know of an updated version in the future ^^

  • Gecko

    What a wonderful map, please let me know of an updated version in the future!

  • m_cherny

    Great job! Next step is to color-code areas based on number of bordering countries 🙂

  • Dana

    This is amazing!!!
    By the way, I am from Chile and we share no border with Paraguay. In the graph it seems ok but in the map there is a small mistake with this.

  • Stuart

    Fantastic work. I notice that the Black Sea does not connect with the Mediterranean. The cost I think of wanting to keep all of Turkey in one piece, You could have shown it cutting through the corner of Turkey.

  • Ian

    You have a warped mind.
    Live long and prosper

Leave a Reply

Your email address will not be published. Required fields are marked *