More than a year ago, I mentioned I was planning a map of roundabouts in the British Isles. Like always, though, I shelved it in favor of newer, flashier ideas and it just never got done.
I dragged the project out of the cobwebs last month, though, thinking it could be an easy thing to focus on instead of spiraling about the heartbreaking state of current affairs.
Naturally, that didn’t turn out to be the case.
Mapping just the British Isles felt a bit flat; I felt that I needed to include other countries to get a real sense of how common roundabouts really are.
Mapping just roundabouts felt facile; I needed to do roundabouts per something, to get a standardized view of the data.
This turned what was supposed to be a relaxing distraction into an extravaganza that tied up my laptop for several weeks. At least it prevented me from browsing too much internet news!
You can find my entire dataset for this post here.
Roundabouts per intersection
My initial thought was to map roundabouts per mile of road, but a bit of Googling turned up this article about work by Damien Saunder. He took a look at the number of roundabouts per intersection, which to me felt like the most compelling metric to use. After all, for every intersection a municipality has the choice whether or not to build a roundabout, and some treat that decision very differently than others.
Unfortunately, I don’t have access to his data set, so I had to create my own.
Getting roundabouts was pretty straightforward, if tedious. I just used the osmdata package in R to chug along every 50-ish miles and query for all roundabouts in a 50-mile radius.
I decided to go with a broad interpretation of what a roundabout is–I had no idea that there’s such disagreement on the term. If OpenStreetMap had an intersection tagged as a roundabout, mini-roundabout, or traffic circle, that was good enough for me. I didn’t validate them any further to see if they met with any more stringent criteria than that.
Getting all intersections, though, was a bit tricker. OSM doesn’t tag intersections, so I had to extract them myself. Like before, I chugged along every 50 miles and extracted the road network in the area (excluding highways and non-vehicular paths).
Then, with the sf package, I could use a one-liner to find everywhere that network overlapped itself.
st_intersection(roads) %>% subset(n.overlaps > 1) %>% st_cast( 'POINT') %>% st_coordinates()
It took about two weeks to cover Europe and get all the intersections. Of course, this isn’t a perfect method, but I can’t think of any other way to do it–do tell me if you know of something better.
For the US, I extracted road networks from TIGER/Line shapefiles instead of querying OSM. Without the overhead of the repeated queries, I was able to extract these intersections in under a week.
Finally, I decided to limit my final visualization to just 10 countries. Firstly, I think the roundabout data is incomplete in certain parts of the continent–Eastern Europe seemed unusually bare, for example. Secondly, I don’t think there’s much to gain in seeing these countries in their geographical contexts–there really didn’t seem to be a wider pattern that would be exposed by plotting everything all together. Lastly, plotting all the countries at the same size made it a lot easier to see detail in the smaller ones.
Hopefully you enjoy the results more than I enjoyed the process!
Roundabouts per capita
Another method to normalize roundabouts is to look at them per capita.
Luckily, I was able to find a 1km-grid population density shapefile for Europe, so this map was pretty straightforward to make.
For the US, the R package tidycensus was invaluable–I absolutely recommend checking it out if you’ve ever found yourself lost in the depths of a .gov website, frantically searching for data that should be easy and obvious to download, but somehow isn’t.
What city has the most roundabouts?
Surprisingly, the most roundabout-y city is in Indiana! Carmel’s city website even proclaims them the Roundabout Capital of the United States. I don’t believe this is true in terms of total roundabouts, but its absolutely true once you normalize by roundabouts per intersection.
Another surprising entry for me is Berkeley, CA. I lived there for four years during college and never really noticed a surplus of roundabouts. Then again, my main method of transportation was my own feet, and I wasn’t exactly on the lookout for intersection types.
Unsurprisingly, the rest of the top 25 is completely dominated by cities in Europe.
It’s worth noting I just used the bounding box of each of these cities–I didn’t clip the results to the exact city boundaries. Numbers might be a bit off, especially for oddly-shaped cities (eg Venice’s bounding box contains quite a bit of mainland Italy).
This isn’t really roundabout-related, but seeing as I went to the trouble of getting all the intersections in the US and Europe it would be a huge shame not to map them all.
They are pretty much just population density maps, but I do love them. I was going for a “city lights from space” + “starry sky” effect, which I think I achieved!
Click for big!
I found more than 34 million intersections in Europe! It took my computer about five hours to plot them all. I did notice I missed a slice of Denmark, but like hell am I going back and re-plotting this.
I just love how Moscow appears as an 11-pointed star in this map, and how the topography of the Alps is readily apparent.
Nobody lives here
(This is just the post that keeps on giving, ain’t it?)
Since I had detailed European population density data anyway, I figured I’d also create a version of the Nobody Lives Here map by Nik Freeman that was such a hit a few years ago.
I was encouraged to include other countries in this analysis, but it was already such a stressful, overblown mess I just couldn’t bring myself to do it.
I also had wanted to make some sort of “tour of London’s roundabouts” map using a travelling salesman solver, but again, project fatigue was real on this one.
Perhaps I need to let myself make simple projects instead of turning everything into a huge production… I’ll give that some thought ☺