## https://rstudio.github.io/leaflet/
## https://www.r-bloggers.com/2022/10/r-and-gpx-how-to-read-and-visualize-gpx-files-in-r/
## https://mastodon.social/@yabellini@fosstodon.org/113181640784237866
library(htmlwidgets)
library(leaflet)
library(gpx)
## List GPX files
<- list.files(pattern = "\\.gpx$", recursive = TRUE)
gpx_files ## Remove the 'pennine_way' gpx as we will concatenate the others
<- head(gpx_files, -1)
gpx_files ## Strip the common path and extract the date
<- stringr::str_split(gpx_files, "/", simplify = TRUE)[,2]
dates <- stringr::str_split(dates, "_", simplify = TRUE)[,1]
dates
<- lapply(gpx_files, gpx::read_gpx)
gps names(gps) <- dates
#gps <- lapply(gps, function(df) df[[1]]$tracks)
#' Convert GPS points to data frame
#'
#' @params
#'
#' gps list GPS track read by gpx::read_gpx().
#' columns list Column names.
#'
#' @returns Data Frame of GPS points.
<- function(gps, columns = c("elevation", "time", "lat", "lng", "speed", "accuracy", "segment_id")) {
gps_to_df <- as.data.frame(gps$tracks[[1]])
df colnames(df) <- columns
<- df |>
df ::mutate(speed = as.numeric(speed),
dplyrelevation = as.numeric(elevation),
accuracy = as.numeric(accuracy),
lat = as.numeric(lat),
lng = as.numeric(lng),
accuracy = as.numeric(accuracy),
time = lubridate::as_datetime(time),
)
df
}<- lapply(gps, gps_to_df)
gps_df names(gps_df) <- dates
#' Plot a gps dataframe
#'
#' @params
#'
#' gps_df list List of GPS Dataframes.
#' date str Date of track to plot
#' color str Variable to colour points as, default 'speed' but 'elevation' also possible
#'
#' @returns Leaflet map
<- function(gps_df, date, color = "speed") {
plot_day ## Palette not working...yet!
## pal <- leaflet::colorNumeric(palette = c("green", "red"),
## domain = gps_df[date][[color]])
::leaflet() |>
leaflet::addTiles() |>
leaflet::addPolylines(data = gps_df[date][[1]],
leafletlat = ~lat,
lng = ~lng,
## color = ~pal(color)
) }
This summer I decided to hike the iconic Pennine Way a 431 kilometre (261 miles) national trail stretching between Kirk Yetholm in the North and Edale in the South. Traditionally the route is hiked from South to North but as I live in Sheffield and have hiked around Kinder, Bleaklow and Blackhill I decided to hike from North to South as even if I didn’t complete the route I would get to see places I wasn’t familiar with and it was also cheaper to buy an advance rail ticket than have to purchase one on the day of return as I had no idea how long it would take.
NB - In order to provide some relevance to the computing theme of this blog I include examples of how to plot GPX points in both R using the leaflet R package and python using the folium package make using the leaflet JavaScript framework very simple.
Planning
A number of years ago I attempted to hike the Pennine Way from Edale and having set off from Edale and reached Crowden in good time decided I could combine the first two days and continued to Standedge. This was a mistake as I wasn’t used to hiking with such weight and its a rough section up over Laddow Rocks. Half way there my knee didn’t like this and I hobbled the rest of the way and called my wife to come and collect me, heading home with my tail between my legs.
I didn’t want to repeat this but I had no idea how long this would take me so booked two and a half weeks off of work allowing me 18 days to complete. I use OpenStreetMap and the excellent BRouter WebUI to plan days of upto 35km hiking although one day came in at 44km which I was wary of as I typically don’t enjoy hiking more than 30km without carrying significant weight so didn’t want to push myself too hard. But I figured I could be flexible and go slower if needed, and it wouldn’t be a problem if I was faster I could just drink more beer!
A kit list of what I took is at the end along with details of what I used and didn’t, but I took everything I needed for camping along with clothes, a stove for boiling water, six dehydrated meals, maps, battery pack and a guide which I would have to read backwards as it covered the route from South to North over 20 days.
Tracking
I use OpenTracks to privately record GPX tracks of my hiking, running and cycling as it stores them only on the device on which they are recorded, although you can of course copy them elsewhere and use them as you like. I did this each day I hiked recording almost complete traces for the whole trip. I had one short drop out and missed restarting after having a meal but after that often left it running whilst stopped for lunch or dinner sto avoid forgetting to restart.
I uploaded each track to an instance of FitTrackee that I host myself which provided a neat way of reviewing the statistics for each days hiking which I have exported and saved to CSV and used in the tables and figures of this write-up.
Details and more information about these and other Open Source tools for self-research that protect the users privacy from the pernicious intrusions made by Big Tech can be found on the Personal Science Wiki.
Pictures
I carried my phone, a Motorola GT100 and a Sony RX100 Mk IV with me along the route. I take a lot of pictures, most are crap but some are half decent and I’ve included in this post the better ones or those that accompany the story well. You can find the full set of pictures on my Pennine Way Flickr album.
Using GPX Tracks
I’ve opted to provide solutions to plotting GPX tracks in both R and Python since I use both in my day to day work. Each code chunk outputs a map and the code can be viewed if you want to learn how to create maps using either language.
This requires…
- Finding files with the
.gpx
extension. - Loading each file GPX file.
- Extracting the GPS points (latitude and longitude), speed, elevation and date/time.
- Plotting the points on a Leaflet map.
To simplify this process I define functions to carry out the task (rather than copying and pasting the code for each day). Both R and Python have libraries for working with the Leaflet library. Currently I’ve got slightly further with the Python library than the R but I intend to update that and will write a separate blog post on mapping with each of the libraries. Things to do on the maps…
- Consistent zoom level on both.
- Correctly colouring points by
speed
orelevation
in R. - Start and End markers.
- Add pop-ups on hovering over any point to show the metrics (lat/lon, date/time, speed, elevation, accuracy).
- Plot the whole journey as one.
The R library is named after the Javascript library, i.e. leaflet
The gpxplotter package provides wrappers around folium for plotting GPX traces, but I opted to do this manually so I could learn more about Folium (I used to use it in a previous job, just need to remember what I used to do!).
# https://towardsdatascience.com/build-interactive-gps-activity-maps-from-gpx-files-using-folium-cf9eebba1fe7
from pathlib import Path
import pandas as pd
import folium
import gpxpy
= sorted(Path(".").glob("**/*.gpx"))
gpx_files
def gpx_to_df(filename: Path | str) -> pd.DataFrame:
"""
Load a GPX track and extract data.
Parameters
----------
filename: Path | str
Path to a .gpx file.
Returns
-------
pd.DataFrame
"""
= gpxpy.parse(filename.open())
gpx = list(gpx.tracks[0].segments)
gpx_segments = []
data for segment in gpx_segments:
for point_id, point in enumerate(segment.points):
data.append([point.latitude,
point.longitude,
point.elevation,
point.time,
segment.get_speed(point_id)
])= ["latitude", "longitude", "elevation", "time", "speed"]
columns return pd.DataFrame(data, columns = columns)
def tidy_speed(df: pd.DataFrame, speed: str = "speed", threshold: float = 3.5) -> pd.DataFrame:
"""
Remove extreme speed values from a GPS dataframe.
Parameters
----------
df: pd.DataFrame
Pandas DataFrame of GPS points.
speed: str
Variable holding speed, default is 'speed' and shouldn't need changing.
threshold: float
Threshold for defining extreme speed
Returns
-------
pd.DataFrame
Pandas Dataframe with values of 'speed' > 'threshold' set to 'threshold'.
"""
> threshold, speed] = threshold
df.loc[df[speed] return df
def extract_lat_lon(gps_df: pd.DataFrame, lat: str = "latitude", lon: str = "longitude") -> list[tuple]:
"""
Extract latitude and longitude from GPX data frame.
Parameters
----------
gps_df: pd.DataFrame
Pandas Dataframe with latitude and longitude columns.
lat: str
Name of latitude column.
lon: str
Name of longitude column.
Returns
-------
list[tuple]
Returns a list of tuples each of which is the latitude and longitude.
"""
= gps_df[[lat, lon]].to_numpy()
_array return [tuple(point) for point in _array]
def plot_gpx_df(gps_df: list[tuple],
str = "latitude",
lat: str = "longitude",
lon: str = "speed",
colors: str = "viridis",
colormap: float = 3.5,
speed_threshold: str = "openstreetmap") -> folium.Map:
default_tile: """
Plot gps points on a map.
Parameters
----------
gps_df: list[tuple]
A list of tuples of GPS points
lat: str
Name of latitude column.
lon: str
Name of longitude column.
colors: str
What to plot the colour of the line as, options are 'elevation' and 'speed' (default).
colormap: str
Colormap to use when plotting points.
speed_threshold: float
Speed threshold for defining and resetting extreme values, default is '3.5'.
default_tile: str
Default map tile to use
"""
if speed_threshold > 0.0:
= tidy_speed(gps_df, threshold=speed_threshold)
gps_df map = folium.Map(location=[gps_df[lat].mean(),
gps_df[lon].mean()],= None)
tiles
"openstreetmap", name = "OpenStreetMap").add_to(map)
folium.TileLayer("http://tile.stamen.com/terrain/{z}/{x}/{y}.jpg",
folium.TileLayer(="terrain-bcg",
attr="Terrain Map").add_to(map)
name# Add layer control (not working)
# folium.LayerControl(collapsed = True).add_to(map)
= extract_lat_lon(gps_df, lat, lon)
points =4, colors=gps_df[colors]).add_to(map)
folium.ColorLine(points, weight# Calculate bounding box (not working)
# south_west = gps_df[[lat, lon]].min().values.tolist()
# north_east = gps_df[[lat, lon]].min().values.tolist()
# map.fit_bounds([south_west, north_east])
return map
## Get a list of all GPX points
= {Path(_file.stem).stem.split("_")[0]: gpx_to_df(_file) for _file in gpx_files } gpx
Day by Day
Day 1 - Sheffield to Kirk Yetholm
Having packed over the previous few days I weighed the rucksack with 2 litres of water attached, 17.4kg.
This was a walking holiday so I waved goodbye to my wife and daughter around 07:30 feeling fresh and walked to the train station to catch the 08:22 train to Berwick-Upon-Tweed. Being Sheffield this involved a hill but it wasn’t too bad carrying the extra weight of the rucksack. I had poles but hadn’t put them to good use just yet.
The train journey was uneventful, but gave me time to sit and read a book on the Kobo I bought with me. I had bought the Kobo for hiking in the Julian Alps of Slovenia the previous year as I didn’t want to carry multiple books. Having recently started reading Johann Harri’s Stolen Focus : Why You Can’t Pay Attention I expected to get through it and had some fiction to read as well (Haruki Murakami’s IQ84). The countryside passed by as did the first couple of chapters and before long I was getting off at Berwick-Upon-Tweed.
I’d checked the schedule and had a short wait before the bus to Kelso arrived. There was a gentleman trying to straighten one of two buckled wheels on his bike outside the station. Its quite hard to buckle wheels and I figured he’d therefore been in an accident recently so went and asked if he was ok. He said he was but that he’d been knocked off by a car turning across him. He was lucky and only had a few bruises but his bike was not ride-able and he was supposed to be cycling to Wales. He asked me to stand on one side of the wheel whilst he stood on the other to try and straighten it. Unsurprisingly this didn’t work. He then noticed some fence railings and tried levering it straight…unsuccessfully. Not only were both his wheels buckled but the built-in pannier rack that was part of the frame had sheered off so he would have trouble carrying his bags. He wasn’t hurt so I left him to his own devices and explored Castle Vale Park which led down to the River Tweed by the Royal Border Bridge and the remains of Berwick Castle.
A nice way to kill some time but I didn’t want to miss my bus so headed back through Castle Vale Park to wait at the bus stop. It arrived and set-off on time and I bounced through some nice farmland towards Kelso, spying The Cheviot hills in the distance which I would be hiking up in a few hours.
Didn’t have masses of time to explore Kelso but grabbed a baguette and had a pint around the town square and purchased a bottle of Traquair Jacobite Ale (8% ABV) to drink before bed (with limited weight I wanted something strong!).
Another bus journey and I arrived in Kirk Yetholm. I’d clocked someone who looked like they were hiking and as we got of asked where he was heading. He said he was supposed to have been doing an Ultrar-marathon through the area but had injured himself a few days before the start so was taking active recovery by walking and bussing his way along the route. He kindly offered to snap a picture of me next to the Pennine Way map on the bus-stop, bid me farewell and headed off whilst I went for another pint in The Border, the pub that marks the “end” (or start) of the Pennine Way.
Had a nice chat with a local who had lived in Sheffield in the past and was joined by what seemed the proprietor of the pub who said me I should sign the log-book behind the bar even though I was leaving. I duly did so to log the start date somewhere and considered purchasing a t-shirt but a) it was in the wrong direction and b) I hadn’t even started, let alone finished hiking at that point. One of them kindly offered to snap a picture of me in front of the pub’s display of the end of The Way.
Day 1 - 2024-08-14 Kirk Yetholm to Clennell Street
Beer drunk I said farewell, shouldered my pack and started the GPS tracker, setting off up the lane in the heat of the afternoon. Not ideal conditions for hiking but I had a schedule to follow.
There are two options to this section of The Way, a high option going over various hills and low option for when weather is foul. I didn’t have that excuse and had been planning on stopping for the night at the Auchope Refuge Hut which was on the high route so up the hills I went. These undulated but the path was good and I made good time arriving at the hut in around three hours.
With a few more hours of daylight left I decided to push on and find somewhere else to wild camp as my legs weren’t tired and I had plenty of time, even though this involved a steep climb from Auchope Rigg up most of Cairn Hill. I decided in doing so not to do the dog-leg extension of The Way across the flat-ish moor to the summit of The Cheviot, the hill after which the area is named as it added an extra 4km to the journey and would have taken about an hour and I was now on the lookout for somewhere to stop.
Heading downhill there weren’t many options forthcoming, lots of heather with a path through it but as things levelled out I came to a cross-roads with a path marked Clennell Street with a sign indicating that motor vehicles were not allowed between 1st April and 1st May. Quite how anything but motorbikes could get up there I’ve no idea, but there was a flat patch of grass so I donned a long-sleeve top to keep the midges away and setup the tent and bed for the night. That done I had my dinner of some ciabatta and pate along with the bottle of Traquair Jacobite I’d carried along and as the sunset I snuggled down for the first night under canvas feeling pleased to have gone a little further than planned and had no problems hiking up the hills with the weight of my pack.
Code
plot_day(gps_df, "2024-08-14")
Code
=gpx["2024-08-14"], colors="speed") plot_gpx_df(gps_df
Day 2 - Clennell Street to Bryness
Woke early around 05:00 as the tent was flapping in the wind and it was raining earlier than forecast. After listening to the rain for a while I got up at 05:30 and after eating some more pate and bread donned my waterproof jacket, shorts and sandals, packed the tent up and set off in the clouds for Windy Gyle which lived up to its name.
There is a large pile of stones on the summit which is an ancient monument which should not be distubed, not much to look at because of the low cloud so I continued the descent, which roughly follows the bordere between Scotland and England, glad of my choice of sandals and shorts because it was very boggy in places.
I came across Yearning Saddle Refuge Hut and took the opportunity to get out of the wind and rain and eat one of the blueberry snack bars I’d carried. A few pieces of food had been left for people who might need them along with lots of reminders to take your rubbish with you, which I had already done bringing my empty beer bottle with me.
Navigation was straight-forward as the trail was well marked with regular way markers and sign-posts although there was a split with an “alternative” route sign-posted. I opted to stick with the original which followed a “permissive by-way”.
Passed a couple of herds of feral goats and met a guy heading north who was on day 46 of hiking from Lands End to John O’Groats which was pretty impressive. He said that he’d broken a walking pole yesterday and would have to make a detour to replace it which reminded me that in The Border the previous day I had seen a rack for “Free walking poles” with a single pair hanging so I suggested he could grab try grabbing them from there since the Scotish National Trail, Scotlands equivalent of the Pennine Way, starts at The Border and I figured he’d be passing through. Unfortunately his planned route didn’t follow The Way to Kirk Yetholm but he was hopeful he’d be able to pick another pole up somewhere else.
As I got nearer Bryness I started to see more people, there was one guy off to have a meal in one of the mountain refuges. He had a long beard which made me wonder whether this was a good insulator against the rain or whether it helped water ingress into the jacket, not something I’d ever consider with regards to water-proofing. A family group of four heading north were next and then a couple who were finishing off their journey along The Way having left Edale 16 days previously. They were very friendly and reeled off many of the highlights I would pass, warning that it would likely be windy on Cross Fell.
I arrived at the Forest View Inn where I had booked to camp for the night around 13:00 having covered the ~25 km in around six hours but they didn’t open for check-in until 16:00. Fortuantely the conservatory was accsessible and South facing so I was able to warm up and start drying my soaked clothes. My pack had remained dry thanks to the Deuter rain cover my wife had got me as a birthday present. I was both surprised and pleased with this as previous rain covers I have had were not very effective at all.
Just before 16:00 a cat appeared at the back door to the conservatory and shortly after Oli appeared and checked me in (i.e. took my food order for the evening, I opted for Tortellini Pasta bake). Oli and Laura were a lovely welcoming couple who took over the Forest View Inn bed and breakfast, formerly a Youth Hostel, around four years ago having got fed up with desk jobs in Manchester. Oli had previously lived in Sheffield on Eccellsal Road and done some climbing in his time, but was more of a runner these days. He’d attempted both the North and Southern Spine Race Challenger twice and completed each once.
I took the first of several beers that evening and pitched my tent in the back garden, spreading my wet things out over a picnic bench to dry in the sun, ignoring the fact there was a drying room which is great but fresh air is much more preferable.
Other guests started to arrive, first was a couple of ladies who were reconnaissancing The Way from Alston to Kirk Yetholm as one of them, Nicola, would be attempting the Winter Spine Race for the second time in January 2025 having had to drop out (literally) when she collapsed outside of Alston due to infections in her feet where the skin had all detached due to a poor choice of overly tight waterproof socks. Her friend Rachel was no slouch on the racing front either as they had got to know each other whilst running the Dragons Back race which traverses the length of Wales taking in all the 3000 ft peaks. Rachel had not only completed the race, most drop out at some stage, but had done so after falling on the first day and fracturing her wrist and a rib. Tough and crazy women!
Oli had popped out to retrieve some guests who had stayed the previous night and were doing the remaining section of The Way over two days, returning to Forest View Inn in-between and returning to finish off the trek to Kirk Yetholm the following day. This included the family I’d met and a couple I’d passed and a guy from Sheffield who was on his own and finishing off the trail having started in Edale.
Dinner was communal and very sociable and revolved heavily around the ludicrious experiences Nicola and Rachel had running ultra-marathons. I had another beer after dinner but headed to bed early around 21:00 shortly after the sun had set but not before picking up a vegetable pasty and paying for my beer and food.
Code
plot_day(gps_df, "2024-08-15")
Code
=gpx["2024-08-15"], colors="speed") plot_gpx_df(gps_df
Day 3 - Bryness to Hadrians Wall
Slept well but woke early again around 05:00 despite there not being any wind or rain. I didn’t hang about too long, took another shower and was packed and off by 06:50. Ducked into St Francis’ Church and chatted to a guy who had spent the night in there. He was hiking around Kielder Forest stopping wherever he fancied.
Wishing him a good time I got back on track and The Way then followed good solid forestry trails through pine forests for about 15-16km before breaking out onto moorland which I reached in about three hours.
The moorland wasn’t too bad, mainly as it was mostly paved so the few boggy bits weren’t a problem. I stepped over what I thought were some carnivorous plants but was in too much of a hurry to go back and photograph them to check which I regret now as I didn’t see any more.
Didn’t pass many people until I was near Bellingham, this was to become something of a theme due to my early starts, but met a few people heading North along The Way. One guy complemented me on how fast I had been coming down the hill (the angle helped!) and a very jolly Welsh lady wanted to snap a picture with me to add to her collection she was posting to Farcebook. There was another solo hiker who had come all the way from Edale who looked fit and happy.
I reached Bellingham around 13:30 having covered 26km in just over five hours and opted for pizza and beer at The Cheviot Hotel which was delicious and grabbed some beers for later in the day before setting off on The Way again.
I felt good and noticed I’d had a voice in my head telling me to “engage the core powerhouse”, “activate the glutes when stepping forward” and “keep the shoulders back and stomach in” which was Sam Webster, my pilates instructor common mantra during the classes I attend. This seemed like good advice as slouching and lolloping forward would only end in injury so I resolved to make sure I was walking up-right and fully engaging my body whilst walking for the rest of the hike. Listening to music for the first time since starting hiking I realised this also helped with the rhythm of walking as did focusing on my breathing (related to actively engaging core and body).
The hiking from Bellingham was fairly mundane, crossing agricultural land before entering another managed forest and following good tracks through these. Around 17:00 I started keeping an eye out for somewhere to camp, knowing that I wouldn’t make it to the next town I’d planned to stop at, Greenhead, as it was too far away. After leaving the forest The Way crossed some moorland and in a shallow valley and in the middle was a walled off area with a few trees. This looked ideal as the walls provided good shelter from the wind which was still hitting me head on from the South, but on reflection I decided not to stop here because if the wind dropped it would have been midge hell.
I continued until I reached Cragend by Greenlee Moss which gave a brilliant view across the lake as the sun was setting. There was a convenient stone wall which provided shelter from the wind and after clearing some cow and sheep shit out of the way I set myself up for the night and set about rehydrating one of the meals I had with me.
I’d not really given it much thought as they were small/far away but the fact I’d had to clear the area of cow shit to pitch my tent should have rung a bell in my head. It hadn’t, but the loud snort of an approaching bell did so I grabbed my pouch of rehydrating food and put the wall between the bull and myself. It had wandered up with a couple of calves who started sniffing around my stove which I’d left out and I gently shooed them away from the safety of the wall. Fortunately the bull was taking more of an interest in a female the other side of the fence. After a stand-off of about five minutes they all lost interest in me (or perhaps the lack of food which I’d eaten) and wandered off which was my opportunity to quickly take the tent down and move onto a safer spot, recalling the devestation cows had wrecked on some neighbours tents whilst I was in Peru 2012.
It was starting to get dark as I headed over to Rapishaw Gap on Hadrians Wall and heading towards Milking gap I started scoping for a flat place to pitch my tent, regretting not going up the other side of Rapishaw Gap where there looked like a nice sheltered spot, but I didn’t have to go far until I found a spot and re-pitched my tent. As I was finishing off I was startled by a guy passing by who said it looked like a nice spot to camp. He’d been out running but had lost track of time watching the sunset but didn’t have too far to go to get back.
I was tired after around 50 km of hiking so crawled into the tent and fell asleep quickly.
Code
plot_day(gps_df, "2024-08-16")
Code
=gpx["2024-08-16"], colors="speed") plot_gpx_df(gps_df
Day 4 - Hadrians Wall to Garigill
Woke early and stuck my head out of the tent to a beautiful sunrise along the line of the wall.
Didn’t hang around too long, collapsed the tent and packed everything away fairly quickly to avoid getting in trouble for camping on (next to) an ancient monument. I don’t eat breakfast so off we went on the undulations of Hadrians Wall.
Quickly reached the famous Sycamore Gap passing a couple of climbers who were also camping/bivvying on the wall to make the walk-in to the crag extremely short.
Being up and walking early is lovely, its quiet and there aren’t many people about so it was nice avoiding whatever crowds were to arrive later in the day. There were a few like minded people about, one lady commenting the exact same thing, another walking from Cawfields to Sycamore Gap who had waved from across a gap. The countryside is really quite a friendly place, especially for those out on their own.
Toilets at Cawfields Lake were very welcome and there was also fresh water available which was useful for the coming day. Hadrians Wall petters out here and crosses some farmland where I met a couple of guys heading North on The Way and encouraged them onwards as they didn’t have too far to go compared to how far they had already come, which served to remind me how much further I still had to go!
Passing through Walltown Quarry which has been beautifully transformed into a small nature reserve I stopped in the shop and grabbed a can of Sprite to drink to keep my energy up as I had decided not to detour into Greenhead in search of food (this turned out to be a mistake) and instead carried on passing Thirlwall Castle, although as I had a long way to go I only snapped a picture from outside and didn’t explore the grounds. As you cross the railway line shortly after Thirlwall View had a little honesty tuck shop for hikers of The Way to re-supply. I didn’t have any change so only took pictures rather than some food. Such tuck shops were to crop up a number of times along The Way and it was lovely to see how generous and helpful people could be towards strangers.
I survived a game of Frogger on the A69 but was mildly alarmed by the sign on the gate which warned of biological hazards, although they only seemed to apply to those who undertaking work on telephone masts! The next few kilometers were fairly mundane going gently uphill through grazed fields and low lying moorland. After a couple of hours though and not having had any food I was starting to get tired, my feet were hurting and my pace slowed. It became hard work going up hill and for the first time in four days I wasn’t really enjoying myself. I stopped to cool my feet in a stream which helped a bit but then had more mundane terrain skirting the edge of arable land that led me up the valley.
I hoped there would be somewhere to get a snack in Slaggyford but alas not but as I was planning to get to Garigill for the night and had to pass through Alston so figured I’d be able to eat on the way through. Looking at the map I decided that I wasn’t going to do what appeared to be a fairly mundane loop out across a hillside and instead head along the road into Alston.
Just after joining the road the smell of chips frying wafted up the road from The Nook and I knew instantly where I would be eating. They had burger night on so I ordered a delicious chicken burger which came with a healthy portion of chipps and quaffed a couple of cans of lemon Fanta. Feeling tired I asked staff if there was anywhere to camp in Alston, they didn’t think so but asked another customer who was local who confirmed this but advised to “just camp on the village green, no one will care and lots of people do it”. I thanked the staff and locals for advice and taking their advice shouldered the pack and crossed the adjacent field to reach a track that ran along the South Tynedale Railway which was a nice compact and flat trail into Alston and took me from Northumberland into Cumberland.
Feeling invigorated by the food I stopped in the Alston House Hotel for a pint and after grabbing some supplies (viz. beer, sweets and lunch for the next day) set off up hill to my original target for the day, Garigill. I’d read about a diversion because the Dryburn Bridge was closed due to flood damage which took me a long an alternative trail on the north side of the river which didn’t look as though it had seen much traffic and involved hacking through shoulder height ferns in the fading light.
As I entered Garigill I met a lady out walking her dog who asked if I was intending on camping behind the village hall which I was. She advised me I might want to look elsewhere as there was a wedding reception in the hall that evening and suggested a spot down by the river which would be quieter. Again I was surprised at how welcoming and helpful people were to those trekking The Way and thanked her for her advice. I was too tired to go looking for alternatives though so when I got to the village hall spoke to a couple of guys outside having cigarettes saying I had been hoping to camp out the back that evening. They said I should just go through and pitch up and that I could even join the party and have some curry which was very generous but I was satiated and tired and just wanted to go to bed so I went through and pitched my tent in the far corner under a tree, had a beer and showed some curious children from the wedding what my tent was like then went to bed. A short while later I was woken though as some of the kids decided to use my tent as a target for throwing plastic bottles and cans at. I didn’t bother rising to the bate and stayed quiet in my tent. The music stopped around 23:00 and I heard some arguing (alcohol and families often result in high emotions) but at least the shower of plastic bottles and cans had stopped and I soon drifted off to sleep.
Code
plot_day(gps_df, "2024-08-17")
Code
=gpx["2024-08-17"], colors="speed") plot_gpx_df(gps_df