OpenStreetMap

Planned rendering changes of protected areas

Posted by kocio on 3 December 2017 in English (English)

I'd like to change the rendering of protected areas on osm-carto (the style which is used as a default map layer on the main OSM.org website). That proved to be a complex problem, however thanks to the comments from the community on the issue tracker and Talk list I see the general plan what to do. This entry is just a slightly edited message I sent to the list.

screenshot-2017-12-3 openstreetmap Exhibit A: Adirondack Park disaster...

TL;DR summary: I think that for now we should render all the existing tags, but make some of them appear earlier to encourage smooth migration to a more precise scheme.

General findings

  1. As I currently understand it, nature reserve is always a type of protected area, to begin with.

    We were talking on osm-carto ticket with some people about private reserves and even when someone told me "it's not about protection!" this term was used immediately in the same sentence (or in the next one). =} I guess they meant "it's voluntary and not formal", but still it's intended as a protection of nature, so it's just a special, weak type of protection.

  2. The problem seems to be for a mapper to be more precise, since a typical survey can reveal a sign with a name "XYZ nature reserve". However this is not about just a name.

    Boundaries are not visible on the ground easily, so a mapper who draw them has to use some other sources and I believe there are more informations available. Otherwise the area shape is probably not verifiable, which would be bad anyway. And I think all of them are areas, not the points (node would mean probably "here is the protection area, but exact shape is not shown at the moment"), so boundary is also a sure thing.

  3. The name tag leisure=nature_reserve states that it's about leisure (which of course might be for a given object), but it's always about protection. So even if the value has merits, this key assumption is wrong in general and misses more important property (boundary=nature_reserve has only 35 uses).

  4. Another problem is lack of coherent definition of protection (other than numbers) and lack of high-level classes.

    The numbers seem to be derived from IUCN scheme, but wider: only categories 1-6 are IUCN-based and I don't know about the rest.

    Especially class 7 is interesting for us: "nature-feature area: similar to 4. but without IUCN-level.", so i guess it's for all the non-IUCN classified nature reserves. Probably most of the time this should be clear from the boundary shape source.

    It would be good to have more standardized subtags for common features:

    • "nature" - protection_object=* is the same mess as numbers, when talking about hierarchy levels, so maybe some subtag like "nature_reserve=yes" would be useful
    • "private" owner type (not the access type) - governance_type=private_landowner would be great (if really used...)
    • "voluntary" - but that might be clear from the lack of government or international authorities influence

Tagging solutions

In summary, we have 3 popular but overlapping types now:

  1. leisure=nature_reserve (77 264)
  2. boundary=national_park (16 583)
  3. boundary=protected_area (62 016)

Their general properties and relations:

  1. has a wrong key, but nice value name, and is a subtype of 3.
  2. has a nice value name and a proper key, it's also subtype of 3.
  3. is very broad with precise, but not so common name, it also has subtypes, which are useful for official classification, but are not clear for all the other types of conservation

Therefore I would advice to:

  1. Discourage leisure=nature_reserve and make it a subtag of boundary=protected_area (if needed, otherwise just use a protect_class=7 or other class if known), like:

    • nature_reserve=yes - 2 uses
    • protected_area=nature_reserve - 22 uses
    • protected_area=nature - 61 uses
  2. Drop boundary=national_park, since it's easy to identify them all and they are equivalent for boundary=protected_area + protect_class=2 anyway.

Rendering proposition

