Tracks everywhere! (or how to draw byways, bridleways and footpaths)

I have been trying to map and use OSM for offroad cycling but I am starting to get frustrated. The particular problem I have is that north of Cambridge, almost any route across the Fens is a track with a subset of them being rights of way.

I know we have Freemap and OpenCycleMap but in all honesty, the performance and update frequency are not as good as the main Mapnik map so I tend to use that.

This has led to me marking some tracks with rights of way as highway=byway or bridleway just to get them shown on Mapnik as distinct from other tracks in the surrounding area. This seems like it is against the OSM way of doing things but in practice works well in my area because it can be hard to navigate over the Fens using legal rights of way with a Mapnik printout. There are tracks everywhere - finding one you can legally use is the problem.

I see a way out of this which is to update the rendering of byways, bridleways (and possibly footpaths). I can imagine rendering byways and bridleways in a similar way to tracks where the dashing adjusts if there is a tracktype attribute except they remain the same colour as they currently are.

How open are the OSM team (and UK mappers) to updates of this nature ? And, are highway=byway and bridleway UK specific so the rest of the world wouldn’t care too much if we all agree on a change ?


have you tried openmtbmap?

I had seen it in the past. Looks interesting so will take a closer look. The big gotcha is that MapSource didn’t come with my GPS so I have no way to view the data on my computer. I know there is no OpenMTBmap data in my area so I wonder how UK specific rights of way are drawn. I’ll have a play.

I still think improving the Mapnik rendering would be a better option for most. Maybe I should mock something up ?

You could use kosmos to view the data?

I think the best option for rights of way in England in Wales is to use the designation tag. See and the table in the summary on

eg something like designation=public_footpath or designation=public_bridleway etc. This should be used in combination with the highway tag, eg highway=path or highway=track, which describes the physical way on the ground.
Plus you can also use the appropriate access tags, eg foot=yes, bicycle=yes.

The designation tag is not currently rendered on Mapnik or Osmarender, but a change could be requested.

Yes, designation is what is currently advised and I believe Freemap uses that. There is a bit of a mixed bag of old and new style tagging but as you say Mapnik only marks old style tagging (eg highway=bridleway) in a useful way.

I will put in a request for rendering the designated tag. Infact, I am happy to do the work and submit a patch if I can work out an acceptable way to render the combination of track/path and designation. Is OSM Trac the right place to start that debate or here ?

Many thanks,

Answering my own question, I have discovered the proposed feature section. The discussion on designation looks like it has stalled for a year but looks like the place to try and move this on:

I know this is an old thread now, but it seems the issue is still there. I understand the idea behind the change to the designation tag showing the path status (although I think more people will be interested in the status than the path type), but as Phil said, the designation is not rendered on the map. The colour coding on the map only shows a path as a path, not whether it is a footpath, bridleway, byway or whatever. At least with the old highway=whatever, the status is obvious at a glance.

What plans are there for clarifying this?

No plans that I know of. OSM is a worldwide project. The four ‘path’ designations (footpath, bridleway, restricted byway, byway [formerly BOAT]) are unique to the UK. It would be unrealistic to expect a worldwide rendering to be reworked for UK-specific demands.

The Mapnik rendering is really only there as an example of “here’s what you can do with OSM”. You are encouraged to go and make your own rendering from OSM data. Plenty do - for example, thousands of UK cyclists and walkers are using custom Garmin maps made with mkgmap. The point is not to expect to show everything, but to encourage many different renderings to fulfil each need.

There are a couple of other rendered hiking options:
and lonvia: (only does named routes)

