The Ultimate Adventure Maps

Enhanced OS Maps for Navigation


Ordnance Survey

If you're heading into the mountains, moors, or anywhere you aren't 100% sure you'll have signal, I have no doubts in saying that the de facto maps for most people in the UK1 will be the iconic tangerine-covered 1:25000 OS Explorer maps, published by the Ordnance Survey - the United Kingdom's quasi-quango mapping agency. With a track record of over 200 years' on-the-ground surveys, OS Maps, with their expert cartography, and complete, uninterrupted coverage of Great Britain1, are probably the best paper maps you can buy anywhere in the world.

Backed by the biggest geographical database on earth2, no other maps include such continuous and consistently rich detail over such a wide area. In most other maps, woods and forests would sometimes be drawn as such; on OS maps, not only are the types of trees included, but also their actual geographic distribution within the woodland. This is just one example of the almost pedantic level of detail these maps include as standard.

In terms of navigation, the maps also deliver vital information such as contour lines. They are the only complete source of Public Rights of Way, and differentiate between path types and access rights. Important features such as trig points and other coordinate-confirming structures such as cairns and manmade structures are also shown - even at a high scale.

OS Explorer

The OS Explorer maps' recognisable cartography serves more purposes than just looking pretty ✨. Details such as the tree types mentioned above, terrain data, grasslands + rock formation, and accurate widths of rivers, brooks, and streams impart additional information (perhaps subconsciously), allowing you to intuitively relate and transform the 2D map in your hands to the 3D surroundings before you.

As with other detailed maps, you may be inclined to think of these as the antiquated one-off remains of some monster mapping movement of yesteryear; however, the maps receive up to 10 000 updates per day2 and so continue to accurately reflect changes to the current day landscape.

What the issue then?

While I'm sure you've got the message that I'm a big fan of OS Maps, I have plenty of issues with them too. The main issue isn't anything specific to OS Maps, it's a problem that plagues pretty much every map, digital or physical: people don't walk where paths are designated, they walk where it's easiest. You probably witness this issue on a daily basis, in the form of desire paths: paths that people create themselves when planners and architects - or even the landscape itself - fail to cater to the needs of their users.

In terms of maps, this divide between designated, and real-world usage manifests itself in a number of ways.

  • Firstly, the location of paths on the ground sometimes differs from the printed route
  • Newer or simply non-official routes often fail to appear on maps
  • Designation does not mean that the path is still there: i.e false paths that don't exist
  • Official status misleads and suggests suitability or superiority (e.g surface, directness)
  • Recent changes that render paths unsuitable are not reflected

While these issues can simply be the obsession of the perfectionist, they can also have problematic ramifications: e.g. safe routes off mountains, or occasions where the planned route is the only one out of a location in unfamiliar territory.

As previously mentioned, these problems are inherent to pretty much any offline medium - and affect the majority of digital sources equally. This is because maps are effectively static snapshots, only reflecting the reality as discrete points in time. What we really need is some dynamic data 😯.


In order to remedy this issue, we're going to integrate data from Strava. Strava is one of the largest fitness social networks and receives millions of GPS tracks per day, from users' running, cycling, and other activities. The data from the past 2 years is exposed via their 'Metro' and 'Heatmap'3 services as aggregated and anonymised XYZ tiles, which we're going to use. Strava only exposes these tiles via their website, which requires a free account if you want the highest resolution data.

Strava Heatmap

It's not especially useful stuck in MapboxGL, so I just wrote a script in Proxyman4 to include the required auth cookie on all tile requests, allowing its use in any GIS. Would share it, but it's very simple and would probably be breaking some ToSs and EULAs somewhere. Given Strava's liberal stance on their data be used for OSM5, and our obvious personal, not-for-profit intent, I don't think there are any copyright issues with us using the data in this way, as it clearly falls under fair use.


⚠️ Before we get into things, it's important to note that you must, have the appropriate licence to use the Ordnance Survey basemaps. The rights can be purchased from OS by buying a paper version of the desired area, or through other agencies such as Digimap if for educational purposes6. How you get your OS Map into QGIS is dependant on your source.

In this post, I'm using QGIS7, as it's the only really cross platform, Open Source, and cost-accessible GIS package.

QGIS Layers

Layering up the Strava Heatmap, and OS Explorer basemap is really easy in QGIS. While the OS Maps use EPSG:27700, the slippy XYZ Strava tiles use a different CRS: EPSG:3857, this isn't a problem, as QGIS will project them both into the same coordinate space on the fly - giving us the following:

OS Explorer + Strava
OS Explorer

I've marked up the map as follows:

  • not shown on the OS Explorer
  • where the designated path isn't the most trafficked
  • not seen in use on Strava

Already we can start to see how powerful this technique is, and how much more relevant and useful information the map contains. Whole paths were missing off the original OS Map, and some minor paths are actually the main ones. There are also a few examples (one of which is highlighted in purple), where drawn paths aren't used by the millions of people on Strava over a full 2 years. Sus 😑.

Using this map to plan routes, we're now much more informed about which paths are a safe bet, and which should be avoided. Combining this with aerial imagery can also give good results.

(By overlaying the Strava information, we do cover up some map information it's mostly labels, which aren't that important)

Paths Tick! What's Next?

While we've remedied one of my main issues with the OS Explorer maps, there are a few other more practical issues with the maps.

The OS Explorer maps are traditionally supplied as large, bulky, printed sheets at 8x240x134mm folded, and 1270x945mm spread out. This makes them perfect for throwing over the kitchen table to plan adventures, but doesn't make them all that practical when you're trying to flip the map over, in the wind, up top an arête. People have even resorted to cutting and all sorts of over-the-top solutions8.

