FOSS4G 2021 - MapSwipe - an open-source mobile app putting communities on the map
Channel: FOSS4G
Date: 2021-11-08

Maps play a critical role in disaster response, enabling humanitarian organisations to better identify people in need, coordinate response and provide assistance where it’s needed most. However, many of the communities where disasters occur are literally missing from any map. First responders working with these communities often have to cover large areas to find out where the population is affected, but lack the data necessary for an efficient, effective response.

Many tools for mapping in OSM can be daunting for people without a technical or mapping background. This constitutes a high barrier to join open mapping initiatives for beginners and people that are not willing to spend that much time on training or that don’t have access to a laptop.

MapSwipe is an open-source mobile app that makes it even easier for anyone to contribute to humanitarian mapping, with tasks that can be done in just minutes and in-app tutorials to get started. In this talk we will provide an overview on it from three angles:

community
app (react-native)
backend (python and postgis).
Since its start in 2015, MapSwipe has scaled to more than 30,000 users mapping 1,300,000 km2. MapSwipe is built and maintained by volunteers, with the support of the British Red Cross, HeiGIT and the GIScience Research Group, Humanitarian OpenStreetMap Team and Medecins Sans Frontieres.

Community
MapSwipe data is created by volunteers and accessible to the entire community. Once a project has been requested by a community, the MapSwipe team creates it in the app, using imagery from a variety of sources and creating instructions that help the user to understand what to look for and the resulting action they should take. Each set of imagery is viewed by at least 3 individuals to improve data-quality. In the year 2020 9,281 volunteers worked on 168 projects and contributed more than 90 Million results.

Backend
MapSwipe is a successful example where research results have been transferred into a real-world application which is used among numerous humanitarian organisations. This research work has shaped mostly MapSwipe’s backend geoprocessing workflows. The backend is based on python (gdal) and postgresql (postgis) and interacts with Firebase (which is used by the app).

To create a new mapping task, the overall project extent is split up into many single tasks. Tasks are the smallest unit in the MapSwipe data model. They are derived from the area of interest by gridding it into many small equal-sized rectangular polygons. Each task corresponds to a specific tile coordinate from a tile map service (TMS) using a web Mercator projection as its geographical reference system. Therefore, each task is characterized by a geometry and its tile coordinates, which describe its x, y and z position. For most projects tasks are generated at zoom level 18, but there have been few projects that used even higher zoom levels.

Single MapSwipe projects can contain up to several hundred thousand tasks. This can pose a challenge to fast and performant communication between clients and server if many volunteers contribute data at the same time. Therefore, groups have been introduced to reduce the amount of client requests on the backend server. Groups consist of several tasks that will be shown to the user in one mapping session.

During the post-processing the individual user results are aggregated, filtered and simplified to provide meaningful output for project managers at humanitarian organisations. This output is used to either set up a mapping campaign in OSM or directly used.

App
The app is written in react-native and uses Firebase realtime database as the backend. While most geo-processing happens in the backend, the app mainly displays the individual mapping tasks, which are based on tiles that are provided through a Tile Map Service (TMS). We’ve recently introduced a new project type, which allows us to display arbitrary polygon geometries as well. However, this is still rather experimental and not as widely used.

Authors and Affiliations –
Herfort, Benjamin (1)
Henshall, Johnny (2)

Track –
Use cases & applications

Topic –
FOSS4G implementations in strategic application domains: land management, crisis/disaster response, smart cities, population mapping, climate change, ocean and marine monitoring, etc.

Level –
1 - Principiants. No required specific knowledge is needed.

Language of the Presentation –
English