You should be able to use QLandKarte ( as an alternative to MapSource.

I’ve just noticed that highway=byway is now deprecated [see link 1] but what’s worse is that the designation tag is not been approved or voted on [2]. That really should be cleared up so . Without approval, it is going to be hard to get Potlatch, Mapnik or any other app to write or read the designation values correctly. I fear that without designation approval, uk countryside mapping is going backwards.

The tagging now seems like a done deal. We might as well wake up the approval process. I’ve sent a mail to Richard Mann who started the approval process.



PS: I know that anyone can make their own view of the map, however, the current reality is: if I want to use a 3rd party mapping app (eg bikeroutetoaster, yournavigation), you only get a limited set of renders such as Mapnik or OpenCycleMap. Ideally, there will one day be a technical solution to this so we can ‘mashup’ to our own specific needs.

Most of us have no time for the wiki ‘approval’ and voting process. It is run by a small coterie of wikifiddlers and has very little to do with whether tags are used or not; and nothing to do with consensus or democracy.

Instead we use tools like taginfo, tagwatch, and tagdoc to see how tags are actually used in practice. As of a couple of days ago the tag had the following usage in GB:

public_footpath (19062), public_bridleway (3143), restricted_byway (550), permissive_footpath (331), public_byway (211), byway_open_to_all_traffic (164), bridleway (103), permissive_bridleway (65), byway (58), footpath (57), ORPA (46), unknown_byway (32), quiet_lane (31), public_cycleway (29), site_of_special_scientific_interest (10), unclassified_highway (6), uncertain (5), LNR (4), British Grade II* (3), Civil Parish (3), Other Route with Public Access (3), undefined (3), British Grade II (3), country_park (3), public_bridalway (3), pedestrian_zone (2), Local Nature Reserve (2), unknown (2), national_park (2), Grade I listed (2), unofficial_path (2), former_permissive_path (2), unofficial_cyclepath (2), public_highway (2), Grade II (2), NNR (2), GB24A (1), public_bridleway;public_footpath (1), ORPA - higher rights uncertain (1), grade_II_listed (1), proposed_public_footpath (1), Scheduled Ancient Monument (1), permissive_bridleway;public_footpath (1), public_footpath; permissive_bridleway (1), not_highway (1), private_footpath (1), NSA (1), cycleway (1), common (1), ORPA; adopted (1)

I think nearly 20000 public footpaths so marked might be an indication that it is seriously in use.

As for technical solutions for mashing up your own needs: Maperitive pretty much does this out of the box. Download the area you are interested in (or use a Geofabrik download), write a simple Maperitive style sheet (or borrow one already in use), use it with the web map option for the background map and it’s easy to have a public footpath/bridleway/byway etc overlay.

Yes, I agree with that. Unfortunately, if you want a change in one of the ‘global’ tools like Mapnik or Potlatch, the developers do look at the approved list of tags so it is useful.

With the demise of the byway tag I am now thinking about what is the best way to tag and how should we advise people to tag. The wiki is quite confusing in terms of old and new tagging. I think that should be cleared up.

To work ‘with’ the current Mapnik rendering rules I think the following is advisable. To make the different types of track distinct it seems like the only option (today) is to use the access tag on a track.

For a byway and restricted byway:
use access=permissive (renders green dashed underneath).
Is access=designated rendered ? If so that might be an alternative)

For a private track:
use access=private (renders pink dashed underneath). Seems well used.

I’ll have another look. It looks useful but last time I tried it, it struggled to render anything on my 2GHz single core PC. It doesn’t do everything that online apps do though does it ? Eg bikeroutetoaster has routing, gpx, sharing. Where’s The Path: side by side comparison of maps.

Your average user just uses an online app and all they see are Mapnik and OpenCycleMap so it is important to get Mapnik right.

AFAIK many of the main developers of these tools are UK-based and keen walkers and cyclists with a thorough understanding of access issues in the UK in general & E&W in particular (one of them contributed to this thread earlier). Several of the Potlatch developers have expressed rather strong opinions about the usefulness of the wiki, so I doubt if they pay excessive attention to approved features.

A much more significant limitation is that these tools are designed to serve a world-wide community: not just walkers in England and Wales.

This is tagging for the render, please avoid it. As RichardF says there are thousands (perhaps tens or hundreds) of people using OSM in the UK: changing things to make mapnik look the way you want might inconvenience lots of these people. In general use the designation tag, this is clearly preferred my most UK mappers, and IMO does a decent job of separating physical properties from legal ones. Most of the mapnik access renders are designed to show that access is iffy, not that it is possible.

Mapertitive is a render engine, it enables you to create maps to print out & take out in the field. I presume you don’t wander around with a netbook. It runs fine on my little 5 year old laptop. Of course it is not a huge multi-function application, but then nor are the ones you mention (a routing engine which generates gpx, and an OpenLayers tile-scraper). This latter comment confuses me: do you want something practical to carry with you when walking, whether paper or a gpx; or something neat on the PC when you get home?

OK, that’s not so bad then. I am less worried.

Yes, it is a bit of a fudge and I think the ‘right’ thing to do is to fix the renderer rules.

What I was trying to acheive by using access=permissive was a way of showing which of our tracks (byways) have restricted (iffy) access in a way that any user from around the world could understand. highway=byway was a very useful way of showing this very distinct type of route and its access rules.

Taking my thoughts a stage further, bridleway is not being deprecated so I am left thinking why not ? And what is the right tagging approach ? It is confusing because the logic is confused. Is the wider world going to use highway=bridleway or highway=path/track plus designation ? Surely the same issues exist.

All of the those :slight_smile:

Sometimes I am paper based, sometimes planning/reviewing on the computer, and sometimes using the map on my GPS.

On the computer I use a variety of tools for a number of different reasons and I don’t have a lot of choice in the OSM renders I can use within them. It normally boils down to Mapnik and OpenCycleMap.

In my ideal world, each of these apps could render tiles from a proxy tile server. I could configure my favourite render style on the proxy rather than each app having to knowledge of all of the different base layers that come and go.

As, I guess, one of the two lead Potlatch developers I can certainly confirm that. :slight_smile: :slight_smile:

I intend to add designation= to a future update.

Thank you for that confirmation Richard ! To someone like me - a mapper - the wiki process looks important.

Just in case anyone is interested in more detail than tagwatch gives you (hold on to your hats), I was wondering how much each designation value had been used against each type of highway. That is because I have tagged like this: highway=byway, designation=public_byway.

These results are for England only:

select tags->‘designation’, count(*) from ways where exist(tags,‘designation’) group by 1 order by 2 desc;

