pietervdvn / MapComplete

An easy-to-use webapp to edit OpenStreetMap
https://mapcomplete.org
220 stars 91 forks source link

Open Vegetarian/Vegan Map #35

Closed pietervdvn closed 3 years ago

chrneumann commented 3 years ago

Will work on this, at least a vegan layer. Development happens here: https://github.com/chrneumann/MapComplete/tree/feature/vegan-layer

chrneumann commented 3 years ago

Basic implementation running on: https://frankfurt-vegan.de/

pietervdvn commented 3 years ago

Really cool!

Few small remarks:

chrneumann commented 3 years ago
* One can mark that there are no vegan options, but one cannot mark that there are no vegetarian options - diet:vegetarian:no can not be chosen. Is that intentional?

Yes, the question shows only up if there are vegan options, so diet:vegetarian=no IMHO does not make sense. And yeah, the layer is vegan oriented. The rationale behind the vegetarian question is that vegans usually prefer eating in vegetarian-only locations, but don't care about locations that serve vegetarian but not vegan food. Maybe an official layer in MapComplete should include vegetarian needs, but maybe it would make sense to have an extra layer/theme for this? Thought about this while creating the theme. One question arised: What, if more than one layer matches an object? In Streetcomplete, you would get the questions of all "layers", one after another. Didn't try this with MapComplete, but I guess that is not so easy?

* Change the waymarking to 1 or 2 to render the centerpoints of restaurants. A restaurant such as [this one](https://frankfurt-vegan.de/?z=19&lat=51.05057&lon=3.710519&background=osm#way_452693018) is rendered with the outline only making it less visible. (_Note: this might only be on the layer with unknown data, I didn't check_)

Thanks, will fix this :) !

(BTW, great work, it's fun to play with MapComplete!)

pietervdvn commented 3 years ago

Good to hear that you are enjoying it! It's very motivating ;)

Yes, the question shows only up if there are vegan options,

Wow, I thought about it from the opposite angle; more like OpenVegeMap where one asks for both vegan and vegetarian options. That also helps when a meat-lover has to pick a restaurant which has to accomodate the vegetarian choices of their company or vice-versa ;)

Indeed, if there are vegan option, that automatically implies there are vegetarian options... Maybe I should also add a condition on a mapping, that the 'diet:vegetarian=no'-mapping can be hidden away based on other tags... I've opened an issue (#165 )

What, if more than one layer matches an object?

Only the first matching layer is used - and only the questions of that layer is asked. Also note that objects cannot move layers: e.g. if there is a layer for vegan restaurants (with questions Q1 and Q2) and for normal restaurants (with the only question 'is this vegan'), selecting the 'is vegan option' will not cause Q1 and Q2 to appear, one would have to reload the entire theme. This is also the reason that the RoamingRenderings were introduced.

The difference is that StreetComplete works in terms of questions, as in: "which questions can we ask in the vicinity of the user". It then has a question about e.g. road surface and wether or not the road is lit. However, these are different layers as a "path" will (probably) not be asked wether it is lit, but the surface could be asked.

MapComplete OTOH thinks in terms of relevant objects (in this case restaurants, in a similar case road) where all information on that restaurant/road is combined into a single popup and all answers/questions are shown at once in that same popup. The divide between vegan and vegan-unknown restaurants is mainly an artificial one, imposed by technical restrictions.

pietervdvn commented 3 years ago

Oh, I forgot to mention, some good extra functionality would be to be able to filter away some POI in MapComplete... But that is for another day.

pietervdvn commented 3 years ago

A restaurant and fastfood-theme has been implemented. While not specifically focused on vegetarian/vegan restaurants, it offers the needed filters to create filter only those.