blackpythondevs.github.io icon indicating copy to clipboard operation
blackpythondevs.github.io copied to clipboard

Create a membership map

Open kjaymiller opened this issue 2 years ago • 11 comments

I'm not sure the easiest way to do this but I think we can figure it out together.

I've seen plenty of communities that have maps that highlight where their members are. While I don't think we need to be hyper specific I think a file that has a counter showing what countries people are from could be interesting. It would be nice to tie this into registration but I think that would be over-compilcating things a bit.

Perhaps we can start with some form (Google forms/Microsoft Forms) and then use that data to create a heatmap

I've done this with Elasticsearch, Google Maps, and with Azure Maps, we could also use a more open mapping tool.

kjaymiller avatar Oct 03 '23 14:10 kjaymiller

I could see using Folium

kjaymiller avatar Oct 03 '23 14:10 kjaymiller

I think I could help. How geographically specific should we get? Country or state/province?

oakinbod avatar Oct 05 '23 18:10 oakinbod

I think I could help. How geographically specific should we get? Country or state/province?

I think we can start with country

kjaymiller avatar Oct 05 '23 21:10 kjaymiller

I could see using Folium

Found a rather interesting resource on this using leaflet.js and google sheets to display pointers on your map.

Here is the resource

I opted for this and not Folium as it did not have as much documentation on the issue as I would have liked. Let me build something in my sandbox and I'll report back on whether I can implement this.

But I had a major inquiry. Should someone input their exact geo location or would it be auto captured behind the scenes. The second option seems better and more accurate but I do feel it is an invasion of privacy and it's why I needed to consult on it.

mbvgua avatar Sep 23 '24 06:09 mbvgua

interesting enough I would consider a map (maybe even openstreetmaps and a static geojson file. We don't need to anything too specific. It would be great to have a world map with the geometries of the countries where we have members.

kjaymiller avatar Sep 23 '24 11:09 kjaymiller

Oh great! That would significantly reduce all the things that could possibly go wrong 🤣 I was also quite worried about what would happen if the team's data was accidentally leaked.

With this development, id like to work on this issue

mbvgua avatar Sep 23 '24 14:09 mbvgua

Hello @kjaymiller. I am working on this in my jupyter notebooks and so far these are the milestones I have achieved:

  • [x] Acquired a GeoJson of the countries of the world from datahub.io. It can be viewed here
  • [x] Understood folium enough to map dummy data of users from a .csv file onto the map

Screenshot from 2024-09-28 07-06-17

I would like to have your input on:

  • [ ] The appropriate colour shading to use. I was unsure so I went with shades of brown
  • [ ] How to acquire data on actual countries with BPD members. I was thinking of doing a survey on the discord but maybe you already have the data

mbvgua avatar Sep 28 '24 04:09 mbvgua

I'll answer these in two bits. Starting with the first one.

I don't want to get into the realm of this area has the most people in it because that will get weird quickly.

What if there is a value system based on our involvement in the area.

1 == recognized members in the country 2 == communities supported in the country 3 == local BPD communities in country

The beauty of this is that it works on our development scale.

The other option is to use black if we have members in the country and then a BPD logo if we have a local meetup and we skip the sponsorship identification part.

kjaymiller avatar Sep 28 '24 07:09 kjaymiller

As for the second - we have done a survey but more accurate is the community groups. I've tried making a discord group for each country someone mentions being from. I could get a list from the groups. (Will do when it's not 3am my time)

kjaymiller avatar Sep 28 '24 07:09 kjaymiller

Hey @kjaymiller. After trying both methods, I've come to the realization that I might not be the best individual to work on this issue.

Kindly unassign me to allow for other individuals to take it up.

mbvgua avatar Oct 10 '24 16:10 mbvgua

Thank you for putting in the efrfort you have so far @mbvgua

kjaymiller avatar Oct 10 '24 18:10 kjaymiller