gravitystorm / openstreetmap-carto

A general-purpose OpenStreetMap mapnik style, in CartoCSS
Other
1.51k stars 811 forks source link

Render a generic icon for shop=* #116

Closed dkniffin closed 9 years ago

dkniffin commented 10 years ago

https://trac.openstreetmap.org/ticket/3043

I'm working on this right now. I will submitting a pull request shortly.

gravitystorm commented 10 years ago

I'm happy to see all shops rendered, and I'm in favour of an approach that doesn't involve hundreds of new icons!

However, I'm opposed to "catch-all" rendering, generally of the form "foo is not null" in the queries. I'm slowly removing them, since they've been shown over the years to be A Bad Idea.

I'm going to give a few technical comments on the separate pull request too.

dkniffin commented 10 years ago

Ok, I think I understand, but I want to make sure. Instead of doing "shop is not null" in the query, I should instead do "shop in ('supermarket','clothes', [etc])" and include everything we want rendered? I'm fine with that, but it will make the query about twice as long. I guess I'd include everything from http://wiki.openstreetmap.org/wiki/Key:shop and then if there's others, they'd get added over time.

jremillard commented 10 years ago

Use tag info, shows all of the values for shop that are actually used.

http://taginfo.openstreetmap.org/keys/shop#values

dkniffin commented 10 years ago

Right, but then which of those do I add? I certainly can't (and don't want to) add all 7551.

jremillard commented 10 years ago

Whatever you think makes sense. How about anything over 1000 instances, or the top 50?

dkniffin commented 10 years ago

That sounds reasonable. I think I'll include all the ones on the wiki, and anything over 1000 uses in taginfo. Of course, in the future, the ones "over 1000" will be different, but it can be updated later.

dkniffin commented 10 years ago

so, that becomes: ('alcohol', 'anime', 'antiques', 'art', 'baby_goods', 'bag', 'bakery', 'bathroom_furnishing', 'beauty', 'bed', 'beverages', 'bicycle', 'books', 'boutique', 'butcher', 'candles', 'car', 'car_parts', 'carpet', 'car_repair', 'charity', 'chemist', 'clothes', 'computer', 'confectionery', 'convenience', 'copyshop', 'craft', 'curtain', 'deli', 'department_store', 'dive', 'doityourself', 'drugstore', 'dry_cleaning', 'electronics', 'energy', 'erotic', 'estate_agent', 'fabric', 'farm', 'fishing', 'fishmonger', 'florist', 'frame', 'funeral_directors', 'furnace', 'furniture', 'garden_centre', 'gas', 'general', 'gift', 'glaziery', 'greengrocer', 'hairdresser', 'hardware', 'hearing_aids', 'herbalist', 'hifi', 'hunting', 'interior_decoration', 'jewelry', 'kiosk', 'kitchen', 'laundry', 'mall', 'massage', 'mobile_phone', 'money_lender', 'motorcycle', 'music', 'musical_instrument', 'newsagent', 'no', 'optician', 'organic', 'outdoor', 'paint', 'pawnbroker', 'pet', 'pharmacy', 'photo', 'pyrotechnics', 'radiotechnics', 'religion', 'seafood', 'second_hand', 'shoes', 'sports', 'stationery', 'supermarket', 'tailor', 'tattoo', 'ticket', 'tobacco', 'toys', 'trade', 'travel_agency', 'tyres', 'vacant', 'vacuum_cleaner', 'variety_store', 'video', 'video_games', 'window_blind', 'yes')

dkniffin commented 10 years ago

I'll take shop=no out. any others?

jremillard commented 10 years ago

Is including erotic going to be an issue?

dkniffin commented 10 years ago

I removed it

dkniffin commented 10 years ago

I also removed vacant. I think it'd cause too much confusion

RicoElectrico commented 10 years ago

I think that shop=no should also be excluded.

matthijsmelissen commented 10 years ago

What is exactly the reason to remove shop=erotic? Google Maps does render them (with a generic shop icon), both in the US and Europe. Wikipedia has a strict 'no self-censorship' policy, what is our policy? Also, if it becomes ultimately the only type of shop that is not rendered, people might start working around if (tagging it as shop=gift? ;)).

matthijsmelissen commented 10 years ago

