Closed ech-an closed 5 months ago
Thanks for the suggestion.
Currently 3149 of 47176 natural=reef
features have a name tag, 1297 of those are nodes.
Not all of these feature actual names of the reefs though - in particular there are quite a few which carry the names of Atolls/Islands the reefs are part of or surrounding. Like:
https://www.openstreetmap.org/relation/3975771 https://www.openstreetmap.org/relation/10758958
So far none of the examples shown seems to be a valid case of a named natural=reef
:
natural=reef
in OSM is by broad consensus only for features permanently under water, independent of how they are named.place=archipelago
- see #3394)That does not mean there are no natural=reef
features with a name suitable for us to render. But we need to carefully evaluate if name tagging of those is really on a level of consistency with the use of natural=reef
in general that makes it suitable for us to render.
Based on what i can see so far i would in particular like to see us rendering place=archipelago
(#3394) (in a proper way that is not based on ST_PointOnSurface()) before rendering names of natural=reef
to avoid incentivizing mappers to tag names of atolls onnatural=reef
.
I disagree that those examples are invalid, except for the third which I only included to show a reef next to a different named natural
feature, but I don't think that any specific example is really relevant so I won't argue.
My main reasoning for natural=reef
names being rendered is that other natural
areas are rendered with names, and it doesn't make sense for reef
s to be excluded. Many names on other natural
areas are accurate and valid, but many others are not. For example, Ochil Hills (https://www.openstreetmap.org/way/815391929), where the name in reality applies to the hills, but on the map applies to the natural=heath
area.
Not rendering names on reef
s also results in mistagging, because they will get tagged with things like place=islet
in order for the name to render. For example, Retarrier Ledges (https://www.openstreetmap.org/relation/12005439).
Rendering names on reef
s would also make it more obvious when a name is incorrectly applied.
Considering that there have been no updates to the place=archipelago
issue for over 4 years, requiring that to be complete before considering this simple change is unfair.
For better understanding: We generally do not consider past decisions in the style authoritative. Our understanding of the map and its influence on mapping practice develop over time - as does actual mapping practice. We try to learn from that and adjust our decisions accordingly. Design of the map needs to maintain visual consistency of course, but the argument that because you are rendering A you also have to render B is not something we tend to subscribe to (not to mention that it also works the other way - we don't render B so we should also stop rendering A).
My comments are not meant to express that i am against rendering name labels for natural=reef
, they explain my observations so far in that regard. I have not yet formed a conclusive opinion on the matter. But we render name labels for quite a lot of features where the name tag does not widely contain a proper name belonging to the feature in question (for example #4210) so the responsible approach is to have a careful look at labeling decisions.
My recommendation to developers who consider working on this: Look at implementing rendering of place=archipelago
(#3394) first.
I vaguely remembered that we at one time had reef labels rendered - and indeed - this was removed unintentionally and without discussion in #3712, we still have the mss code for this:
So this is actually a regression and a change made without consensus. That does not change the analysis i provided above - but it puts this into a different context (i.e. that we had consensus to add this back in 2015 - see #1990).
As someone who knows the area, Black Middens is quite correctly tagged as a reef.
Reefs can be in the inter-tidal zone. The wiki has the helpful caveat "However note that small parts of reefs may be exposed at low tide, but not the entire feature. Reefs are never exposed at high tide.", i.e. a reef is essentially a upwards rock feature, distinguishing it from flatter features, natural = shoal
or natural=bare_rock
.
Given that we map the oceans at high water, the current tagging seems perfectly good.
On the other hand, isn't Tice's Shoal is more likely to a .... shoal?
No tagging discussion here please. This issue is about rendering name labels on natural=reef
, not about rendering natural=reef
in principle (which is undisputed).
What we are rendering natural=reef
as and what has been the dominant use of the tag globally since we started rendering it is for shallow seabed areas permanently under water. If or not this is complying with what is written on the wiki about natural=reef
or if it complies with the understanding of some English speaking parts of the world of what a reef is only is of little concern for us.
My view on this issue is that since the removal of label rendering of these was unintentional and undiscussed i would support re-introducing that to the previous state. A re-evaluation if the name tag is consistently used on natural=reef
would still be in order independent of that. And introducing labels for place=archipelago
would definitely be helpful to avoid abuse of names on natural=reef
for those.
Please do not forget that - as i pointed out - the fraction of natural=reef
features with a name tag is relatively small - especially also compared to the fraction that provide a reef=*
tag detailing the nature of the reef more precisely (12k vs. 1.9k for polygon features). So even if it is important for you that a certain reef is labeled with its proper name (which is quite understandable) it is quite evident that the majority of mappers mapping these put more emphasis on physical characteristics. We need to avoid adjusting our design to the few prominent rock star features of a certain class at the expense of the long tail of less prominent but equally important work of mappers.
For most
natural
areas that are currently rendered, when they have a name, the name is rendered. However, this isn't the case fornatural=reef
areas. It would make sense for their name to be rendered, to be more consistent with othernatural
areas.Examples of named reefs: Black Middens, z19 (https://www.openstreetmap.org/way/723976781)![image](https://github.com/gravitystorm/openstreetmap-carto/assets/105945652/3236421b-7afb-41a6-8739-5e327dbe316e)
Bikini Atoll, z12 (https://www.openstreetmap.org/relation/3973841)![image](https://github.com/gravitystorm/openstreetmap-carto/assets/105945652/f799f41f-c380-4ff2-9045-93419f0d61ac)
Tices Shoal, z16 (https://www.openstreetmap.org/way/601883648), next to Island Beach, a named![image](https://github.com/gravitystorm/openstreetmap-carto/assets/105945652/90641be2-c361-4c1a-84eb-f101bf271b64)
natural=beach
area where the name is rendered (https://www.openstreetmap.org/relation/10948497)