- volunteering for 3 years
- contributing to OpenStreetMap
- we are mapping developing countries
- maps used by humanitarian organizations (MSF, Red Cross) and locals
Mapathon
- Many dedicated mappers (usually 20 - 100)
- Large area to map
What is the approach?
- Divide the area to the smaller squares that a human can map
- Let the dedicated mappers map the squares
Some of the HOT Tasking Manager issues
- Primary functionality first
- Performance issues (the project architecture)
- Project management vs. community driven
- Closed tools used (Google disk, Slack, …)
They do it wrong
- In my humble opinion, it may look like there are some little issues, I think.
- I want to provide constructive critique/feedback.
- Multiple repositories (explicitly splitted)
- Server – JSON API to PostGIS database
- Client – for mappers (number of mouse clicks to start mapping)
- Manager – create area to map: MapSwipe Analytics, geojson.io
- JOSM plugin – of course
- Deploy – put the project to production
- Gitter chat (archived, open communication channel)
- Mappers <–> Client devs <–> Server devs
- GitLab Issues
Damn server
- FastAPI – asyncio REST JSON API
- PostGIS database
- Areas, squares, commits, users
- Map/review square as database query
- Split area/square written in plpgsql
- Since for commits
Damn clients
- Proof of concept
- Static web page
- Client library
- New clients more than welcome
Damn deploy
- change environment variables in
env
file for specific domain
docker-compose up
The damn future
- Use by some local community of mappers
- Community to drive the project
- Benchmarking to HOT Tasking Manager
- Server currently runs on
1 vCPUs, 1GB / 25GB Disk
- Profiling <–> refactor loop