The tag drugstore is discouraged on the wiki and rarely used, I would remove it.

matthijsmelissen commented 10 years ago

There exist office=estate_agent and shop=estate_agent. The second is a bit more popular. We might want to render only one of them, in order to promote consistent tagging.

jremillard commented 10 years ago
  1. It is below 1000 instances
  2. It is offensive to some people.

There are ~6500 other shop types that are also not getting rendered because they are below a 1000 instances.

matthijsmelissen commented 10 years ago

I understand the problem of course. But not including data on the map that might offend people can get tricky easily. For example, shop=alcohol and shop=hunting (or a potential shop=guns) are also offensive to some people (and suffer equally from an age limit problem). I think we should be really careful here what argumentation we use, because it might set a precedent for later.

jremillard commented 10 years ago

For me, taginfo is most important, since erotic is basically right at the cutoff. It is probably ok to leave it off. Including it, and not other tags above it would be a big problem. I would rather not be part of another talk like this one at next years state of the map.

http://vimeopro.com/openstreetmapus/state-of-the-map-us-2013/video/68098504

dieterdreist commented 10 years ago

2013/8/29 math1985 notifications@github.com

There exist office=estate_agent and shop=estate_agent. The second is a bit more popular. We might want to render only one of them, in order to promote consistent tagging.

I'd render both of them in order to promote consistent tagging ;-) an office is a place not intended for occasional customers to drop by while a shop is a place open to the general public.

cheers, Martin

dieterdreist commented 10 years ago

2013/8/28 oddityoverseer13 notifications@github.com

so, that becomes: ('alcohol', 'anime', 'antiques', 'art', 'baby_goods', 'bag', 'bakery', 'bathroom_furnishing', 'beauty', 'bed', 'beverages', 'bicycle', 'books', 'boutique', 'butcher', 'candles', 'car', 'car_parts', 'carpet', 'car_repair', 'charity', 'chemist', 'clothes', 'computer', 'confectionery', 'convenience', 'copyshop', 'craft', 'curtain', 'deli', 'department_store', 'dive', 'doityourself', 'drugstore', 'dry_cleaning', 'electronics', 'energy', 'erotic', 'estate_agent', 'fabric', 'farm', 'fishing', 'fishmonger', 'florist', 'frame', 'funeral_directors', 'furnace', 'furniture', 'garden_centre', 'gas', 'general', 'gift', 'glaziery', 'greengrocer', 'hairdresser', 'hardware', 'hearing_aids', 'herbalist', 'hifi', 'hunting', 'interior_decoration', 'jewelry', 'kiosk', 'kitchen', 'laundry', 'mall', 'massage', 'mobile_phone', 'money_lender', 'motorcycle', 'music', 'musical_instrument', 'newsagent', 'no', 'optician', 'organic', 'outdoor', 'paint', 'pawnbroker', 'pet', 'pharmacy ', 'phot o', 'pyrotechnics', 'radiotechnics', 'religion', 'seafood', 'second_hand', 'shoes', 'sports', 'stationery', 'supermarket', 'tailor', 'tattoo', 'ticket', 'tobacco', 'toys', 'trade', 'travel_agency', 'tyres', 'vacant', 'vacuum_cleaner', 'variety_store', 'video', 'video_games', 'window_blind', 'yes')

I propose to add antiques, insurance, ticket, tattoo, hearing_aids, frame, bed, wine, curtain, pawnbroker, carpet, baby_goods, betting, bathroom_furnishing, tea, shoe_repair, cosmetics, solarium, cheese, perfumery, herbalist, bag, or in other words what is documented or above a few hundred. As you can see these are actually not so many that would have to be added and they don't seem to be covered by what you already have above.

cheers, Martin

vincentdephily commented 10 years ago

I agree with the additional included values, as there are some in there I added myself, and the uncommon shops are actually the ones that one might do an internet search for.

Did you just take the values from taginfo ? What cutoff value did you use; it'd be easyer to see if the list was sorted by frequency instead of alphabetically (it might even have a small performance advantage).

Here's an ugly shell script that spits out a list of all shops used at least 100 times, excluding "no" and "fixme":

wget -qO- 'http://taginfo.openstreetmap.org/api/4/key/values?key=shop&sortname=count_all&sortorder=desc'|sed 's/{"value":/\n/g'|grep 'count":[0-9][0-9][0-9]'|cut -d, -f1|grep -vE '"(no|fixme)"'|sed "s/\"/'/g;s/$/,/g"|tr -d "\n"

And the resulting list:

'supermarket', 'convenience', 'clothes', 'bakery', 'hairdresser', 'car_repair', 'car', 'kiosk', 'doityourself', 'butcher', 'florist', 'mall', 'bicycle', 'furniture', 'alcohol', 'books', 'electronics', 'shoes', 'department_store', 'yes', 'hardware', 'jewelry', 'optician', 'chemist', 'gift', 'garden_centre', 'greengrocer', 'mobile_phone', 'beverages', 'computer', 'beauty', 'sports', 'laundry', 'toys', 'confectionery', 'travel_agency', 'stationery', 'hifi', 'motorcycle', 'variety_store', 'newsagent', 'dry_cleaning', 'vacant', 'pet', 'car_parts', 'boutique', 'outdoor', 'tyres', 'video', 'deli', 'copyshop', 'estate_agent', 'funeral_directors', 'music', 'fishmonger', 'art', 'organic', 'fabric', 'general', 'photo', 'pharmacy', 'second_hand', 'kitchen', 'tailor', 'farm', 'seafood', 'tobacco', 'charity', 'massage', 'paint', 'musical_instrument', 'interior_decoration', 'trade', 'energy', 'antiques', 'insurance', 'erotic', 'ticket', 'tattoo', 'hearing_aids', 'frame', 'bed', 'wine', 'curtain', 'pawnbroker', 'carpet', 'food', 'ice_cream', 'grocery', 'baby_goods', 'bookmaker', 'betting', 'cosmetics', 'glaziery', 'bathroom_furnishing', 'fish', 'tea', 'winery', 'fashion', 'shoe_repair', 'photo_studio', 'solarium', 'craft', 'medical_supply', 'locksmith', 'hunting', 'cheese', 'perfumery', 'market', 'bag', 'coffee', 'household', 'discount', 'radiotechnics', 'money_lender', 'gas', 'other', 'appliance', 'wholesale', 'herbalist', 'lottery', 'fishing', 'vacuum_cleaner', 'video_games', 'communication', 'bags', 'houseware', 'builder', 'gallery', 'hobby', 'shopping_centre', 'salon', 'office_supplies', 'pets', 'musical_instruments', 'watches', 'dive', 'furnace', 'scuba_diving', 'gambling', 'leather', 'photography', 'pottery', 'motorcycle_repair', 'printing', 'medical', 'lighting'

Concerning 'erotic', I really don't see a good reason for excluding it. We've included rarer shops and I don't feel like opening Pandora's Censorship Box. People who are shocked by such shop should lobby them out of the neighborhood instead of out of the map.

dieterdreist commented 10 years ago

2013/8/29 vincentdephily notifications@github.com

I agree with the additional included values, as there are some in there I added myself, and the uncommon shops are actually the ones that one might do an internet search for.

Did you just take the values from taginfo ?

yes, I copied those of the less used values that seemed not to be disputed or alternatives of what is already there.

Some of the often used values aren't unambiguous or are unsuitable or duplicates (IMHO), e.g. from your taginfo list: general, yes, other, art (wouldn't that be an art_gallery instead of a shop?), farm (better you something like farm_produce?), vacant, charity (is this really a shop or would office be better, if not, what kind of stuff do they sell, maybe better use second_hand?), trade (maybe I simply don't know what this is), ice_cream (isn't the common tag amenity=ice_cream for take away places and amenity=cafe with cuisine=ice_cream for inplace icecream eating?), market (what is this? convenience?), communication (what is this, telcos? mobile phones? envelopes for letters? or pigeons?), glaziery (isn't this better put in craft?), fashion (is this clothes? maybe a subtype might be more suitable, see also boutique), craft (what is intended, handycraft?), household (what do they sell, kitchen tools? cutlery? duvet covers? furniture? food?), medical and finally there is winery vs. wine.

What cutoff value did you use

I went without real systematics, looking to add some of the values I personally like and that I thought to be undisputed with 200-1000 occurences to the 1000+ list. ;-)

I agree that 100 seems a better limit than 1000.

cheers, Martin

