gravitystorm / openstreetmap-carto

A general-purpose OpenStreetMap mapnik style, in CartoCSS
Other
1.53k stars 819 forks source link

Different rendering of protected areas by protect_class #3656

Closed GPSLeo closed 4 years ago

GPSLeo commented 5 years ago

With the change that boundary=protected_area is rendered with nearly every protect_class. A nature reserve looks the same like a biosphere reserve. But they are very different the protection is very strong at one and very low at the other. A solution could be to have a different rendering based on the protect_class like the admin_level changes the line of administrative borders.

A potential classification could be:

my-na-me commented 5 years ago

Thank you for opening this topic, I also would like to see some update-changes of the current styling behavior.

Btw, let me point to the German forum, where this is currently also discussed and you can also find different opinions. eg to remove the rending at all, see forum thread auto translated or original

kocio-pl commented 5 years ago

With the change that boundary=protected_area is rendered with nearly every protect_class.

To be precise, it only includes natural protection, which is like 1/3 of them, close in meaning to nature reserves. We have only one proposition for any other protected lands (aboriginal areas - #3521).

A solution could be to have a different rendering based on the protect_class like the admin_level changes the line of administrative borders.

Nice idea. Since we don't use green lines for admin borders, it can work nice with natural features like these.

1,1a,1b,2,3,4 stay at the current rendering

I had also the idea to add green hatching (similar to the military one) for strict protection in 1a.

jeisenbe commented 5 years ago

add green hatching (similar to the military one) for strict protection in 1a.

That seems like a good idea, if these areas are restricted access, in some sense.

But there seem to be only 125 areas tagged with 1a. Class 1 and 1b are much more common, with 4551 and 1394 uses.

Perhaps class 1, 1a and 1b should have a similar rendering then?

USA Wilderness areas are class 1b, because tourists can easily visit these areas, but you can only travel by foot, horse or unpowered boat. These areas are roadless. Bicycles, motor vehicles and motor boats are prohibited, and no development or logging is allowed.

matkoniecz commented 5 years ago

add green hatching

Maybe it will work, but this kind of styling (encountered on some paper maps and in MAPS.ME) really hurts readability.

jeisenbe commented 5 years ago

That’s a good point.

Perhaps an idea is to use a higher level of opacity for the green semi-transparent fill at low zoom levels for protect_class=1, and extend the fill for a couple of extra zoom levels.

On Tue, Jan 29, 2019 at 6:24 PM Mateusz Konieczny notifications@github.com wrote:

add green hatching

Maybe it will work, but this kind of styling (encountered on some paper maps and in MAPS.ME) really hurts readability.

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/gravitystorm/openstreetmap-carto/issues/3656#issuecomment-458467384, or mute the thread https://github.com/notifications/unsubscribe-auth/AoxshDX8amoFm3DvrQ2eFXJWzNsrGIfjks5vIBNVgaJpZM4aTmeS .

astoff commented 5 years ago

I would like to point out that protect_class=5 requires some special thought. These areas are often huge, and imply fairly lax protection. So they can contain farmland and entire villages or cities. Also, they often appear as buffer zones around national parks and other stricter protected areas.

Some illustrative examples:

In general, I think they are too prominent in the current style. Perhaps they should never be filled. Also, their labels should have lower priority than stricter protected areas, to account for the case of buffer zones.

jeisenbe commented 4 years ago

Should we reconsider rendering all of these classes?

In particular, protect_class=7/97/98/99 are not defined by IUCN, and the descriptions on the wiki page are rather broad.

"7 - nature-feature area: similar to 4 [Habitat/Species Management Area]. but without IUCN-level." - How does one find the IUCN level for a Habitat/Species Management Area?

"97 - protected by continental agreements. They often cover sites already protected by national law." - "98 - protected by interstate- or international conventions" So if they are not protected by national law, are they really protected at all? And if they are protected by national law, couldn't they be tagged with a more specific class?

"99" - "other continental or international." - that's not definition at all. I don't think we should render these.

Now for the less protected classes: 5 and 6:

protect_class=5 - "Protected Landscape/ Seascape: ... area where the interaction of people and nature over time has produced an area of distinct character with significant, ecological, biological, cultural and scenic value: ..." - "Landscape protection, Naturparks like "Lüneburger Heide", Harz"

That does not sound like a national park or nature reserve in character. From what I've seen, large areas of rural land in Europe are tagged with this, but they are certainly not very natural areas: they can be mostly vineyards, orchards, farmland.

protect_class=6 - "Protected area with sustainable use of natural resources: ... conserve ecosystems and habitats together with associated cultural values and traditional natural resource management systems. They are generally large, with most of the area in a natural condition, where a proportion is under sustainable natural resource management and where low-level non-industrial use of natural resources compatible with nature conservation is seen as one of the main aims of the area."

This is how National Forests are tagged in the USA - those areas are owned by the government. In the past they were managed to maximize harvest of timber. Now they are more focused on conservation, but forestry is still a major goal, and clear-cuts are planned every year. I think these should not be rendered the same as national parks, wilderness areas, and nature reserves.

jeisenbe commented 4 years ago

Also see previous comments about not rendering protect_class=2 - https://github.com/gravitystorm/openstreetmap-carto/pull/3509/files#r240016866

"I think it is not desirable to render boundary=protected_area + protect_class=2. As I understand https://wiki.openstreetmap.org/wiki/Tag:boundary%3Dprotected_area#Nature-protected-area such objects should be always tagged rather as boundary=national_park." - This was a "request changes" comment, so the PR really should not have been merged without addressing it.

Also, protect_class=24 is a mostly a synonym for the approved tag boundary=aboriginal_lands, so we might want to consider dropping that and only rendering the later tag, which has the benefit of being human-readable and more specific.

pnorman commented 4 years ago

"I think it is not desirable to render boundary=protected_area + protect_class=2. As I understand https://wiki.openstreetmap.org/wiki/Tag:boundary%3Dprotected_area#Nature-protected-area such objects should be always tagged rather as boundary=national_park." - This was a "request changes" comment, so the PR really should not have been merged without addressing it.

Also, protect_class=24 is a mostly a synonym for the approved tag boundary=aboriginal_lands, so we might want to consider dropping that and only rendering the later tag, which has the benefit of being human-readable and more specific.

I agree, and we can use this issue to discuss changing protected_area + protect_class in general.

I would like to point out that protect_class=5 requires some special thought. These areas are often huge, and imply fairly lax protection. So they can contain farmland and entire villages or cities. Also, they often appear as buffer zones around national parks and other stricter protected areas.

It sounds like we shouldn't be rendering those.

jeisenbe commented 4 years ago

It sounds like we shouldn't be rendering those [class=5]

What about protect_class=6, e.g. State Forests, National Forests and similar areas managed for forestry, grazing, etc?

jeisenbe commented 4 years ago

Potential differentiated rendering:

For all, switch color to hue 70 approximately (yellower green) as suggested previously. Increase opacity of the outline (to reduce the confusing color mixing), but use a less saturated, slightly lighter color to compensate.

1, 1a, 1b - wilderness / strict nature reserves: render with a slight stronger, wider line at high zoom levels (z14 or z15 and above). But only start at z9 or z10 since these areas are usually not as large as national parks .

2 - Drop rendering for protect_class=2, only render boundary=national_park. Render this from z8 (same as current) with the current line.

3/4 and leisure=nature_reserve: Start to render from z10 only, use a thinner line than currently, potentially try a dash-dot pattern at >z14 or z15 only.

5/6 - Either stop rendering, or render with a thinner line and a dash/dot pattern. These are often large so should probably still be z8 or z9.

24 - Consider dropping rendering in favor of approved, more common tag boundary=aboriginal_lands - adjust the color a bit to use less transparency. Use same line width and strength as leisure=nature_reserve or boundary=national_park, but consider dot-dash pattern similar to admin boundaries at >z14

7, 97, 98, 99 - stop rendering. These should get more specific tagging.

kennykb commented 4 years ago

On Sat, Apr 4, 2020 at 10:14 PM Paul Norman notifications@github.com wrote:

"I think it is not desirable to render boundary=protected_area + protect_class=2. As I understand https://wiki.openstreetmap.org/wiki/Tag:boundary%3Dprotected_area#Nature-protected-area such objects should be always tagged rather as boundary=national_park." - This was a "request changes" comment, so the PR really should not have been merged without addressing it.

Also, protect_class=24 is a mostly a synonym for the approved tag boundary=aboriginal_lands, so we might want to consider dropping that and only rendering the later tag, which has the benefit of being human-readable and more specific.

I agree, and we can use this issue to discuss changing protected_area + protect_class in general.

Can we use https://wiki.openstreetmap.org/wiki/Proposal:_Named_protection_class_for_protected_areas as a framework for discussion? It summarizes a lot of current tagging practice. I let it lie primarily out of exhaustion - the discussion was getting nowhere, and I thought it best to let people calm down.

One key take-away from the study that lead up to that page is that many of the numbered classes in the Wiki, particularly the ones with incomprehensible descriptions obviously written by a non-native speaker of English, are also vanishingly rare in tagging practice, so it's probably simply not worth discussing them.

I would like to point out that protect_class=5 requires some special thought. These areas are often huge, and imply fairly lax protection. So they can contain farmland and entire villages or cities. Also, they often appear as buffer zones around national parks and other stricter protected areas.

It sounds like we shouldn't be rendering those.

I've used protect_class=5 for smaller, focused areas that are open to public recreation but were created primarily to protect a viewshed. That said, I've also overtagged these as 'leisure=nature_reserve' and would also be happy to retain that tag or switch the protection class to something more appropriate if it can be identified (3 might work). Nevertheless, I'm familiar with the sort of buffer zones that you mention. They are, uhm, somewhat controversial: https://www.flickr.com/photos/66934423@N00/10605220/

Also, in many locales (US and UK included), 'national parks' frequently have private inholdings where people own or lease land, live, and ply their trades, but with strict regulation of the land use. The outer boundaries of these national parks almost certainly should be rendered (particularly since they are very often marked on the ground - e.g., https://www.nyroute8.com/townpics/ny8_ohio_adksign.jpg; https://commons.wikimedia.org/wiki/File:Catskill_Park_sign.jpg). IUCN even envisions that a large area of one protection category will embed smaller areas of a different category: a national park, say, may embed wilderness areas, areas of sustainable forestry, species protection areas and natural monuments. A Welshman would be surprised if the outer boundary of the Snowdonia National Park were to disappear; likewise, a Scot would be astonished if the Cairngoms National Park failed to render. Both of these are exactly parallel to the US situation of inholdings in 'national parks'

There are a number of places near me where farmers or foresters have sold their development rights to the state, or enjoy a break on their property taxes by abstaining from development for a term of years. (Indeed, my brother claims a conservation exemption on some of his land.) While IUCN would consider those parcels to be protected areas, I don't map those except in certain very specific circumstances where the negotiated agreement grants public access. Thus, my brother's farm has no protected_area tagging, but I would possibly map https://www.dec.ny.gov/lands/49562.html (I've not got around to it yet). Even with the Speculator and Perkins Clearing tracts, given that public access is limited to designated roads, parking areas, trails and campsites, I might confine myself to mapping just those and leaving off the protected_area tagging.

-- 73 de ke9tv/2, Kevin

jeisenbe commented 4 years ago

I've been working on this, but a problem with using line-offset, as in the current rendering, is that it over-emphasizes the places where 2 protected areas are adjacent. This situation is very common in North America, where you might even find 2 features with the same category (Wilderness, National Park etc) sharing a border line.

Problems: overlapping-borders-zoomed

overlapping-borders

So instead, I think I have to mess around with line-offsets less than half the line-width for the wider line, to preven the wide line from doubling. Then we would use minimal or no offset for the narrow line, so that only one is rendered at time.

This will still give a hint about what is the inside of the feature, but it won't be as strong, and the shared boundary ways will only be a little wider.

It would look best to use no line-offset, like with admin boundaries, but I believe it was considered important to be able to see what part of the line represents the inside of the protected area at all times.