pietervdvn / MapComplete

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

Clustering issues #2047

Open rakoo opened 1 month ago

rakoo commented 1 month ago

Hey there, thanks a lot for your tool it is amazing. I've been dreaming for a tool like this for a long time because so much information is already in openstreetmaps, and surfacing it is the way we want is the best way to make it useful.

I started to build a map for surfacing LGBTQI+ friendly places: https://mapcomplete.org/theme.html?userlayout=https%3A%2F%2Fstudio.mapcomplete.org%2F13533153%2Flayers%2Flgbtqi_friendly%2Flgbtqi_friendly.json

My problem is that I don't want to show only friendly places, I also want to display "uncategorized" places so we can change them if need be. This means there must be a way to select them, so my filter is amenity != OR shop != which is a lot. When zooming out the display becomes messy: clustering doesn't seem to kick in and absolutely all the places have a pin. Go to a relatively big city and you'll hear your CPU fan spinning.

What I'd like to see is not just clustering (I don't know if it's broken here or if conditions just aren't met), but a dynamic clustering that partitions points in different buckets: in my case, a bucket for "uncategorized" places, and another one for "categorized" places. The effect will be that "uncategorized" places get clustered because there's just so many, and "categorized" places aren't, not because they're special, but because they are so few. That would provide the 2 features I'm interested in: see the "categorized" places and make them stick out, and still allow "uncategorized" places to be changed.

Is that something interesting enough ?

pietervdvn commented 1 month ago

Hi,

The LBGTQ-theme is definitively interesting. However, it doesn't make sense for all the places, so I propose to start easy with e.g. only pubs and restaurants.

The approach to this is typically as following:

  1. The tagging is figured out, the most difficult one for this as we need something that is verifiable, e.g. a 'LGBTQ'-friendly sticker. Note that knowing this will often be impossible. A generic shop might be friendly towards LGBTQ-people when cashier A is working there, but cashier B might be a total bigot hating them.

  2. The question is created and added to the relevant layers. To reuse questions, we normally place the question in questions.json and then invoke this question in the relevant layers (e.g. pubs, restaurants, ...)

  3. A specific theme is created for this. For this, we typically load the same layer twice: once we show e.g. all shops, but only when zoom is greater then e.g. 17, the other layer shows only shops according to a criteria, but when zoomed out. The new glutenfree is a good example of this. The source code is revealing on how this is done.

In other words, focus on getting the tagging right ;)

pietervdvn commented 1 month ago

Even more interesting would be to improve the healthcare-theme to indicate which doctors do what surgery for trans people - there are a whole lot of specialized surgeries (e.g. voice feminization, nose surgery, breast removal/construction, ...) and different clinics might offer different types of surgeries.

Furthermore, other types of amenities might be interesting as well - such as condom machines, menstrual product dispensing machines, ...

pietervdvn commented 1 month ago

Also have a look to this discussion in StreetComplete, to the openLoveMap and to the wiki page

As you'll notice there, this is a rather complicated topic on several aspects - not alone on verifiablity, but also on legality and safety of those places within there respective countries and social contexts.

In conclusion, I'd love to have an LGBT-theme within official, but it is gonna take a lot of work (for which I don't have the time nor the energy) to get this completely right - and we must get it right because it is such a sensitive topic.

For this, I would recommend to take small steps, e.g. by adding various trans-related topics to the doctors - speciality question using this scheme

Please, continue to ask feedback, e.g. on our chat channel where I (and many others) will gladly assist you.