matthijsmelissen commented 10 years ago

Some comments on some your tags:

I think I agree with the rest of your points.

If I have some time next month, I might try to adapt the wiki to the current situation and perhaps even discuss with the community on how to settle on some of the disputed tags. I have tagged all missing shops in Luxembourg-city, so I have a quite good of the problems currently encountered when tagging.

dieterdreist commented 10 years ago

2013/8/29 math1985 notifications@github.com

Some comments on some your tags:

  • art: I would tag it as a shop when the main purpose of the place is to sell the art. For example, some galleries tag their art works with a price tag. In that case, I would say it's rather a shop than, let's say, a museum.

I would never tag a private art gallery as museum - or maybe almost never (and these edge cases are "private museums" and not "art galleries"). Usually the idea of selling the exposed works is part of the concept of a private art_gallery (not saying its the only one reason), even if they don't put prices besides the art work (more commonly there is a price list you can get if you ask for) but that's not necessarily an argument for shop.

  • charity: Charity shops are a well-known concept in the UK, see https://en.wikipedia.org/wiki/Charity_shop . Brits always refer to these shops as 'charity shops' instead of 'second hand shops'. I think they don't really exist in the rest of Europe.

they do, at least in Berlin it is almost crowded with them ;-)

  • trade: I use it for places that sell, for example, bricks. I also don't like the tag, though.

