Representation of Politics from Space

(Disclaimer: This post is also featured on the Data Culture blog)

Satellite images can tell us a lot about our world and societies. Images taken from space have, among other things, been used to map pollution, predict crop yields, estimate poverty, and measure the achievement of the Sustainable Development Goals.
Here, however, we are going to explore a different aspect of remote sensing – a somewhat more qualitative and artistic aspect. We’re going to look into what satellite imagery can tell us about politics.

The question we’re asking is: can we observe certain structures from satellite images, structures such as how we organize cities and landscapes? And could these things be indicative of the political inclinations of the populations living there?

Basically, what we want to do is to look at areas which predominantly support specific political parties and look at how these places look from space. Will the places that vote conservative be sprawling urban metropolises or rural areas? Similarly, will places that vote for green parties be big cities or countryside? Before we go only, please note this is a pure correlation study - we are not saying anything about causality. There will be nothing about whether certain urban/rural structures cause politics, or whether politics results in certain landscape-wise structures.

This brings us to Denmark (for those of you who don’t know where, or what, Denmark is please read this wikipedia article). Denmark is a small country (twice the size of Maryland) with a population of 5.8 million inhabitants and it had its most recent general election in 2019. Because Denmark is a such small country, the vast majority of its landmass exhibits some form of human settlement, while only a tiny minority of its landmass is pure wilderness. As such, it is the perfect country to test out satellite imagery as a way to study political landscapes. (Also, I live in Denmark.)

The Danish parliament consists of 179 members from 14 political parties (5 members are independent). Here, however, we only focus on 6 parties, selected the get a broad representation of the political spectrum.

Skipping the most technical details (there’s more information below if you are interested in the nitty gritty details) we look at the 10 electoral districts (opstillingskredse) where each party has gotten the biggest percentage of the votes (for some parties it can be 30% of the votes for others 10%). From each electoral district we select 6 GPS points (see below for info) and download the corresponding satellite imagery tiles from Google. In total we end up with 60 tiles (satellite images) for each party. From these we randomly select 12 images and create the below mosaics.

Overall, we find:

  • The three biggest parties: the Social Democrats (Socialdemokratiet, current ruling party), the liberal party (Venstre, currently opposition), and Dansk Folkeparti (right-wing populists party) all have the biggest voter support from rural regions.

  • The green party (Enhedslisten) and the social liberal party (De Radikale) are popular predominantly in cities and highly urban areas.

  • The conservative party (De Konservative) draw support from a mix of urban and rural areas.

How did we do it? (Technical details)

There is an entire field devoted to the study of political affiliation and population demographics such as: age, gender, ethnicity, wealth, etc. Its called political demography. Think of it as a field that studies who would vote fom whom. For instance, in the 2016 presidential elections in the US (Clinton vs Trump) it was shown that demographics including men, folks of advanced age, and white individuals were more likely to vote for Trump, while Clinton got support from minorities, women, and younger individuals - read more here.

Here, we wanted to approach the same questions, who votes for whom, not using statistics but satellite imagery. We do this in 5 steps.

  1. Step one - Download the voting record from the 2019 election. We got ours from Danmarks Stastik (national statistical agency)
  2. Step two - Get shapefiles for the election districts. We got ours from the Danish Agency for Digitisation (Digitaliseringsstyrelsen)
  3. Step three - Sample GPS points from the shapefiles. We use python and shapely for this (see more on github). We do it in a very simple way. We pick 200 random points within each election district. To minimize the overlap of GPS points and to get as broad a coverage as possible of each district we cluster the sampled points using k-means into 6 clusters and use the median cluster positions to create final GPS points.
  4. Step four - Download satellite imagery. We use Google’s Static Maps API.
  5. Step five - Create image mosaics. We merge images programmatically using python.

Code is on github.

This code works well for Denmark, because the country is small and densely populated. Had we instead wanted to, for instance, do this for the US we would need to be more careful in how we sample satellite images. Because large swathes of the US are uninhabited, we would need to ensure we only look at images with human settlements. While it is possible to filter out uninhabated places using settlement maps from NASA or ESA, with Denmark this was not a issue.

Strange Attractors - Part II

Strange attractors are capable of generating amazingly diverse shapes from abstract to concrete, and to butterflies - see more here. However, all these images are single realizations of specific parameters and initial conditions. And they are static, so I wondered: is it possible to add some movements, some dynamic to strange attractors?

Cellular art-omata

Cellular art-omata, or cellular automata as they usually are called, demonstrate how simple mathematical rules can lead to astonishing complexity.

My favourite papers of 2018

2018 has been a really exciting year, scientifically speaking a lot of new interesting studies have been published this year (so many that I have had a hard time keeping up with my to-read-list), and personally it has been a fruitful year where I was lucky to publish in PNAS and Nature Human Behaviour. Here i have included my favorite scientific papers of 2018.

The generic face of danish politics

