To name or not to name ...
Posted by SimonPoole on 5 September 2021 in English. Last updated on 17 December 2021.As a rule of thumb, the primary name would be the most obvious name of the feature, the one that end users expect data consumers to expose in a label or other interface element.
From the OSM wiki Key:name
I’m currently tidying up a couple of loose ends in preparation for the release of version 16 of Vespucci. One of those dangling bits was supporting the new format of the name-suggestion-index (NSI).
The NSI was conceived back in 2013 by Aaron Lidman as a list of canonical name spellings for chains of stores, restaurants and other similar facilities, most notably for use in iD. Vespucci has supported use of the NSI nearly since day one, see a diary post from 2014 (this works quite differently in current Vespucci versions). Since then it has morphed to a, supposedly, authoritative source of tagging for a very wide range of objects. Some would say that the current version has expanded its reach far beyond what is actually useful (flagpoles ffs), but that is not the topic of this post.
Prior to the release of iD 2.20 the NSI had been in a long period of stasis with updates being made to the data, but these were not actually being deployed and given the larger format changes I had all but forgotten about it and the data in Vespucci was really old. However over the last couple of months some colleagues pointed out some weird behavior in Vespucci and iD when using NSI generated presets for tagging. In particular name tags are being added to things like excrement bag dispensers and automated postal package depots.
Now which objects to add a name tag to has a slightly controversial history in OSM, and this conflict predates the NSI. Particularly when tagging facilities (shops, restaurants etc) belonging to chains it can be argued that they shouldn’t have individual names and the brand tag should suffice. On the other hand I don’t think larger parts of the community are actually uncomfortable with adding a name tag to a McDonald’s and I would speculate that this is what in common usage would be considered its name.
However I believe there are numerous things that are commonly not named and that should generally not have name tags automatically added, particularly when they are the same as the brand. Examples would be ATMs, vending machines and similar small mechanical facilities. To determine the scope of the issue I ran a quick analysis on the current NSI contents and this is what came out:
Tag | Entries | Entries with name |
Entries with name=brand |
---|---|---|---|
amenity=animal_boarding | 2 | 2 | 2 |
amenity=animal_shelter | 2 | 2 | 1 |
amenity=atm | 905 | 896 | 883 |
amenity=bank | 899 | 891 | 878 |
amenity=bar | 4 | 4 | 3 |
amenity=bicycle_parking | 2 | 2 | 1 |
amenity=bicycle_rental | 316 | 65 | 65 |
amenity=bureau_de_change | 10 | 10 | 10 |
amenity=cafe | 195 | 195 | 189 |
amenity=car_rental | 17 | 17 | 17 |
amenity=car_sharing | 67 | 0 | 0 |
amenity=car_wash | 21 | 21 | 18 |
amenity=casino | 3 | 3 | 3 |
amenity=charging_station | 338 | 26 | 25 |
amenity=childcare | 10 | 10 | 9 |
amenity=cinema | 66 | 66 | 63 |
amenity=clinic | 110 | 17 | 0 |
amenity=college | 2 | 2 | 2 |
amenity=dentist | 16 | 16 | 15 |
amenity=doctors | 4 | 4 | 3 |
amenity=drinking_water | 86 | 1 | 0 |
amenity=fast_food | 470 | 468 | 458 |
amenity=ferry_terminal | 34 | 1 | 0 |
amenity=fire_station | 298 | 0 | 0 |
amenity=fuel | 453 | 453 | 441 |
amenity=gambling | 1 | 1 | 1 |
amenity=hospital | 174 | 8 | 0 |
amenity=ice_cream | 43 | 43 | 42 |
amenity=internet_cafe | 8 | 8 | 8 |
amenity=karaoke_box | 7 | 7 | 7 |
amenity=kindergarten | 14 | 14 | 14 |
amenity=language_school | 15 | 15 | 15 |
amenity=money_transfer | 7 | 7 | 7 |
amenity=motorcycle_rental | 1 | 1 | 1 |
amenity=music_school | 1 | 1 | 1 |
amenity=parking | 43 | 20 | 18 |
amenity=payment_centre | 4 | 4 | 4 |
amenity=payment_terminal | 8 | 8 | 7 |
amenity=pharmacy | 269 | 267 | 262 |
amenity=police | 221 | 0 | 0 |
amenity=post_box | 141 | 0 | 0 |
amenity=post_depot | 10 | 7 | 0 |
amenity=post_office | 141 | 0 | 0 |
amenity=prep_school | 10 | 10 | 10 |
amenity=pub | 35 | 24 | 24 |
amenity=public_bookcase | 1 | 1 | 1 |
amenity=recycling | 16 | 16 | 14 |
amenity=restaurant | 364 | 357 | 349 |
amenity=school | 10 | 6 | 5 |
amenity=social_centre | 9 | 9 | 1 |
amenity=social_facility | 21 | 17 | 16 |
amenity=university | 3 | 3 | 3 |
amenity=vehicle_inspection | 18 | 18 | 18 |
amenity=vending_machine | 73 | 73 | 67 |
amenity=veterinary | 6 | 6 | 4 |
craft=bakery | 1 | 1 | 1 |
craft=carpenter | 1 | 1 | 1 |
craft=cleaning | 3 | 3 | 3 |
craft=electronics_repair | 6 | 6 | 6 |
craft=plumber | 4 | 4 | 4 |
craft=signmaker | 2 | 2 | 2 |
craft=window_construction | 1 | 1 | 1 |
emergency=ambulance_station | 57 | 0 | 0 |
emergency=lifeboat_station | 9 | 0 | 0 |
emergency=phone | 72 | 0 | 0 |
healthcare=audiologist | 1 | 1 | 1 |
healthcare=blood_donation | 7 | 7 | 7 |
healthcare=counselling | 2 | 2 | 2 |
healthcare=laboratory | 37 | 37 | 35 |
healthcare=optometrist | 2 | 2 | 2 |
healthcare=pharmacy | 1 | 1 | 1 |
healthcare=physiotherapist | 1 | 1 | 1 |
healthcare=sample_collection | 4 | 4 | 4 |
highway=bus_stop | 1654 | 0 | 0 |
landuse=residential | 1 | 1 | 1 |
leisure=adult_gaming_centre | 6 | 6 | 6 |
leisure=amusement_arcade | 5 | 5 | 5 |
leisure=bowling_alley | 5 | 5 | 5 |
leisure=dog_park | 1 | 1 | 0 |
leisure=escape_game | 1 | 1 | 1 |
leisure=fitness_centre | 62 | 62 | 61 |
leisure=indoor_play | 3 | 3 | 3 |
leisure=playground | 2 | 2 | 1 |
leisure=sports_centre | 9 | 8 | 7 |
leisure=trampoline_park | 1 | 1 | 1 |
man_made=flagpole | 360 | 0 | 0 |
office=bail_bond_agent | 1 | 1 | 1 |
office=consulting | 6 | 6 | 6 |
office=coworking | 9 | 9 | 9 |
office=employment_agency | 15 | 15 | 15 |
office=energy_supplier | 8 | 8 | 8 |
office=estate_agent | 81 | 81 | 80 |
office=financial | 5 | 5 | 4 |
office=financial_advisor | 4 | 4 | 4 |
office=insurance | 110 | 110 | 108 |
office=moving_company | 2 | 2 | 2 |
office=security | 1 | 1 | 1 |
office=tax_advisor | 5 | 5 | 5 |
office=telecommunication | 15 | 15 | 15 |
power=generator | 617 | 0 | 0 |
power=line | 521 | 0 | 0 |
power=minor_line | 523 | 0 | 0 |
power=plant | 146 | 0 | 0 |
power=substation | 807 | 0 | 0 |
power=transformer | 807 | 0 | 0 |
route=aerialway | 1 | 0 | 0 |
route=bus | 1654 | 0 | 0 |
route=ferry | 34 | 1 | 0 |
route=light_rail | 27 | 0 | 0 |
route=power | 71 | 0 | 0 |
route=subway | 91 | 0 | 0 |
route=train | 203 | 0 | 0 |
route=tram | 88 | 0 | 0 |
route=trolleybus | 53 | 0 | 0 |
route=walking_bus | 1 | 0 | 0 |
shop=agrarian | 5 | 5 | 3 |
shop=alcohol | 57 | 57 | 56 |
shop=anime | 6 | 6 | 6 |
shop=art | 2 | 2 | 2 |
shop=baby_goods | 13 | 13 | 13 |
shop=bag | 10 | 10 | 10 |
shop=bakery | 149 | 148 | 146 |
shop=beauty | 27 | 27 | 25 |
shop=bed | 21 | 21 | 20 |
shop=beverages | 19 | 19 | 19 |
shop=bicycle | 15 | 15 | 15 |
shop=boat | 1 | 1 | 1 |
shop=bookmaker | 16 | 16 | 16 |
shop=books | 87 | 87 | 85 |
shop=butcher | 13 | 13 | 12 |
shop=camera | 3 | 3 | 3 |
shop=candles | 1 | 1 | 1 |
shop=car | 70 | 70 | 70 |
shop=car_parts | 31 | 30 | 30 |
shop=car_repair | 87 | 87 | 86 |
shop=carpet | 3 | 3 | 3 |
shop=catalogue | 1 | 1 | 1 |
shop=charity | 38 | 38 | 36 |
shop=chemist | 40 | 40 | 40 |
shop=chocolate | 12 | 12 | 12 |
shop=clothes | 597 | 595 | 589 |
shop=coffee | 3 | 3 | 3 |
shop=computer | 12 | 12 | 12 |
shop=confectionery | 30 | 30 | 27 |
shop=convenience | 361 | 359 | 348 |
shop=copyshop | 8 | 8 | 8 |
shop=cosmetics | 38 | 38 | 38 |
shop=country_store | 15 | 15 | 15 |
shop=craft | 8 | 8 | 8 |
shop=curtain | 1 | 1 | 1 |
shop=dairy | 3 | 3 | 2 |
shop=deli | 8 | 8 | 8 |
shop=department_store | 93 | 91 | 88 |
shop=doityourself | 85 | 84 | 81 |
shop=doors | 2 | 2 | 2 |
shop=dry_cleaning | 14 | 14 | 14 |
shop=e-cigarette | 9 | 9 | 9 |
shop=electrical | 4 | 4 | 4 |
shop=electronics | 98 | 97 | 96 |
shop=erotic | 5 | 5 | 5 |
shop=fabric | 5 | 5 | 5 |
shop=fashion_accessories | 11 | 11 | 10 |
shop=fishing | 2 | 2 | 2 |
shop=flooring | 2 | 2 | 2 |
shop=florist | 9 | 9 | 9 |
shop=frame | 1 | 1 | 1 |
shop=frozen_food | 6 | 6 | 6 |
shop=funeral_directors | 11 | 11 | 11 |
shop=furniture | 107 | 104 | 103 |
shop=games | 1 | 1 | 1 |
shop=garden_centre | 20 | 18 | 16 |
shop=gas | 3 | 3 | 3 |
shop=general | 1 | 0 | 0 |
shop=gift | 20 | 20 | 19 |
shop=greengrocer | 4 | 4 | 4 |
shop=hairdresser | 56 | 56 | 54 |
shop=hairdresser_supply | 5 | 5 | 5 |
shop=hardware | 20 | 19 | 19 |
shop=health_food | 6 | 6 | 6 |
shop=hearing_aids | 14 | 14 | 13 |
shop=herbalist | 1 | 1 | 1 |
shop=hifi | 6 | 6 | 6 |
shop=household_linen | 4 | 4 | 4 |
shop=houseware | 41 | 41 | 41 |
shop=interior_decoration | 14 | 14 | 14 |
shop=jewelry | 70 | 70 | 70 |
shop=kiosk | 13 | 13 | 13 |
shop=kitchen | 17 | 17 | 17 |
shop=laundry | 5 | 5 | 5 |
shop=leather | 4 | 4 | 4 |
shop=locksmith | 3 | 3 | 3 |
shop=lottery | 10 | 10 | 10 |
shop=mall | 9 | 9 | 9 |
shop=massage | 6 | 6 | 6 |
shop=medical_supply | 5 | 5 | 4 |
shop=mobile_phone | 95 | 93 | 88 |
shop=money_lender | 19 | 18 | 18 |
shop=motorcycle | 14 | 10 | 10 |
shop=motorcycle_repair | 3 | 3 | 3 |
shop=music | 5 | 5 | 5 |
shop=musical_instrument | 4 | 4 | 4 |
shop=newsagent | 24 | 24 | 23 |
shop=nutrition_supplements | 5 | 5 | 5 |
shop=optician | 70 | 70 | 68 |
shop=outdoor | 27 | 27 | 26 |
shop=outpost | 2 | 2 | 2 |
shop=paint | 9 | 8 | 8 |
shop=party | 1 | 1 | 1 |
shop=pastry | 7 | 7 | 7 |
shop=pawnbroker | 19 | 19 | 18 |
shop=perfumery | 16 | 16 | 16 |
shop=pet | 42 | 42 | 42 |
shop=photo | 9 | 9 | 9 |
shop=pottery | 1 | 1 | 1 |
shop=printer_ink | 1 | 1 | 1 |
shop=pyrotechnics | 1 | 1 | 1 |
shop=rental | 5 | 5 | 5 |
shop=repair | 2 | 2 | 2 |
shop=seafood | 2 | 2 | 2 |
shop=second_hand | 9 | 8 | 8 |
shop=shoes | 145 | 145 | 142 |
shop=spices | 1 | 1 | 1 |
shop=sports | 52 | 52 | 52 |
shop=stationery | 18 | 18 | 17 |
shop=storage_rental | 14 | 14 | 13 |
shop=supermarket | 676 | 671 | 649 |
shop=swimming_pool | 1 | 1 | 1 |
shop=tailor | 1 | 1 | 1 |
shop=tea | 6 | 6 | 6 |
shop=telecommunication | 23 | 23 | 20 |
shop=ticket | 6 | 6 | 6 |
shop=tiles | 3 | 3 | 3 |
shop=tobacco | 4 | 4 | 4 |
shop=tool_hire | 5 | 5 | 5 |
shop=toys | 34 | 34 | 33 |
shop=trade | 20 | 15 | 14 |
shop=travel_agency | 36 | 36 | 36 |
shop=tyres | 29 | 29 | 27 |
shop=vacuum_cleaner | 2 | 2 | 2 |
shop=variety_store | 63 | 63 | 62 |
shop=video | 4 | 4 | 3 |
shop=video_games | 7 | 7 | 7 |
shop=watches | 8 | 8 | 8 |
shop=wholesale | 10 | 10 | 9 |
shop=wine | 2 | 2 | 2 |
tourism=caravan_site | 7 | 7 | 2 |
tourism=hotel | 127 | 125 | 118 |
tourism=motel | 8 | 8 | 8 |
TOTALS | 18568 | 8853 | 8594 |
While there are a couple of weird entries, landuse=residential?, that warrant closer inspection, most seem to be inline with with current tagging practice. The exceptions would seem to be the already mentioned ATMs and vending machines, and then for example payment terminals, charging stations, bicycle parking and so on, that commonly shouldn’t have names. Note that the total is one less than the current number of entries in the NSI for reasons that could justify their own post.
But my take on this might just be too strongly influenced by my mainly Western European cultural background and I would be interested in hearing thoughts from all on this matter.
PS: Vespucci 16 programmatically removes some of the name tags before use, but obviously it would be better to have the source data reflect actual best practice.
Discussion
Comment from gileri on 5 September 2021 at 13:43
Thank you for your analysis !
I see that you suggest, with the fast-food example, to use the brand name as the name=*. Wouldn’t the name used in the chain’s website, bills, internal and communication be better suited ?
I’m of the opinion (and the Osmose QA project) that names should be in most part unique. Outside OSM, that’s precisely the goal of most names : to differentiate things/persons.
Comment from imagico on 5 September 2021 at 13:58
Well - evidently OSM-Carto has a huge part in encouraging (ab)use of the name tag as a generic label tag by labeling the tagged name (any in many cases only the tagged name) on almost everything no matter if it is common for the type of feature to have a name in the strict sense.
But at least for amenity=atm OSM-Carto is not at fault (because it has been labeling ‘operator’ since adding ATMs in 2015).
Regarding cultural bias - i have made the experience that the distinction between the abstract concepts of a name, a brand, an operator or a description and the broader concept of a label is difficult for many to make. We (as technically minded western Europeans) think of the name as a more or less unique identifier for a specific individual feature (unique at least on a regional level, in many cases beyond that - and if not we like to add additional qualifiers, like Freiburg im Breisgau). But for many the name is just what we use language-wise to refer to a specific feature, like I visited place X and i stayed at the Holiday Inn or I will go buy some stuff at Lidl - which we would classify as a label. In principle i think a good solution might be to actually have a label=* tag meant broadly for any string that is used locally to refer to the feature in question while the more specific existing tags retain their more specific meaning for any mapper who wants to and is able to tag in a more differentiated fashion. This would allow data users to select the most specific form of information they need available but have the less specific data as a fallback.
Regarding landuse=residential - it is a fairly common practice to tag landuse=residential + place=* + name=* for smaller settlements or suburbs/neighborhoods. See https://taginfo.openstreetmap.org/tags/landuse=residential#combinations
Comment from SimonPoole on 5 September 2021 at 14:07
The landuse=residential entry is for a commercial provider of apartments, brand Avalon see https://github.com/osmlab/name-suggestion-index/blob/main/data/brands/landuse/residential.json
Comment from SimonPoole on 5 September 2021 at 14:11
@gileri wrote
I’m not suggesting that, just pointing out that that is the current common practice.
Comment from gileri on 5 September 2021 at 14:38
You’re right, but it looks like your opinion (and therefore suggestion) seem clear to me with this wording.
Not a huge deal, it’s just that this issue has and still cost me (and surely others) a lot of contributor time to remove/fix names that are only brands.
Anyway thank you for the data !
Comment from Mathias Haugsbø on 26 October 2021 at 08:42
@gileri I suggest you collect some insights into what you would like to have in the name field in france in your OSM community and post an issue to https://github.com/osmlab/name-suggestion-index . We did this in Scandinavia as we would like the name field to be as specific as possible (and it is the cultural norm to say “McDonald’s Bryggen” instead of just having “McDonald’s” in the name field).
See https://github.com/osmlab/name-suggestion-index/issues/5500 for our issue on this topic.
The maintainers of NSI is quick to respond and will always work towards a solution - For us it was to add “preserveTags: [‘^name’]” to the config such that the name field was not overwritten
Comment from skquinn on 17 January 2022 at 16:35
For landuse=residential the name=* tag is often used for the name of an apartment complex or subdivision. Is this not correct usage?
Comment from SimonPoole on 17 January 2022 at 16:57
@skquinn IMHO that’s a matter of debate, I would only add a name to a place object of appropriate kind (that could naturally be on the same geometry as a landuse=residential).
In the case of the NSI the use is questionable in another dimension as the NSI was intended for correct tagging of chains and similar, don’t quite see where landuse is supposed to fit in there to start with.
Comment from stevea on 26 December 2022 at 03:46
I realize it was almost a year ago this diary entry was active, but I wanted to chime in that landuse=residential with a name=* tag is “sometimes” used in USA to designate a “neighborhood,” which isn’t necessarily a “homeowner’s association” (as we define this in our fifty states), but it could be. It’s a way to show that a group of often single-family homes (residences, often families, sometimes rented to groups of students or unrelated people who share rooms and residency…) are “grouped together into a geographic area and called by a name that unifies it as a known and identified community.” It might have had an identity as a HOA at one point, it doesn’t have to have had this. It’s a loosely-applied tag on (multi)polygons in urban and suburban areas. Sometimes even in small cities or even towns where you might get an “Eastside” and “Westside” residential neighborhood, but they are not admin_level=10 actual things, or political_boundary=ward or even formal place=neighbourhood, more like “that’s what we call that area of that group of houses over there.”
The tagging convention landuse=residential COULD be “apartment complex” or “subdivision” (subdivision and HOA can be similar, yet different), too. This is about as complicated as is how one admin_level=10 is totally different from another admin_level=10 somewhere else. So, it’s one tag, but it means a lot of slightly different things, while also being cohesive enough to mean “geographic grouping of dwellings.”
Comment from SimonPoole on 26 December 2022 at 09:53
@stevea the point was not that residential areas can’t have names, the question was about using the brand of a development company to nmae them.
Comment from stevea on 26 December 2022 at 10:08
Ah, I see. Thanks for the clarification. I could see how a brand-new housing development might have both: a name=* tag (say, name=Green Hills Estates) AND something like operator=Brod Home Builders (which is a bit odd, but I could see it being both possible and legally accurate). Sort of like how a HOA works (in some cases), when the homes are all sold, the operator=* is no longer either an owner nor an operator, so that the name=* tag remains to “name the neighborhood” (or maybe “subdivision” as we might say in California parlance for such a thing) and name=Green Hills Estates remains. But there would no longer be any operator=* (which developed, built and sold the subdivision into new now individually-owned lots and homes), with a name=* tag remaining.
HOAs (and MTIPs, and “housing estates” and PUDs, and condominiums and all sorts of other ways that multi-family housing, single-unit housing sold in large-area subdivisions are broken up into lots and sold as single properties…) these activities are legally different (and somewhat complicated) the world over, given various laws and legal structures. So, I could see a variety of name=, owner= and operator=* tags (and even others) being applied. There isn’t a one-size-fits-all methodology to these, I think it best that OSM remain open-minded (and amenable to local practices) when choosing how to tag these.
Though, I do agree, seeing a “brand of a development company” is unusual. It would be unusual to see it tagged with operator=* (and maybe even owner=* in the earlier stages of sales), but it wouldn’t be wrong. What WOULD be wrong is name=Brod Home Builders applied to the landuse=residential. A name=* key shouldn’t be used there if its value is the “builder,” it should be the “name of the development” (or “neighborhood,” for lack of a better way of saying it, even as place=neighbourhood may not be quite the right tag to apply).
There are a lot of subtle things going on here, as well as different laws and practices around the world, so I can see how misunderstandings are easy to come by. Again, thanks for clarification.