For rendering I would show all of them as currently, just using different zoom levels, starting from z8 currently (this might change in the future, of course):

  • z8+: national parks and wilderness areas (both are big by definition)
  • z9+: important natural protected areas (class 1-6, with hatched 1a probably)
  • z10+: other natural protected areas (class 7, maybe also 12, 14 and 97-99)
  • z11+: protected areas without class (if we know they're nature related) and leisure=nature_reserve

This is just a rough sketch, however it has some nice properties:

  • all the existing schemes are visible (boundary=national_park can be dropped later)
  • more important objects are rendered first
  • less precise tagging is rendered later

Another important factor might be their size (so for example small national parks wouldn't be shown on z8) and a name (when the name is not tagged, push them later), but it needs a lot of worldwide testing.

Usage stats

taghistory 6 taghistory 7 (class 4 is the most popular) taghistory 8

Comment from Dzertanoj on 3 December 2017 at 17:53

Several notes on this topic. Usage of a leisure key, actually, might contradict a protection status in a lot of cases, where nature reserve doesn't allow any leisure activities. Ownership and enforcement are totally different things from protection level. For example, in Russian Federation, there are huge state-owned protected areas with limited access intended for hunting. They have strict protection enforcement and they usually are equal to class 4 or 6. Private hunting lands with similar access restriction, management level, and enforcement exist in other countries. Someone might argue that if hunting is allowed, it is not a protection, but that's just a personal idea of protection. Actually, it is a broader term than many people think. We already have keys for ownership - no need to introduce anything new and mix it with other features.

However, there is a question about protected areas with different levels. For example, there might exist an area (and I know at least two of them like that) with several adjacents sub-boundaries with different protection class, goals and management levels. Currently, it is unclear how to properly tag something like that using relations, because these aren't separate areas, these are sub-areas.

Comment from SomeoneElse on 3 December 2017 at 23:08

Isn't the main problem here the way that the data's being presented raher than the fact that all or these nature reserves / protected areas are being shown? At zoom 8 does it really make sense to show the outline of each area, which when they're contiguous or nearly contiguous (see e.g. http://www.openstreetmap.org/way/427927020#map=19/43.64670/-74.60573 ) just means that at zoom 8 you get lots of green squiggly lines?

As an example consider OSM Carto from a few years ago - it would render nature reserves a bit like this:

dashed lines between reserves

Ignore the blue motorways and the fact that there's probably too many names there - but perhaps at z8 there's no need for the exaggerated reserve border for each sub-area?

Comment from kocio on 3 December 2017 at 23:27

For me there are more problems: - tags fragmentation - lack of clear classification system - borders clutter - labels clutter (as shown on your rendering)

My questions: 1. Maybe skipping borders would help, but when should they appear? 2. But you also show some border here - how did you select just the outer one?

Comment from kocio on 3 December 2017 at 23:29

We already have keys for ownership - no need to introduce anything new and mix it with other features.

We have the name of the owner (I guess you mean operator= tag), but it does not tell if it's private, governmental or something other. That's why governance_type=private_landowner is needed.

Comment from SomeoneElse on 3 December 2017 at 23:41

That rendering is mostly just what OSM Carto did in 2014 - I've reduced the roads that appear at that zoom level, but don't think I've changed nature reserve / national park rendering. See https://map.atownsend.org.uk/maps/map/map.html#zoom=8&lat=54.406&lon=-1.769 for how it normally looks in the UK.

The internal borders actually are present in a very light dashed green, but it's light enough to not be visually a problem.

Comment from kocio on 3 December 2017 at 23:48

Thanks, that's another thing to test...

I will start with using different zoom levels, but most probably there will be more than just one change.

Comment from ke9tv on 4 December 2017 at 04:02

When considering the Adirondack Park, also note that it is quite large - larger in land area than, say, Slovenia or Massachusetts. It's also a private-publc partnership, with only about half the land owned by the state. While IMHO boundary=national_park is entirely appropriate to it, protect_class=2 for the whole thing is not. It contains villages, highways, logging and mining operations, farms, dairies, all of which are very, very tightly regulated by the Adirondack Park Authority. Protect_class=7 is closer, but you tell us that won't be rendered.

The state lands within and adjoining the park have complex boundaries. They have complex protection status, from Wilderness (no motors allowed, no roadbuilding, facilities only for protection, not for visitors' convenience, roughly class 1b) through Primitive Area, Canoe Area, Wild Forest (where snowmobiles are allowed), State Forest (logging by contract), Wildlife Management Area, and various types of recreation area. The crazy quilt of boundaries are there, are signed, and are significant to residents and visitors. It's always going to look untidy. It is untidy on the ground, the result of a great many political compromises.

Even High Peaks Wilderness, taken alone, is bigger than a good many national parks. It's a walk of about 66 km across it, from Lake Placid to Long Lake. (I know. I've had my personal boots literally on that ground.) Suppressing High Peaks Wilderness because it is contained in the Adirondack Park, or suppressing the Adirondack Park because taken as a whole it has too 'weak' a protection status, would astonish the locals.

It's laudable to want to beautify the rendering. Please don't try to alter what's on the ground to make the rendering prettier. I'm at a loss for how to make a complex object http://www.openstreetmap.org/relation/6362702 look good on the map. But it is what it is, and it's quite lovely indeed in the field!

Comment from kocio on 4 December 2017 at 07:47

Please don't try to alter what's on the ground to make the rendering prettier.

I don't even plan to move away from home, let alone change some objects on the next continent...

The state of conservation areas in the world seems to be quite complicated and my ambition is rather to make it sane in general. I don't even have a hope to make it "pretty".

Comment from kocio on 4 December 2017 at 07:54

Protect_class=7 is closer, but you tell us that won't be rendered.

No, I didn't. What made you think like that?

Please read again rendering section. I haven't said that anything would not be rendered, it's rather about rendering priority and testing how would this particular idea work in practice.

Login to leave a comment