As Denmark is getting closer to the next elections the debate about refugees, migrants and their descendants has yet again resurfaced and is beginning to turn sour. Disillusioned with this development and trying to get my mind off the issue, i wondered what the average politician looked like. I was thinking about something along the lines of this work or something like this piece by Soumitra Agarwal. After a quick online search, where i was unable to find much work on faces of politicians, i decided to create my own. The basic idea is to take lot of portrait pictures, overlay them, and take their median.

Transforming images into networks

Trying to come up with a cool visualization for a small side-project, i was contemplating how to draw, or approximate, an object using networks. During my creative process i remembered my colleague and friend Piotr Sapiezynski once told me how he once did something similar (see here and here). Thinking his visualizations look absolutely stunning i tried to do my own version.

Random walk (art)

Trying to kill some time on a 4-hour long train ride I played around with simulating random walk in two dimensions. Coloring each walker with it’s own unique colors, the motion of individual walkers will more or less look like confused ants moving around on a piece of paper. Resembling the behavior illustrated below – see code below.

Global Airport Network

I like to keep track of my life; collecting data about random things–one of them happens to be my travel patterns. While visualizing my own travels I started to wonder what the global airport network might look like. I remember reading about the structure of the airport network in the architecture of complex weighted networks by A. Barrat et al. but the paper never visualized the network. To figure it out, I first needed some data, luckily has a database of routes as well as airports, which allows us to create some pretty nice looking visualizations (see above figure).

Strange Attractors

This Sunday while surfing the web I came across a figure depicting the Rössler attractor and while looking at it, it suddenly struck me that I have always seen it depicted from this specific angle. But what does it look like from other angles? Curious, I sat down, quickly wrote a python script to generate the dynamics, used Matplotlib to plot the figure from multiple angles, and ffmpeg to aggregate them into an animation (see below). One thing lead to another and soon I found myself reading about other strange attractors, such as Clifford attractors, and writing code to generate the figures you see above.

Cover of PNAS - code

I received questions from a couple of people asking me how I drew the network featured on the cover of PNAS (read about it here). Well, this blogpost is for you, and anybody else.

On the cover of PNAS!!!

We (Sune Lehmann, Arek Stopczynski and yours truly) recently published a paper in PNAS where we give our two cents on how to uncover meaningful, “fundamental”, social structures from temporal complex networks. In addition to submitting the paper we also sent some pictures along which we felt would look good on the cover of PNAS. As it turns out one of them was actually selected!

Game Of Thrones network visualization

I was watching the season finale of Game of Thrones the other day and wondered—with so many characters in the series what does the interaction network look like? Well, as it turns out I was not the first person to get this thought. In fact A. Beveridge and J. Shan read through Storm Of Swords (third book in the series) and mapped all the interactions between characters, and released the data. You can read more about their cool project here. They are, further, planning to release data regarding the others books as well.

On the cover of KVANT

While finalizing my PhD I was asked, alongside Sune Lehmann, to author a popular article about networks by the magazine Kvant (danish journal for physics and astronomy). We wrote and submitted the piece and were fairly confident in our work. Nonetheless we were surprised when we were contacted by the editor who asked us for permission to use one of my figures for the cover! This is my first cover, and I gotta say, it feels awesome, next stop …. Nature :)

NYC Taxi - Heartbeat of NYC

Have you ever wondered which areas of New York City are the most popular? You need not worry anymore, this little movie will answer your questions. The video shows the dynamics of pick-ups and drop-offs within a representative week. It is interesting to see how the popularity of areas changes over the course of a day, and how certain areas attract more attention during nighttime. To me the circadian patterns resembles a heartbeat.

NYC Taxi - Statistics

One of the most iconic sights in New York are its Yellow cabs. They are ubiquitous and an important lifeline that tie the city and its inhabitants together. Understanding how cabs move around can give us new insights into how people travel within the city, how people use the city, and which neighborhoods are popular.

The next big thing....

Is just around the corner! We have some cool results that hopefully should be published soon. Until then here are two teaser pics.

World Cup 2014

Since I as a kid watched my first world cup (1994), I have been hooked on football (or soccer as the Americans call it). Back then l I remember that almost every player used to wear Adidas Copa Mundials - a stylish, yet simple black leather boots with 3 white stripes.


Just submitted a paper - Wohoo! Meanwhile until it is published you can find it on arXiv. The paper investigates usability of the Bluetooth sensor is as a proxy for real life face-to-face interactions. You can learn more about the data on the SensibleDTU homepage.

Talk @ KU (4th Dec)

I will be giving a talk at the Niels Bohr Institute on December 4th. Topic will be “Social Contacts and Commnities”. It is based on the results and finding from the SensibleDTU project.

Bluetooth Network

How do we as humans interact over the course of a day? The video shows proximity interactions for student participating in the SensibleDTU project for a randomly chosen 24-hour interval.