[Tagging] How to put a name tag on an area with more than one type?

Ture Pålsson ture at turepalsson.se
Mon Dec 14 18:06:16 UTC 2020


14 dec. 2020 kl. 15:49 skrev Anders Torger <anders at torger.se>:
> 
> Okay, but why does the OSM-Carto renderer, and all other renderers known to man(?) make multiple text labels then, when it should be a single one? Look at the result, it looks horrible. Do you really think this is the way it should be done, also long-term? Also note that the tags do differ, otherwise it would be a single multipolygon, it's both wetland=bog and wetland=marsh.

I have implemented the merge-adjacent-areas scheme in my renderer. I’ll try to get a demo up… :-)

Having said that, as a renderer implementer, I have a slight preference for the relation method. It is s implyeasier to join things on numeric id than to join them by adjacency.

I noticed that you have tagged the ”name” relation as (if I remember correctly)

  type=natural, natural=wetland, name=Rijmmoáhppe

I think it would be good to keep the set of possible values for the ’type’ tag small, so I’d like to propose another level of indirection; something like

  type=named_area, named_area=natural, natural=wetland, name=Peter’s Pot

And having said all *that*, on the subject of adjacent-areas vs. relations, again as a renderer implementer, I very much prefer when there is one way rather than two of doing something. First of all, if there are two ways, I need to write code for both of them. Second, some things invariably end up being tagged with *both* schemes (adjacent areas with name tags *and* a relation) which means that I need to detect that case to eliminate duplicate labels. So if a majority of mappers find relations too hard to use, I think I would vote for the adjacent-areas method, even though using a relation seems ”cleaner”.





More information about the Tagging mailing list