Rather than get the scissors out, I prefer to leave the OS sheets at home and instead print off exactly the area I need - with a buffer for the inevitable navigational mishaps. I'm yet to be convinced that anyone has ever needed the whole 1200km² all at the same time.

This also benefits us in a number of other ways:

  • let's say you want to walk from Scafell Pike to Seatoller - a route that transects the boundary between two OS Explorer sheets. Carrying paper maps means you'd have to carry both OL6, and OL49. Even though you only need a small area across the two. OS Explorer map Boundaries
  • you don't have to pay more for lamination, just buy the digital rights
  • you don't need to carry gigantic map cases and other shitty accessories
  • if you print on demand, you'll always have the latest version of the map

Pagination and Printing

QGIS' Layout functionality makes it really easy to layout our map for printing, even over multiple pages. It's fairly self-explanatory although there are a few things I ran into, doing it for the first time.

The first thing is that layouts contain multiple pages. Pages are not layouts. We'll create one layout, with a few pages to cover the route/area of interest.

QGIS Insert Pages

After adding the map to the page, its best to fix the map scale to the desired value. In the case of the 1:25k OS Explorer map, we're going to fix the scale to 25000.

This is best done using an expression:

QGIS Fix Scale

Once we've fixed the scale, we can set the map's position interactively:

QGIS Position Map

Once you've repeated this for the remaining pages, you can export the pages directly to .pdf, or if you want to further process or compress the files for digital use, you can export to .png:

QGIS Export



Often you want your maps to detail a preplanned route. Once you've got a .gpx file, it's really easy to import into QGIS.


Once it's in, I like to style it to blend into the surrounding map. In the case of OS Explorer maps the font used is Gill Sans, and the colours can be 'eyedropped' from the actual map.

⚠️ One thing of note is that the scale for these added details will be off until you export the print layout from QGIS.

Distance Markers

Distance markers are also very useful. In QGIS the process for creating them is somewhat convoluted.

Firstly - if it is not already - reproject the imported .gpx to the projects' CRS, you can find this tool in the processing toolbox.

QGIS Reproject

Then you can use the 'points along geometry' tool - found in the same place - to generate the distance markers.

QGIS Points along Geometry

Styling these points leads to really nice distance markers.

Distance Markers on Map

To get the labels to state the distance I'm using the following expression:

to_int($id) || 'km'

If you haven't saved the distance marker layer, the numbers will be indexed to 1 not 0, and so will give erroneous values. Save the layer and the problem should resolve.

PTO Lines

Please Turn Over lines can also be really useful for knowing at what point along a route the next sheet should be used. Obviously you can just flip it over if you've printed it duplex, but if the next sheets are packed away in a bag then its useful to know when to turn over. Extra polish ✨.

I like to add these manually in the layout section of QGIS, using a two point polyline.

The reason I don't just turn over once I reach the edge of the map is that I always include a decent margin of overlap between consecutive sheets. If the edges line up perfectly with no overlap, it's impossible to take bearings and things accurately. If you include some overlap, then there's never a region where the compass would need to straddle both sheets at the same time. Having an overlap also helps negate any detail being cut off when printing.


Considering we're going to these great lengths to customise the map, it only makes sense to include some important information too: like phone numbers, precalculated bearings or timings. There's not really any hard-fast rules here, just a head's up that might pay dividends someday 🦸‍♀️.


Printing from QGIS is easy, just be sure to fix the scale to ensure the print driver doesn't mess around with the map in any way. I tend to print a B&W copy of the first page to check everything's in order before committing.

Another thing that caught me out is the fact that most laser printers can't print full bleed. This means that they'll always be a white border around the paper. Fixing the scale means that the edges of the map will be cut off - another reason to do a B&W proof.


Even if it's not raining, paper used outdoors doesn't last. The humidity quickly reduces its integrity to that of a **insert E.D. joke** - making it impossible to use in combination with a compass, or even just to hold properly. Laminating eliminates this problem, and also makes your map rainproof, +1 over plain OS Maps!

I find that the best method is to whack the temperature of your laminator all the way up, and pass the laminate through a few times to ensure a good bond between the ply. I've never had one fail 👌.

While lamination makes the maps rainproof, the added rigidity also converts them into the perfect windsail - ready to fly over the edge of a hill. Punching a hole in the map and passing some paracord through to tie to something solves this, but if done with a hole punch will introduce a point of ingress for moisture and lead to delamination in wet weather.

Of course, I wouldn't be mentioning this unless I had a solution, and that's to use a leather punch - one with different sized holes. Punch a larger hole through the paper layer, and a 1-2mm smaller one though the laminator pocket; when the stack is heated, the outer layers will still be able to seal and prevent infiltration.


OS Maps © Crown copyright and database rights 2023 Ordnance Survey (100025252)

OpenStreetMap © OpenStreetMap contributors

Strava Heatmap © 2018 Strava

  1. Ordnance Survey only covers Great Britain. Northern Ireland has its own counterpart: Ordnance Survey of Northern Ireland. Their maps are not the same. 2
  2. https://www.bbc.co.uk/programmes/b06b36q3 2
  3. https://www.strava.com/heatmap#5.98/-6.57074/54.52126/hot/all
  4. https://proxyman.io/
  5. https://wiki.openstreetmap.org/wiki/Strava
  6. https://digimap.edina.ac.uk/
  7. https://www.qgis.org/
  8. https://www.ordnancesurvey.co.uk/blog/2012/02/how-do-you-look-after-your-paper-map/
  9. https://shop.ordnancesurvey.co.uk/map-selector/