ah OK, my guess is this is really an insider term for natives ;-), would suggest to use something like shop=building_material (but that's maybe not very distinct and could refer to lots of different shops?), maybe mason's_material?

  • craft: the shop where you buy stuff for sewing, painting etc.

in here (Italy and Germany) these are two distinct kinds of shops (one where you get wool, sewing, knitting material/tools etc. and another type that is specialized in artists (different kind of pencils, paint, canvas, paper, brushes, sometimes specialized in one or more techniques, in other cases they try to offer universal artist supply)

  • household: I like this one. In the Netherlands, there are many general household shops (kitchen tools, cleaning tools, maybe even some decorational stuff). I noticed that these don't occur that much in other countries (in Luxembourg, I would buy most stuff in hypermarkets instead). It's similar to shop

I seriously wasn't sure what the intended meaning was, as in Germany what we call "Haushaltswaren" would usually be cups, plates, cutlery but not cleaning tools and rarely electric kitchen tools, e.g. http://www.dinkel-porzellan.de/haushaltswaren-tuebingen or this declare themselves "Haushaltwaren": http://www.emsa.com/

but there are also others that sell household appliances (vacuumcleaners, flattening irons, toothbrushs, shavers) and could be called "household" in some way, also those that sell detergents, plastic cutlery, toilet paper and the like...

cheers, Martin

matthijsmelissen commented 10 years ago

Here is a folder that gives an overview of what Dutch household shops sell: http://view.publitas.com/de-blokker-folder/blokker-folder-35/page/1 Do you have shops like that in Germany? How would you propose tagging something like this? I think it's smaller than a department store, although some of them are tagged like that.

dieterdreist commented 10 years ago

2013/8/29 math1985 notifications@github.com

Here is a folder of what Dutch household shops sell: http://view.publitas.com/de-blokker-folder/blokker-folder-35/page/20 Do you not have shops like that in Germany? How would you propose tagging something like this? I think it's smaller than a department store, although some of them are tagged like that.

yes, I'd say this is a kind of a department store, they have a bit of everything (electronics, knives, garden stuff) (in German: "Kaufhaus").

cheers, Martin

dkniffin commented 10 years ago

So, since it seems like this needs a larger discussion, I've created a wiki page: http://wiki.openstreetmap.org/wiki/Users:Oddityoverseer/Shops_to_Render

The page explains itself.

matthijsmelissen commented 10 years ago

Good idea. I added a section for tags under discussion on the page.

This is an example of the household shop I mentioned: http://www.ijsselmonde-online.nl/nex/sites/default/files/profielen/Virano/blokker.jpg The shop is usually not much larger than this. I think it is too small for a department store, and it doesn't really have departments.

jremillard commented 10 years ago

In the interest of getting something merged in the near future, It would be prudent to just pick some threshold on the taginfo (1000, 200, 100, I don't care which), and render things above that limit, unless we know for sure a tag should not be rendered (like no, vacant, etc). Then let the refinements to the initial list be different pull requests. I could see this turning into a bunch of long "conversations" as people lobby for and against specific tags. Lets not let perfect get in the way of good.

dkniffin commented 10 years ago

Agreed. I'm going with a taginfo list of 100+ uses, minus "no", "vacant", "fixme", and "drugstore".

matthijsmelissen commented 10 years ago

Sure, the wiki page might still come handy for a discussion at a later time.

Could you also consider dropping shop=other? The tag doesn't make sense in my opinion. Other than what? Other than the shops listed in JOSM? The shops listed on the wiki? None of these are relevant criteria, as one can make up a new type of shop anyway.

matthijsmelissen commented 10 years ago
I'm in favour of an approach that doesn't involve hundreds of new icons!

From a user point of view (too many icons is too confusing/ugly) or from a designer point of view (we have no time to make them)?

I noticed that tile.openstreetmap.fr has some more icons for shops. Does anyone know where there codebase is, and whether the license on their code is compatible with CC-0? Is it an option to use their icons? On the other hand, I don't like very much how their icons don't seem to go very well together, as some are drawn in perspective and some drawn from the front.

Edit: the German OpenStreetMap also has nice icons for shops. Again, I can't find the codebase, can anybody help me?

vincentdephily commented 10 years ago

I think you can safely add "other" to the blacklist. I commented on that wiki page, and categorized into undecided/valid/discouraged.

SK53 commented 10 years ago

I discussed the points raised here very briefly at SotM Baltics. My view was that we need a small number of 'buckets' or categories to assign less widely used shop tags, as well as tags which can be merged into a single higher concept. Heavily used tags would still be broken out of their natural categories.

For example, shop=furniture,shop=appliance,shop=bed might all receive a generic icon for things used to furnish a house, and shop=curtain, shop=blinds,shop=frames another representing things used to decorate a house. Or even one might merge these two categories together as furnishings.

I don't think we can solely rely on numbers of places tagged on taginfo as this reflects interest & bias of mappers. It is probably worth looking at places where we know the full range of shops have been mapped which is likely to give a better feel for their actual statistical distribution in W. Europe & N. America. I am sure there are other places, but the two I am aware of are Orange in France, and work by myself in Nottingham. For instance I think I've mapped 4 shop=erotic in Nottingham out of ~ 1600 shops (.25%)

For what it is worth this presentation tentatively suggests such a scheme: http://www.slideshare.net/SK53/gone-shopping-detailed-retail-mapping (slide 17) slide-17-638

As stated this is tentative, but I have sense-checked it with a retail professional. Their biggest concern was breaking out things like convenience stores.

This is my current SQL (based on a QGIS style sheet, also available) for this classification based on Nottingham shops only, but used in a first pass attempt to cluster German retail areas using R:

, sum(case when bus_typ = 'S' then 1 else 0 end) num_shops
, sum(case when bus_typ = 'A' and ret_typ in ('pub','bar','nightclub','biergarten') then 1 else 0 end) num_pub
, sum(case when bus_typ = 'A' and ret_typ in ('cafe','restaurant') then 1 else 0 end) num_cafe
, sum(case when bus_typ = 'A' and ret_typ in ('fast_food') then 1 else 0 end) num_ff
, sum(case when bus_typ = 'A' and ret_typ in ('bank') then 1 else 0 end) num_bank
, sum(case when bus_typ = 'A' and ret_typ in ('pharmacy') then 1 else 0 end) num_pharm
, sum(case when bus_typ = 'S' and ret_typ in ('supermarket') then 1 else 0 end) num_supm
, sum(case when bus_typ = 'S' and ret_typ in ('convenience') then 1 else 0 end) num_conv
, sum(case when bus_typ = 'S' and ret_typ in ('alcohol','confectionery','fishmonger','wine','seafood','organic','beverages','bakery','deli','greengrocer','butcher','grocer','fish','delicatessen') then 1 else 0 end) num_food
, sum(case when bus_typ = 'S' and ret_typ in ('doityourself','hardware','garden_centre') then 1 else 0 end) num_diy
, sum(case when bus_typ = 'S' and ret_typ in ('furniture','carpet','blinds','curtain','antiques','interior_decoration','fabric') then 1 else 0 end) num_furniture
, sum(case when bus_typ = 'S' and ret_typ in ('clothes','fashion','boutique','shoes') then 1 else 0 end) num_clothes
, sum(case when bus_typ = 'S' and ret_typ in ('chemist','medical_supply','hearing_aids','optician') then 1 else 0 end) num_health
, sum(case when bus_typ = 'S' and ret_typ in ('electronics','computer','mobile_phone','hi-fi') then 1 else 0 end) num_elec
, sum(case when bus_typ = 'S' and ret_typ in ('hairdresser','beauty','cosmetics','tattoo','solarium') then 1 else 0 end) num_beauty
, sum(case when bus_typ = 'S' and ret_typ in ('jewelry','gift','florist','photo','art') then 1 else 0 end) num_gift
, sum(case when bus_typ = 'S' and ret_typ in ('books','newsagent','kiosk','stationery','card','copyshop') then 1 else 0 end) num_stat
, sum(case when bus_typ = 'S' and ret_typ in ('car','car_repair','motorcycle','tyres') then 1 else 0 end) num_pkw
, sum(case when bus_typ = 'S' and ret_typ in ('bicycle','sport','toys','pet','outdoor','music') then 1 else 0 end) num_hobby
, sum(case when bus_typ = 'S' and ret_typ in ('vacant') then 1 else 0 end) num_empty
, sum(case when bus_typ = 'S' and ret_typ in ('mall') then 1 else 0 end) num_mall
, sum(case when bus_typ = 'S' and ret_typ in ('department_store') then 1 else 0 end) num_dept
, sum(case when bus_typ = 'S' and ret_typ in ('variety','discount','variety_store','shoe_repair') then 1 else 0 end) num_disc
, sum(case when bus_typ = 'S' and ret_typ in ('dry_cleaning','laundry') then 1 else 0 end) num_clsvcs
...

The obscure column names are to do with QGIS using ESRI formats and limited to 10 chars.
dieterdreist commented 10 years ago

2013/9/13 SK53 notifications@github.com

shop=furniture,shop=appliance,shop=bed might all receive a generic icon for things used to furnish a house, and shop=curtain, shop=blinds,shop=frames another representing things used to decorate a house

appliances, aren't these things like vacuum cleaners and hair dryers?

SK53 commented 10 years ago

In this case I was thinking of large appliances, white & brown goods (resp. Washing Machines, Fridges, Dishwashers vs. TVs, HiFis ...), rather than smaller appliances. There may be some ambiguity in how these different shops are tagged. My case is really that we can recognise a relatively small number of categories to simplify rendering and other processes such as finding a suitable tag: it's perhaps a bit harder to decide exactly what belongs in each category. (I thought easily my most controversial assignment was shop=bicycle to hobby :-).

dieterdreist commented 10 years ago

2013/9/13 SK53 notifications@github.com

In this case I was thinking of large appliances, white & brown goods (resp. Washing Machines, Fridges, Dishwashers vs. TVs, HiFis ...), rather than smaller appliances.

I see. My comment was because some time ago I was looking for a tag for a shop that sold and repaired only small appliances and accessory (flattening iron, hair dryer, light bulb etc.) where the common "electronics" would not have hit it (because although some of these might have electronic parts in the meantime, traditionally they don't need them as opposed to tv, hifis, dvd players, gaming consoles, ...). You know, these old style small village shops. I think the shops for bigger appliances are mostly mapped as "electronics". +1 to grouping in the style sheet, -1 to normalizing the data, but this grouping could also be done by variating a similar icon, not necessarily has it to look identical. Anyways, for the moment also a generic icon for all shops that haven't got theirs would be fine, e.g. at zoom 18 and/or 19.

fuddl commented 10 years ago

I think shop=erotic totally should be visible on the map

pnorman commented 10 years ago

catch-alls promote bad tagging. Given the tight feedback loop between the style and mapping verification, and the lengths we've gone to elsewhere to avoid it (see #15 (comment) ) I don't want to render shop=bakres or shop=spuermarket

While I agree in many cases, I'm not sure that is an issue here. If someone tags as those they're getting feedback by the use of a generic icon instead of the supermarket/bakery.

We'd also be encouraging inappropriate tagging still. Picking a random local example, take shop=locksmith. It's low enough usage that it hasn't fallen into any of the lists so by not having it render.

On the other hand, this doesn't exactly help the proliferation of shop values.

vincentdephily commented 10 years ago

I like the idea of multi-purpose icon, although this might be out of scope for this bug.

I dont think that we should try to de-bias / normalize the data :

  1. you'll never find unbiased data. A fully-maped town is likely an european one, biasing against Africa/etc. Even a fully-maped town is biased (see recent childcare-is-all-the-same controversy).
  2. it needs an obscure query (why is value foo more important ?) that is harder to maintain an probably slower.
  3. it's not the right place to solve maping bias: so what if shop=erotic is overrepresented compared to shop=beautician ? I think it's more important for this style to be useful to current contributors rather than demographicaly correct. Encourage less-biased maping, extract the list of shops automatically and regularly from taginfo, and the problem disapears.
vincentdephily commented 10 years ago

@pnorman re including rare values VS excluding bad values : I agree that we want to map every correct value, no matter how rare. But there is a simple issue of available manpower to review and exclude bad values as we start including the long tail.

I think the proposed threshold of 100 is good for a start (come on, merge that already ! :p). If we've got more time later, we can lower the threshold and sift through the values.

I also think, if that wasn't clear already, that we shouldn't commit the list of values but rather the script that generates it (fetching from taginfo and applying a blacklist). I know this style is currently a list of static files and no Makefile, but I think the change would be worth it.

brycenesbitt commented 10 years ago

@pnorman agreed completely. Setting a threshold encourages mapping to the rendering. I'll admit I've even remapped a greengrocer as a convenience just to get it to show up (sorry). And I searched hard to find a suitable rendered tag that would work for produce stands before filing https://trac.openstreetmap.org/ticket/3906 .

Thus I'd say:

I think it's up to editing tools to discourage 'shope=spuermarket'. In general I would appreciate, not be annoyed, by a prompt 'spuermarket has not been used yet, did you mean supermarket?'.

If the objection raised by @gravitystorm on exclusions is too strong, then put shop= on some sort of cron tagwatch process that looks for new tag values, and assigns http://maproulette.org/ tasks to go in and see if they can be made more regular.

Let's also not forget about the semicolon (e.g. shop=guns;alcohol at http://taginfo.openstreetmap.org/search?q=+shop%3Dguns%3Balcohol ).

++++++++++++++++++++++ Example: there's a dog collar store in Berkeley California, selling nothing but dog collars: http://pacocollars.com/stores/ There can't be more than a few dozen of those on the entire planet. That makes it all the more interesting to map.

There's a relationship here with what the Open Directory Project does in categorizing physical locations, but that project is not nearly as vibrant as OSM. That said, they vet the website portion of local shop listings and have an insanely strict ontology at places like: http://www.dmoz.org/Regional/North_America/United_States/California/Localities/B/Berkeley/Recreation_and_Sports/Crafts/

jremillard commented 10 years ago

I thought this was considered a feature request and therefor needed to wait until the re-factoring/bug fixing is complete.

brycenesbitt commented 10 years ago

@jremillard is it not always appropriate to discuss, even if implementation is delayed?

brycenesbitt commented 10 years ago

Rendering shops could make it just a tad harder for people wanting to spam online shops into OSM: https://lists.openstreetmap.org/pipermail/talk/2013-December/068735.html

HolgerJeromin commented 10 years ago

please cleanup the shop=fish things in the list. The "right" Tag is http://wiki.openstreetmap.org/wiki/Tag:shop%3Dseafood Right now fishmonger, fish and the right seafood is not rendered. So please do not start rendering the "wrong" ones :-)

matthijsmelissen commented 10 years ago

See also http://wiki.openstreetmap.org/wiki/Project_of_the_week/2010/Jul_25 .

daganzdaanda commented 10 years ago

Hi, any development on this?

matthijsmelissen commented 10 years ago

I think this is a very important issue, and I would like to see this implemented as soon as possible. I don't know if @oddityoverseer13 is around, but if not, I'm sure someone else can take over.

@gravitystorm Would you be willing to merge this (once a suitable pull-request has been created) before we are at the 'add new features' stage? Out of all missing features, I think this is one of the most desirable ones,

gravitystorm commented 10 years ago

Sure