
Get ready for a wild ride
In 2019 Henry Crew became the youngest person to travel around the world by motorcycle. He covered 55,000 miles in his one year long journey on his Ducati Scrambler Desert Sled.
Henry’s journey began at the Bike Shed Club in London, England. From here he rode through Europe, Russia, the Middle East and Southeast Asia. Then a plane hop down to (and through) Australia. Finally he flew to South America and rode all the way to the east coast of the United States. Eventually making his way back to London!
I know you would love to hop on your motorcycle, throw all your worries to the wind and follow in Henrys footsteps. But…
- Life seems to get in the way
- All this data isn’t going to science itself
Why don’t we try to live Henrys adventure vicariously through the eyes of R instead. So pull in that clutch, downshift into first, hit the throttle and hold on for dear life because here we go!
Getting the data
To plot points on a map, you need points. I know, mind = blown.
These points weren’t as easy to obtain as I had thought. As far as I can tell, there is no one place that concisely shows Henry’s trip around the world. So what do we do when data doesn’t exist? Do we move along to some other project where the fruit dangles lower on the vine, well within reach? Or maybe we should curl our lip and raise our fists into the air, cursing the data gods who have clearly abandoned us this day?
Nah. We just make our own data.
I was able to piece together England to India with a confident degree of accuracy based on Henry’s blog. However, his blog ended before he was half way through with his journey, so the rest of the trip I gathered from some of his interviews and just a bit of logic around which countries come before others. Download the data I generated here!
So with that being said, the further from England we go, the more likely it is that I missed a step or two. But we aren’t exactly landing rockets on Mars here so lets just roll with it!
First I will present the Maps I cranked out with R, then Ill show you the 8 lines of code that produced them.
Eurasia
Europe to Russia

Russia to Myanmar

Myanmar to Australia

The Americas
Chile to Columbia

Columbia to Belize

Belize to the United States, then back to England

R and Leaflet
Leaflet is a fantastic library for creating maps in R. With just a few lines of code, you can make beautiful maps. First of all, you will need to grab the data from here.
When working in R, I prefer to create an R Project so I can use relative paths for all of my code. Alternatively, you can just download the csv from the above link, and change the path for ‘dfGeo’ to where you saved the file. Here is the code:
We start by using the leaflet and tidyverse packages. If you dont already have these, install them with :
install.packages("leaflet")
install.packages("tidyverse")
Then we import the csv into a tibble (tidyverses version of a dataframe)
dfGeo <- read_csv('Henry Crews Journey - Geo.csv')
If you want to see what our data looks like, type "dfGeo" into the console:

leaflet(data = dfGeo) %>%
addTiles() %>%
This calls the leaflet library and passes dfGeo as the datasource. Add tiles just makes a blank map.
addMarkers(lng=~Long, lat=~Lat, label=~Label, labelOptions = labelOptions(noHide = T, direction = "bottom",textsize = "17px")) %>%
Add markers plots our points on the map. Looking at the data above (dfGeo), you can call columns inside of leaflet parameters with the tilde (aka ~Long is the ‘Long’ column). Label is the name of the country in our dataset.
LabelOptions is just making the text a little larger, and shows the labels by default. Otherwise you would have to click on the markers to show the labels. Direction just says to put the label at the bottom of the marker, not the top or left etc.
addProviderTiles(providers$Stamen.Watercolor) %>%
This sets the map to the Stamen.Watercolor map, which looks pretty cool if you ask me. There are many many more map templates you could use here instead if the old school watercolor look isn’t your cup of tea.
addPolylines(data = dfGeo, lng = ~Long, lat = ~Lat, group = ~Label, color = 'red', dashArray = '10,20')
Finally we add lines that connect each marker. They are also based on latitude and longitude, since I put the data into the csv in sequential order, it all works out. dasharrray just set the line to be dashed and quite large.
And that’s it. You can download the full R Project from github, which includes both the code and the csv. You just run the project and it will all work!