Hi, this is Aya, a support/writer intern at Datawrapper. Before the corona lockdown, I was planning some long-distance bike tours with friends over the summer (which has now been postponed). This was when I learned about the existence of the EuroVelo routes. Recently, I’ve been searching for a new bike – which got me thinking about the bike routes again.
EuroVelo is a network of 16 bike routes around Europe, varying in distance from 1500km to 10000km and certified by the ECF (European Cyclists’ Federation). The routes are made up of existing national bike routes (e.g. the Dutch LF-Routes, the German D-Routes, and the British National Cycle Network) and other routes connected across many countries.
Their official website is well documented with videos and route maps which makes planning a lot easier. But one thing I always find frustrating when planning is the lack of overview on elevation profiles. There are plenty of routing apps and websites with interactive elevation profile charts for specific routes. What I wanted, however, was one chart with all the elevation profiles so I could compare them next to one another.
I’m no cycling expert, but the few times I went bike touring, it was always the elevation that exhausted me, never the distance. Sometimes, I would pick a route over another without thinking to compare the elevation, only to seriously regret later on the road.
So I decided to create an elevation profile overview using a Datawrapper table:
It’s easy to see which routes are coastal routes versus mountain & in-land routes as well as how many countries the route passes through. It’s also interesting to see that the elevation profile is not necessarily reflected in the elevation gain: coastal routes can look flat and easy when it can be very bumpy and tough in reality.
About the Data
Since the routes are all well-marked routes, it wasn’t difficult to find already drawn routes with a downloadable GPX file. GPX is an XML file format for storing coordinate data that can be used to describe waypoints, tracks, and routes.
There are many ways to get GPX data, like OpenStreetMap (via Overpass turbo. I tried out different sources and methods. I found that biroto.eu and their easy GPX file download works best for my usecase. Here’s a shortened example of a biroto.eu GPX file:
After downloading the GPX files, I used GPS Visualizer to add the elevation and the distance. I also simplified the data (here’s a helpful tutorial) to only show the elevation for every 10th km, to make it plotable in the Datawrapper table:
type latitude longitude altitude (m) distance (km)
Creating the table
I wanted to make the table as visual as possible. The reader should see an overview very quickly and then be able to go and search for the details.
Routes are numbered based on whether they cross Europe on a North-South or an East-West axis and I color-coded them accordingly. I also tried using more symbols & emojis versus words to achieve my goal: a quick glance for an overview.
So well how does the table show me how exhausted I’ll be on my future bike tours? Unfortunately, for these long routes, the simplified sparkline is far less an indicator of how much you’ll have to climb than the elevation gain. For shorter, not simplified distances, sparklines will work better.
Having said that, this was a fun experiment where I got to learn a lot about maps, routing and explore Europe from the comfort of my home.
That’s all for this week! Thanks to Anna for educating me on maps and to Lisa for all the guidance & support. Please reach out if you have any feedback, suggestions, or questions. I’d love to hear & learn from you at firstname.lastname@example.org or Twitter (@datawrapper). Any recommendations or stories about good bike trips are also welcomed! See you next week!
Elevation is just one of the many metrics you should consider when choosing a bike route. The coastlines can be a lot windier hence a lot harder to bike, there’s weather, temperature etc. I also doubt many people bike the entire thing in one go, but rather do sections of these routes. ↩︎