public_footpath | 18957
public_bridleway | 3127
restricted_byway | 541
permissive_footpath | 328
public_byway | 211
byway_open_to_all_traffic | 166
bridleway | 95
permissive_bridleway | 65
footpath | 58
byway | 58

select distinct tags->‘designation’ as designation, tags->‘highway’ as highway, count(*)
from ways
where exist(tags,‘designation’) and exist(tags,‘highway’)
and tags->‘designation’ in (‘public_footpath’,‘public_bridleway’,‘restricted_byway’,‘permissive_footpath’,‘public_byway’,‘byway_open_to_all_traffic’,‘bridleway’,‘permissive_bridleway’,‘footpath’,‘byway’)
group by 1,2 order by 1, 3 desc, 2;

   designation        |      highway       | count 

bridleway | bridleway | 54
bridleway | track | 18
bridleway | service | 15
bridleway | cycleway | 6
bridleway | residential | 1
bridleway | unclassified | 1
byway | track | 31
byway | unclassified | 8
byway | byway | 7
byway | road | 5
byway | footway | 3
byway | service | 3
byway | unsurfaced | 1
byway_open_to_all_traffic | track | 117
byway_open_to_all_traffic | byway | 19
byway_open_to_all_traffic | residential | 13
byway_open_to_all_traffic | service | 9
byway_open_to_all_traffic | bridleway | 2
byway_open_to_all_traffic | unclassified | 2
byway_open_to_all_traffic | cycleway | 1
byway_open_to_all_traffic | footway | 1
byway_open_to_all_traffic | path | 1
byway_open_to_all_traffic | tertiary | 1
footpath | footway | 37
footpath | cycleway | 10
footpath | track | 4
footpath | path | 3
footpath | steps | 2
footpath | unclassified | 2
permissive_bridleway | bridleway | 35
permissive_bridleway | path | 19
permissive_bridleway | track | 8
permissive_bridleway | service | 2
permissive_bridleway | footway | 1
permissive_footpath | footway | 235
permissive_footpath | track | 39
permissive_footpath | path | 27
permissive_footpath | steps | 24
permissive_footpath | service | 2
permissive_footpath | bridleway | 1
public_bridleway | bridleway | 1672
public_bridleway | track | 889
public_bridleway | service | 263
public_bridleway | unclassified | 85
public_bridleway | path | 84
public_bridleway | cycleway | 47
public_bridleway | footway | 45
public_bridleway | residential | 36
public_bridleway | steps | 5
public_bridleway | tertiary | 1
public_byway | track | 117
public_byway | byway | 53
public_byway | unclassified | 12
public_byway | path | 9
public_byway | service | 9
public_byway | residential | 5
public_byway | cycleway | 3
public_byway | footway | 2
public_byway | bridleway | 1
public_footpath | footway | 12344
public_footpath | track | 2539
public_footpath | path | 1908
public_footpath | service | 999
public_footpath | steps | 596
public_footpath | residential | 263
public_footpath | unclassified | 137
public_footpath | cycleway | 60
public_footpath | bridleway | 39
public_footpath | tertiary | 5
public_footpath | road | 4
public_footpath | unsurfaced | 4
public_footpath | pedestrian | 3
public_footpath | primary | 2
public_footpath | access | 1
public_footpath | residential;track | 1
public_footpath | secondary | 1
public_footpath | trunk | 1
restricted_byway | track | 233
restricted_byway | byway | 161
restricted_byway | bridleway | 42
restricted_byway | service | 37
restricted_byway | footway | 28
restricted_byway | unclassified | 16
restricted_byway | residential | 14
restricted_byway | path | 6
restricted_byway | unsurfaced | 2
restricted_byway | bridleway; footway | 1
restricted_byway | steps | 1
(88 rows)

I think I’ve run into a similar problem. I can think of a few cases where (part of) an otherwise private drive is a right of way, leading to a “normal” footpath. After reading the Wiki, I’ve tagged one of these as highway=service;service=driveway;foot=designated;designation=public_footpath. It’s in the middle here

Unfortunately, mapnik doesn’t show any sign of the right of way, and worse, at some scales the drive disappears entirely leaving the footpath visible but apparently starting in mid air.

Have I nevertheless followed best practice? Did anything come of the attempt to get mapnik to take notice of designation tags?

I think your tagging is about right.
Though is it actually a driveway? I would usually only tag that if its just a road to a single house. Whereas that looks likes like it might go to several different buildings / houses or a factory? So maybe just tag it as highway=service, without specifying the type of service road. I think this will improve the rendering a bit, so it won’t disappear before the path.

As for Mapnik, showing designation, AFAIK not much has happened with that. The Mapnik layer is a rather general purpose worldwide map, so its probably not going to show things specific to rights of ways in England and Wales.
If you’ve not seen it already, worth a look at Freemap. It is a map specifically designed for walking in the UK, so should highlight this sort of thing:
Or you could try making your own maps to highlight whatever you want.

Thanks for the help, Vclaw! Removing the service=driveway tag does indeed help with the visibility issue.

Freemap looks good, too – I’ll check how it renders this once it’s picked up the update.