It seems like this rule has not been followed well in mapping of many cities in Israel. For example, Haifa was mapped as place=city by relation 1387888 and by node 1656107649
Specifically for places, I’ve mentioned similar concerns here.
There are worldwide differences in place tagging. I’ve tried summarizing the major different ways to tag places in this wiki draft (I’d appreciate if you review it) but I got busy and it’s currently an incomplete draft.
Although conflicting with the rule above, it is unfortunately common in some places to use a place label/admin_centre node and also a place relation.
However, the practice of tagging an area and a node with the same place is quite rare and yet used in Israel. This causes many problems such as double-name rendering in osm.org.
When the border of a place (hamlet, vilage, city) is mapped as an area, using either a closed way or a multypolygon, the “place” tag should be put on this area without duplicating it in a node.
How you can “link” place border and place node?
At present time its are linked together by equal name and place tag values.
For multipolygon border only inner and outer members allowed by wiki. Some people add label role and include node to multypolygon.
For example in Belarus almost all hamket/village/city mapped that way. But it is not described in wiki and JOSM validator generate a message.
What is the purpose of having a place node when the place has a border/area?
I’m sure no one likes seeing duplicate labels…
This is exactly what the “One feature, one OSM element” best practice is trying to avoid.
From a mapping perspective, the geographic location of the place is defined precisely by the border/area.
I think there’s a slight misunderstanding. I believe Wowik and I are both talking about:
node with a place tag
relation with a place tag
The node is a label or admin_centre of the relation
If it’s an adminstrative boundary relation, then the relation also has the boundary member ways.
If there is no adminstrative boundary, then the relation is multi-polygon with a single untagged outer way.
This scheme conflicts with “one element, one tag” and yet is a common solution to the place mess worldwide. It does not render twice nor does it show in Nominatim twice. Double-rendering and double results only occurs because we have a place node + landuse=residential area with the same name.
See this for the multipolygon style, when there is no admin boundary.
Note that a “place” tag is not present for the relation in this case, and that’s because I tagged this and I prefer not having double-places and this works for the admin boundary variation, but I don’t think it works for multipolygon variation. But some people do add the “place” tag for either variation (e.g. your Haifa example).
Deciding where the label will show, simplifying some data consumers. I think Carto does not even render place areas, making this essential.
It seems no programs treat those as a single place, and they are not linked internally. Thus the double rendering and double Nominatim/Osmand search results.
It appears people duplicate because only place nodes render and place areas or relations do not. The following Carto change may end this habit, if I’m understanding the pull request correctly: https://github.com/gravitystorm/openstreetmap-carto/pull/2939