I’m not really sure how I would like to show the difference. As a cyclist, I would like to see a quality difference between routes. Also, I would like to see which region has more routes, even small locale ones. Maybe we can’t have one map that will work for all use case.
What I am sure of is that there has to be some kind of level differentiation. I not, you would see a nice one-coloured rectangle instead of a map except in the highest zoom levels, at least for walking routes.
Yeah and the original UK basis for NCN vs LCN went out the window when Transport for London decided to try and forget the LCN ever existed, and brought in a whole bunch of other schemes (Cycle superduperhighways, Greenways, Quietways, Cycleways) whilst Sustrans had a bit of a reality check and scrapped over 25% of their NCN on safety grounds…
OpenCycleMap’s hierarchy of colour schemes for NCN, RCN and LCN increasingly began to bear little relation to the quality (infrastructure and waymarking) of these routes.
Fantastic continuing dialog everyone!
@SomeoneElse writes “There is no single “we” for this sort of thing.” Yes. It seems important to say out loud that “there is no single ‘way of looking’ at these sorts of things.” In other words, how OSM’s North America *cn
s might look “weird” to Europeans is understandable and explainable, similar to how the Czech Republic’s use of ncn
is fairly unique among its European country neighbors is understandable and explainable to “my eyes” (as someone from the USA). Not to mention how BeNeLux countries (and others) define an unusual yet workable method for node networks.
We go a long distance as we understand that “people use *cn
in their own ways, in their own places.” That is a fundamental truth of what we’re talking about here, and again, I think it is important to say it out loud.
Now, with any proposed changes to that, we have to keep such “local, regional, national conventions” in mind as we discuss them. Yes, such histories / realities certainly do color and complicate any changes we might make. But they must be respected as “already existing.”
I’m glad @caspg says he’s not really sure how we might show the difference, that’s both honest and shows how difficult forward motion can be, even when simply imagining what one might like to see in an idealized future. And truth be told, that is something (slightly) different than how we TAG the difference(s).
This IS like unsnarling tangled hair: it can be done, but teasing it out takes time and can be messy!
It is time for a commercial break.
I’d like to mention a tool that has been developed for node networks in the Netherlands, then was extended to other countries in Europe and to linear routes and loops: Knooppuntnet.nl. Last year, when @Florange_Grimoire proposed a working group on EuroVelo we created a route group in Knooppuntnet Monitor: eu-icn-EV.
The tool is not a perfect fit for cycling routes yet. But if I mention it here, it is not only because it might be useful to you guys. It is also because the concept of groups that the author of Knooppuntnet has introduced is an interesting angle on the question that we are addressing here, and particularly one of the uses of networks and network classes: how do we split the QA work, where does authoritative data come from, etc.
Full disclosure: I was the one to coin the name eu-icn-EV to mean something like “the international cycling network EuroVelo located in Europe” and I have no clue whether it’s a good idea or not. It seems that “EuroVelo network” is more important here than “international” but I may be wrong.
The Eurovelo / NCN thing is even more of a mess now in the UK, because usually, for EuroVelo routes there, they were not signed as EV routes, but simply co-opted Sustrans National Cycle Network routes…
… however when Sustrans scrapped a quarter of their NCN routes (in 2020 - see National Cycle Network cuts a quarter of its routes on safety grounds | Cycling holidays | The Guardian) this means they were also effectively scrapping those EV routes.
I wrote to Eurovelo at the time pointing this out, and they replied telling me they had decided to keep the EV routes unchanged… but increasingly the NCN signage on the scrapped NCN routes has been removed, so the EV routes are even more notional than before.
In London, you will have TfL “Cycleway” routes (tagged on OSN as ‘rcn’) which are high quality kerb-segregated tracks… but show up on renderers like Waymarkedtrails.org and OpenCycleMap etc as less important that EV/NCN routes that are just busy roads, devoid of cycle infrastructure, and barely waymarked. Or bear ‘cylists dismount’ signs. Gah!
Actually, that’s really useful to know! I occasionally fill in gaps in these where someone’s created a gap by mistake - it’s good to know that there are not supposed to be gaps in the EV ones.
Still better than swimming to complete this network=rcn
:
Incidentally, there’s also a more recent proposal for a cycleway:hierarchy=*
key that would be quite similar to the proposed importance=*
key, but tagged on individual cycleways. As with highway classification, a renderer could use these functional classifications to show and hide cycleways independently of official network designations.
This would probably be more useful to the cyclist who wants to get from point A to point B with a minimum of fuss than to the cyclist who is committed to clinching a demanding long-distance route, wherever it takes them. Neither functional classifications nor official designations are inherently better or worse; neither approach is guaranteed to be more or less verifiable on the ground.
Unfortunately, the proposal is a bit confusing, since it seems to be proposing two conflicting sets of keywords simultaneously. And, once again, hikers and equestrians are afterthoughts. Still, cycleway:hierarchy=*
would fill a gap that neither network=*cn
nor cycle_network=*
serves well.
Yeah… although, to be honest, I am highly skeptical of bodies who “create” “cycle routes” that are “unsigned, on public roads” - in other words, they are literally just a line drawn on a map. Now, I know that for many of us OSM editors, drawing lines on maps is our favourite hobby but for people whose favourite hobby is riding bicycles, these kind of ‘routes’ can be annoying and dangerous. For bodies like Sustrans and Eurovelo, declaring that they are ‘international european cycle routes’ is often somewhere between hubris and money laundering.
Sustrans in the UK actually did designate a beach that was underwater twice a day as part of their "National Cycle Network - see x.com
I think this may been de-designated in their great safety purge of 2020
All in all, practice/ground truth and theory/planning/PR are seldom the same, and different countries all have unique systems, requirements and preferences. A world-wide map can not satisfy everybody, and a map that is perfect for one country is of no use in many others. Still, just dumping all routes on a map without any differentiation guarantees an unusable map.
In this situation, the very general differentiation in 4 mapped levels can provide a readable map, and all countries can come up with a classification of their routes in four levels, based on any criteria they want.
So that is a baseline.
For further or other differentiation, more specific attributes are usually mapped in addition, to be used for specialized or localized maps and applications.
The starting post gave a nice description of the baseline levels. I would change a few details, see below for my version. The “network” in the **n values, I understand as "the collection of signposted routes for this level and this transport method. Signage quality has little to do with the levels, in general, so I leave that out.
The term “connects” I avoid, because the aim of most of these routes in not connecting but experiencing. Maybe a statement could be added about variants aimed at connection and “getting there”, to cater for (usually local or regional) commuter routes.
Something like:
ICN - International Cycle Network
- Value:
network=icn
- Used for major cross-border cycling routes, spanning multiple countries.
- Examples: EuroVelo routes through Europe
- Often uses multiple national routes as sections.
- Usually operated and maintained in national sections by national cycling organizations.
NCN - National Cycle Network
- Value:
network=ncn
- Major routes of a single country
- May cross national borders incidentally
- Examples: The National Cycle Network (NCN) in the UK
- Usually maintained by national cycling organizations
- Passes through or along mutliple major cities and regions
RCN - Regional Cycle Network
- Value:
network=rcn
- Medium-distance routes within regions/states/provinces, where a region can cross administrative borders.
- Passes through or along mutliple regional cities and towns
- Usually managed by regional authorities or organizations
LCN - Local Cycle Network
- Value:
network=lcn
- Short-distance routes, usually roundtrips, within or around towns/cities
- Typically managed by local authorities or organizations
- Passes through or along neighborhoods, shopping areas, local sites
I spoke to a Sustrans route director at the time - they were, and are, very aware of the EuroVelo situation with these routes. You’ll see that there is now an increasing amount of dedicated EuroVelo signage both on and off the NCN in the UK!
To belabor the point, I think this still underestimates the ambiguity of the terms “local” and “regional” in a big, geographically isolated country, where “international” is barely even physically possible. The U.S. effectively has only three values to work with, fewer than in countries that are smaller than some of our regions.
If there were just one or two more possible values, we would be closer to this happy situation that you allude to across more of the world. Or we can quite reasonably decide that the more affected parts of the world should learn to live without the luxury of color-coded route maps, but please don’t insist that “all” countries are peachy keen with the status quo.
In fairness, the local/regional/national/international scheme is not limited to network=**n
; it also presents itself in variant name and ref keys. But those keys are less important to distinguish. One can always stuff multiple names in a single tag, and so far at least, most data consumers don’t make important distinctions among the various *_name=*
keys.
Similar terms also occur in flag:type=*
. When a city, township, county, and state flag can all fly right next to each other, mappers have come up with more specific values than local
, such as municipal
versus county
. Here too, minimizing the set of values isn’t as much of a priority, because the key isn’t as critical to renderers, which care more about identifying keys such as flag:name=*
and country=*
.
And then there’s boundary=national_park
. For years, there’s been low-level back-and-forth in the U.S. about whether state parks and even some metro parks and county parks should use this tag, because the relative size of these “regions” means “regional” parks can take on the same character as a national park in a smaller, less rugged country like the UK. Fortunately, we have other keys to clarify the situation – like protect_class=*
.
If what you describe is a baseline, then there should be more values in some circumstances. Otherwise, it’s a ceiling, not a floor.
Indeed, the state of Vatican has only international hiking routes (once discarding relations that are only sections of routes). Makes sense.
For me as a non US-Citizen I would handle the states as different countrys and use icn for routes passing trough different states. Same for Australia, India and China. Maybe Argentina and Brasil too.
Some of us are quite tempted to do that! But even though it would be convenient for some renderers, geocoders and navigation applications could no longer unconditionally describe any route tagged network=icn
as an “international” cycling route, or any route tagged network=ncn
as a “national” cycling route.
Would we expect data consumers to special-case these tags by region? If so, it would somewhat defeat the purpose of network=**n
as a convenient generalization versus inspecting more heterogeneous keys. We would need to document that network=*
is only to be used as a rendering hint, for one thing.
You are right about the terms, and of course you could add better levels or better worded levels.
The question is: will more levels actually improve things, or can you live with four? If four is enough, I would not hesitate to match the levels in a subcontinent-sized country to the four existing levels, even if the current terminology is a little off.
icn is easy, just understand that as international OR interstate level. I would even add continental level, if that exists in the country.
ncn, understand national as national OR state-level.
rcn and lcn are vaguely delimited any way, just define what you understand as regional and what as local for this purpose, to get a useful distinction. Some overlap is no problem.
My view: the absence of hard distinctions gives communities the freedom to customize the levels for their country, same as with highways (OSM-british meaning).
I see no evidence of that in my region - in fact, a substantial proportion of the signage for the scrapped NCN routes is still up, 4 years on, luring cyclists to their doom.
In my experience, Sustrans’ way of working can vary considerably by region. And because they’re just a charity, you can’t FOI them to find out what on earth is going on.
A typical mapper might be less bold, considering the definitions for network=**n
that have been in place all over the wiki for over 15 years, definitions like:
network=icn specify the bike route as an international cycle network.
and considering the map key for one of the featured renderers on osm.org (which doesn’t even render network=icn
at all):
To its credit, Waymarked Trails calls network=icn
“continental”, which leaves it somewhat open to interpretation, but it still calls network=ncn
“national”, which does not.
The good news is that the developers of some of this software are participating in this thread, so they’d know right away if we decide to redefine these old tags and can prepare for any mass edit. Or they’d know if we decide to migrate to new tags, keeping the old ones around as a compatibility shim for the time being.
highway=*
isn’t a great analogy for what you’re suggesting. Highway classifications can vary significantly across the length of a route, even in places like the UK where highway classifications were traditionally tied to official route designations. This is true along cycling routes as well. Fun fact: OSM Carto actually supports tagging highway=*
on a route relation. I don’t recommend this tagging style.
A closer analogy would be admin_level=*
, since the level applies to the whole boundary. Each local community decides how to slot their reality into this numeric system. There are some unfortunate limitations in countries like the U.S. and China that have complex and uneven relationships between jurisdictions, but the system holds, largely because the 2–10 scale affords a lot of breathing room.
The downside is that data consumers can only assume topological correctness (mostly). They can’t assume that two admin_level=8
boundaries inside two different admin_level=4
boundaries have anything to do with each other. A renderer can’t assume that a bunch of admin_level=6
boundaries are big enough to show at zoom level 10 without cluttering the map. (Note the uneven density of subnational boundaries across international borders in OSM Carto, versus a more consumer-oriented tileset such as OpenMapTiles, which explicitly demotes some countries’ boundaries.) osm.org inaccurately translates these levels into country-specific terms such as “State Boundary” and “County Boundary” without accounting for other keys. (I’ve proposed to make these terms more generic.)
If we promote a big, sparsely populated country’s national routes to network=icn
on the basis that they tend to be relevant at smaller scales (lower zoom levels), then should we also demote a small, densely populated country’s national routes to network=rcn
because they’re proportionally irrelevant at those same scales? Fudging the tags is starting to appeal to me, if only to dissuade data consumers from using network=**n
as anything other than a hint to renderers for zoom level filtering.
Would this redefinition network=icn
align with your recommended approach?
network=icn is the set of routes that should appear at all zoom levels on a rendered map of cycling routes.
network=ncn is the set of routes that should begin appearing together at somewhat low zoom levels.