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

Add natural=peninsula labels #4778

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

quincylvania
Copy link

Fixes #3897. natural=peninsula was approved in 2019 and has grown in usage since then. The tag is used for various large landmasses that often appear on maps. For example: the Arabian, Kamchatka, Delmarva, Jutland, and Tiburon Peninsulas. I this we can just apply the styling for place=island given their similarities as landforms surrounded by water.

I didn't yet spin up a development instance of this project for testing, but I can try to do so later.

@imagico
Copy link
Collaborator

imagico commented Feb 21, 2023

Thanks for the pull request.

natural=peninsula has 1791 uses, about 2/3 of these are on nodes.

This change would render them the same way we had rendered natural=bay from 2018 (#3144) to 2022 (#3750) which led to a massive incentive for mappers to draw non-verifiable and hard to maintain labeling polygons for those (see #4546).

So lets not make the same mistake twice.

I would be fine with rendering natural=peninsula like place=locality and this way support mappers in using the more specific tag, possibly even one or two zoom levels earlier (but that would need to be tested in low latitude areas with many small peninsulas). This is also what #3897 suggests.

@quincylvania
Copy link
Author

I would be fine with rendering natural=peninsula like place=locality and this way support mappers in using the more specific tag, possibly even one or two zoom levels earlier

Okay, this sounds fine. I'd just like to see these supported in whatever way makes the most sense.

Copy link
Collaborator

@imagico imagico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Design wise this is fine - but we don't want to select the starting zoom level based on way_area due to the bad experience with that in the past with other features. If you have the time i would encourage you to test if starting peninsula labels at z15 or even z14 would work - we start bays at z14, though of course bays are on water so their labels are less likely to conflict with other labels.

In the long terms we could - both for peninsulas and for bays - consider using data preprocessing for meaningful importance rating and label placement independent of how the features are mapped. See past discussion in #3634 and also #3720. Since this would be a somewhat more substantial project unlikely to be completed by volunteers and not tied specifically to OSM-Carto it would be a good candidate for anyone looking into sponsoring meaningful work in support of better quality in OSM community maps.

@@ -1627,6 +1627,8 @@
text-halo-fill: @standard-halo-fill;
}

[feature = 'natural_peninsula'][zoom >= 10][way_pixels > 3000],
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still selects the starting zoom level based on polygon area without providing feedback on the polygon geometry. Based on past experience with natural=bay this would incentivize drawing labeling polygons and we do not want to do that.

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 this pull request may close these issues.

Render natural=peninsula text label
2 participants