NOTICE: help.openstreetmap.org is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum

Hi, I've just found a shop node in the map that would need multiple values under "type", but I didn't find anything on the wiki about this. Can anyone help?

asked 19 Feb '21, 14:03

jonatoieri's gravatar image

jonatoieri
131339
accept rate: 0%

edited 19 Feb '21, 15:13


Yep, you just separate the values by a semi-colon: ";".

We have a company in the UK, Timpson, who started out as shoe repairers and also now major in key cutting as well, but also provide dry cleaning & photo processing at some outlets. Usually, at a minimum, they are tagged shop=shoe_repair;key_cutting: but it has provoked plenty of discussion. (In this case, as it is a major chain, adding brand tags can really help)

Other shops may be seen to have a main type of business with some sidelines: in these cases I'd stick with the main type of business.

permanent link

answered 19 Feb '21, 16:36

SK53's gravatar image

SK53 ♦
28.1k48268433
accept rate: 22%

Thanks. Nothing else to write, but I need more characters.

(19 Feb '21, 16:50) jonatoieri
2

You can accept the answer which requires fewer key presses :-)

(19 Feb '21, 19:40) SK53 ♦
4

For additional reading, the wiki article https://wiki.openstreetmap.org/wiki/Semi-colon_value_separator contains pros and cons of using a semicolon.

(20 Feb '21, 13:44) Tigerfell

Note that https://wiki.openstreetmap.org/wiki/Semi-colon_value_separator has, since its creation in 2010, recommended against semicolon-seperated values in "top-level" tags. It gives amenity=* as an example of a top-level tag, and I believe that shop=* is of the same tier.

My understanding is that the preference has generally been to choose a single value for the shop= key and encode other features and services with additional tags. Exactly which value gets top billing, and exactly which tags are used to encode the secondaries, would be matters of personal judgement and/or consensus.

Because this has been longstanding practice, if you do choose to encode multiple values in the shop tag, know that some software will not correctly parse these values.

permanent link

answered 23 Feb '21, 03:02

jmapb's gravatar image

jmapb
3.4k73361
accept rate: 22%

As I just found out here https://wiki.openstreetmap.org/wiki/Semi-colon_value_separator#Examples_for_established_uses in this section the wiki says it is an "established use", even though I'm nor American neither British so I don't know if I got it right (there's no translation in my language). Let me know if I got it right.

Anyway, I also found that in my area other shops are with multiple values in the same "shop" tag. Maybe I'm wrong about the right translation of the wiki, but at least I'm not alone! ><

(23 Feb '21, 12:10) jonatoieri

The "Examples for established uses" section lists some keys where semicolon-separated values are widely used. The most common are opening hours for shops and amenities, cuisine for amenities, destination and turn lane tags for highways.

The main problem with using semicolons for shops is that a lot of existing software will only process exact matches of the shop tag values. Software can be written to search for substrings, but it can be a little tricky -- you don't want to find shop=carpet when you're searching for "car" or "pet." So the searches need to be slower and more complex to match a sub-value that may be at the beginning of the value string followed by a semicolon, or at the end preceded by a semicolon, or in the middle surrounded by semicolons. Many software developers have chosen to do without this extra complexity and simply search for exact matches.

(23 Feb '21, 15:06) jmapb
1

BTW, you're correct that other mappers have used semicolon-separated values of the shop tag in the past, but it's infrequent. By far the most common is shop=convenience;gas which is in heavy use in France, but this would be much better mapped with two tags, shop=convenience and amenity=fuel.

But there are cases where I've found using a single value for shop inadequate. There's a hardware store near me that also sells vegetables and eggs. Other than using the description=* tag, there's no obvious way to encode that information in OSM. (Perhaps adding greengrocer=yes would be an option.)

(23 Feb '21, 15:13) jmapb

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×193
×71
×71
×6

question asked: 19 Feb '21, 14:03

question was seen: 19,334 times

last updated: 23 Feb '21, 15:13

NOTICE: help.openstreetmap.org is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum