Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust protection_title tag in park layer #1296

Open
TomPohys opened this issue Nov 9, 2021 · 4 comments · May be fixed by #1491
Open

Adjust protection_title tag in park layer #1296

TomPohys opened this issue Nov 9, 2021 · 4 comments · May be fixed by #1491

Comments

@TomPohys
Copy link
Member

TomPohys commented Nov 9, 2021

With PR #773 was added a lot of parks. The main issue is that there are now 2264 classes filled with protection_title value

LOWER(REPLACE(NULLIF(protection_title, ''), ' ', '_')),

Then there are polygons in ocean e.g. with class

  • área_marinha_protegida_para_a_gestão_de_habitats_ou_espécies
  • área_marinha_protegida_para_a_gestão_de_recursos
  • natura2000
  • natura_2000-gebied
  • ...

image

there should introduce some filters for parks for example

More suggestions are welcome.

@ZeLonewolf
Copy link
Contributor

ZeLonewolf commented Nov 13, 2021

Thanks for bringing this up! Parks and protected areas is something I think about a lot in OSM.

I would oppose using protect_class for any sort of primary class logic. The numeric classes are poorly defined ("loosely based on IUCN categories") and for the stranger (and rarely-used numbers), completely made up. There are only a rare handful of exceptions for objects tagged boundary=protected_area where you wouldn't want to treat them as any other nature reserve for styling. I think that openstreetmap-carto makes a mistake in limiting protected area rendering to specific protect_class values.

The class value should ultimately be linked to some rationale for styling. The only categories I think that renderers really care about for styling differences are national parks, nature reserves (protected areas), indigenous lands, ordinary parks, and recreation grounds. I would favor something vastly simpler, like this:

class=national_park

  • boundary=national_park

class=protected_area

  • Any boundary=protected_area
  • Any leisure=nature_reserve

class=aboriginal_lands

  • Any boundary=aboriginal_lands

class=park

  • Any leisure=park
  • Any landuse=village_green

class=recreation

  • Any landuse=recreation_ground

As part of this reshuffle, I would remove leisure=park, landuse=village_green, and landuse=recreation_ground from the landcover layer, because these features are properly parks, and not landcover.

I think protection_title is not really useful for rendering and can probably be dropped. If we wish to keep it, it makes the most sense as a text field rather than a lower-cased enumeration.

@clementmas
Copy link

I noticed an issue with the classes of all the French national parks. They show up as "cœur" or "aire_d’adhésion" instead of "national_park".

openmaptiles-french-national-park-classes

Screenshot taken from: https://onthegomap.github.io/planetiler-demo/#6.1/45.297/4.945
Data is the same on: https://cloud.maptiler.com/tiles/v3-openmaptiles

OSM properties:

I think that's related to this issue. Otherwise, I can open a new one.

So right now, these national parks can not be displayed in any map styles. Do you know how to fix this?

@ZeLonewolf
Copy link
Contributor

Is there interest in reducing the number of class values in the park layer to something sane? I'd be happy to take a crack at that.

@TomPohys
Copy link
Member Author

It would be great to clean up park layer. Thanks!

@ZeLonewolf ZeLonewolf linked a pull request Feb 7, 2023 that will close this issue
TomPohys pushed a commit that referenced this issue Apr 4, 2023
This PR adds support for `boundary=aboriginal_lands` by adding it to the `park` layer. While these lands are certainly not "parks", they have similar treatment from a technology perspective and can benefit from the existing processing chain established in that layer. I set all of these objects to `class=aboriginal_lands` in the tiles, including at the lowest zoom in order to separate it from the protected area merging implemented in #1160. In order to distinguish these from general parks, I expose the `class` attribute for these objects at z4 and also ensure that the z4 generalization is performed separately for protected areas versus aboriginal lands.

This unblocks #ZeLonewolf/openstreetmap-americana#105, which describes why having indigenous land boundaries is an important general feature on the map. This is also consistent with my suggested implementation in #1296 (comment).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants