I'm creating a JavaScript map of specialty coffee shops I visit (there are a lot, I work in them).

I have two data sources:

  • an internal JSON file
  • OSM data

I've been trying to move as much data as possible from my JSON to OSM, which I then fetch through the Overpass API. This way I can also contribute to OSM!

For some data, this is easy:

  • I keep my personal comments and ratings... personal, in my JSON file
  • I add any new coffee shop to OSM and contribute addresses, opening hours, basic tagging and the like

But for some other data, I'm not sure whether I should keep it in my JSON file, or contribute it to OSM.

Here's some of this other data:

  1. Whether a coffee shop sells espresso-based drinks
  2. Whether it sells brewed coffee
  3. The price of a latte (which my partner drinks)
  4. The price of a brewed coffee (which I drink. Usually V60, Kalita or Aeropress)
  5. Whether the coffee shop is laptop-friendly
  6. Whether the coffee shop also roasts it own coffee (and sells wholebean coffee)

After a search on Taginfo, here are some useful tags I've found: (in the same order as the above list)

  1. drink:espresso has 143 occurences.
  2. I've found no tags specifically related to brewed coffee.
  3. cost:coffee has 261 occurences but is very vague - not all coffee drinks cost the same. Also it raises other questions in terms of currencies for example.
  4. id.
  5. I'm thinking this might be too subjective
  6. I found the microroasting tag but it's only been used twice

What do you think? Which tags should I be using? And where no tags are available, should I create some? Would the data be useful to OSM or should I keep it private?

asked 11 Oct, 04:44

robinmetral's gravatar image

robinmetral
96113
accept rate: 0%


Thank you for adding these to OSM. I assume you are using amenity=cafe for these "coffee shops?" There is also a tag shop=coffee for a place that mainly sells coffee beans to take home.

  1. "Whether a coffee shop sells espresso-based drinks"

Yes, "drink:espresso=yes" should work; it fits with the pattern on this page: https://wiki.openstreetmap.org/wiki/Key:drink

  1. "Whether it sells brewed coffee"

This may need a new tag, but it's a good idea. I might use "drink:brewed_coffee=yes" or "drink:pourover_coffee=yes". But I'll try asking some other people on the mailing list.

  1. "The price of a latte (which my partner drinks)"
  2. "The price of a brewed coffee (which I drink. Usually V60, Kalita or Aeropress)"

This probably changes too often to keep up-to-date. I wouldn't want to add the price of every single menu item.

  1. "Whether the coffee shop is laptop-friendly"

This sounds subjective. But if there is a sign saying "No Laptops!" in the shop, you could consider adding a tag.

  1. "Whether the coffee shop also roasts it own coffee (and sells wholebean coffee)"

This is definitely interesting information, and I'm surprised there is not yet a popular tag for this. You could use "sells=coffee" or "sells=wholebean_coffee"?

For a place that roasts coffee you could use craft=coffee_roaster, because it is like a small industry, similar to craft=brewery, but this would be for a business that principally roasts coffee rather than mainly being a cafe or shop.

For breweries in restaurants, there is microbrewery=yes; so perhaps coffee_roaster=yes would be best as an additional tag for a cafe that also roasts a small amount of coffee to sell.

permanent link

answered 11 Oct, 07:17

Joseph%20E's gravatar image

Joseph E
245411
accept rate: 9%

1

Thanks for your reply!

Yes, I'm using amenity:cafe as well as cuisine:coffee_shop.

So to recap, I'd be using drink:espresso=served and drink:filter_coffee=served (I think this is the most common term that includes methods such as V60, Chemex but also AeroPress etc.)

I pretty much agree with you regarding prices being too volatile and laptop-friendliness too subjective. I can keep these local :)

Finally I could tag roasters craft=roastery.

I'll give it a few days to see if others want to give some inputs, and then mark as solved.

Thanks again!

(11 Oct, 09:10) robinmetral
1

Sounds good. Do they call a coffee roasting facility a "roastery" in the business?

I asked on the tagging mailing list, and it was suggested to use microroasting=yes as an additional tag for a cafe which also has a small roasting option. This has been used a couple of times in the database.

The craft tag would be appropriate as the main tag for a small business that mainly roasts coffee (but not on an industrial scale), with coffee drinks as a minor side-business only.

(11 Oct, 13:03) Joseph E

Thanks for asking and providing the details! I'll go for the microroasting=yes then :)

I've accepted your answer - cheers!

(12 Oct, 09:32) robinmetral

One last tiny question: if a coffee shop is NOT serving espresso, is it recommended to add drink:espresso=no or not to add the drink:espresso tag at all?

(12 Oct, 09:36) robinmetral
1

Adding "drink:espresso=no" is good idea, especially if you are in North America or Europe, where most cafes are expected to serve espresso.

(12 Oct, 13:50) Joseph E
1

Based on our talk I rewrote the wiki page for cuisine=coffee_shop: https://wiki.openstreetmap.org/wiki/Tag:cuisine%3Dcoffee_shop

Feel free to edit and improve!

(15 Oct, 11:13) robinmetral
showing 5 of 6 show 1 more comments

Whether the coffee shop is laptop-friendly

If there is wifi available you can add it as internet_access=wlan and internet_access:fee=*. See Key:internet_access.

Everything else is covered in Joseph's answer.

permanent link

answered 11 Oct, 09:52

scai's gravatar image

scai ♦
30.3k17271423
accept rate: 23%

1

Yes I'm already doing this, since these fields are suggested by the in-browser editor :)

(11 Oct, 10:09) robinmetral
Your answer
toggle preview

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:

×792
×2

question asked: 11 Oct, 04:44

question was seen: 235 times

last updated: 15 Oct, 11:13

powered by OSQA