Quest: is there bike parking here?
I was looking at the new fancy Quests feature, and considering how I would construct a nifty prompt.
Bike racks are implemented as Points tagged with amenity=bicycle_parking and bicycle_parking=*.
But if the quest is about another amenity, like a cafe or shop or library, then there's no meaningful way to either ask a question about bicycle parking or to answer it by mutating that amenity point.
This problem is two-fold, and I don't think either domain is solved at present:
- Is there a point with some tag (eg
amenity=bicycle_parking) within some cutoff distance (eg 30 meters) of some interestingamenity=*POI? Aka, don't ask if we already know there is bike parking here. - If not, the quest prompt is to add a new Point with some preset tags (eg
amenity=bicycle_parking) and some to be filled in (egbicycle_parking=*). Aka, where is the parking, and what type/quantity?
A similar scenario exists for personal automobile parking, washrooms, drinking fountains, and other secondary-use amenities.
This is definitely an open problem at the moment. It would require writing two sets of filters and then connecting them with a distance. Probably out of scope for the time being unless someone can think of a reasonably easy way of handling it.
The around feature in Overpass allows something close to this; make a set of all the bicycle parking A, make a set of all the shops B, filter set B around A (eg 500m), and then find the difference with B => shops lacking parking. But afaict the filter systems used by both GoMap and StreetComplete are far more bespoke.
MapRoulette challenges can be defined using Overpass queries, so I'll probably look into doing that. https://learn.maproulette.org/documentation/using-overpass-to-create-challenges/
The StreetComplete filter system is more powerful than what we've implemented in Go Map!! so far, but even SC requires that many filters be written in native code rather than the filter scripting language it uses. I understand that Overpass is sufficiently powerful, but I consider it too complicated a language for non-experts.