FOSS4G 2022 academic track

Daniele Oxoli

Environmental Eng., PhD in Geomatics and Assistant Professor at Politecnico di Milano, Italy (https://www.gisgeolab.polimi.it). Research interests: GIS, EO and Free and Open Source Software. Passionate about everything connected to (geo)data analysis and visualization. Charter Member of OSGeo (https://www.osgeo.org) and co-founder of GISdevio (https://gisdev.io).


Sessions

08-24
14:45
30min
Geo Collector Bot: A Telegram-based open toolkit to support field data collection
Daniele Oxoli

The collection of georeferenced information on the field has become an established and popular practice allowing professionals, volunteers and citizens to contribute to mapping objects or reporting events. Field data collection is essential to a variety of domains [1] including many scientific and humanistic disciplines, humanitarian and rescues operations, locations reviews and professional engineering surveys, to mention a few.

The spread of mobile devices that can record location coordinates, media and features while on the go (and share them through the web) is primarily accountable for such diffusion. As a result, a number of mobile apps and software frameworks (both proprietary as well as free and open-source) have been developed and released to perform data collection on the field. Most of these frameworks allow developers or data collection promoters to customize collection forms according to the characteristics of each collection task and manage both users and records through web dashboards or database management systems. From the user perspective, mobile client apps are available to access selectively the collection forms and contribute to the data collection on the field using mainly smartphones or tables. Focusing on general-purpose data collection software frameworks, some of the most popular free and open-source solutions are the Open Data Kit (ODK, https://opendatakit.org), the KoBoToolbox (https://www.kobotoolbox.org) and Epicollect (https://five.epicollect.net). Other relevant examples of free and open-source frameworks implementing a more technical approach to field data collection are e.g. QField (https://docs.qfield.org), Geopaparazzi and SMASH (https://www.geopaparazzi.org). Proprietary or pay-per-use solutions developed by major GIS firms are also available on the market but they were not considered in the benchmark analysis carried out in this work.

The outlined free and open-source software frameworks provide client and server modules and both web and mobile apps to support the full development of field data collection projects [2]. From the developer (or data collection promoter) perspective, the adoption of such frameworks is facilitated by the availability of open APIs, interfaces and dashboards to generate, deploy and manage collection forms, users and records. Nevertheless, limitations connected to the final user experience are common to most of them. On one hand, mobile client apps are not always available or optimized for all mobile OS, therefore preventing their use on the field by a significant number of potential contributors [3]. This is the case e.g. of the ODK on iOS devices. On the other hand, each of these frameworks requires the installation of a specific mobile app on the user's device. This operation may not represent a significant obstacle to the contribution to specific data collection projects by very active or committed users. However, it might inhibit the contribution of occasional users who may not be willing to install additional software on their device for sporadic mapping of objects or event reporting [4].

In view of the above, this work presents the Geo Collector Bot, an alternative free and open-source software toolkit to empower field data collection projects avoiding the development and/or the installation of a specific mobile app on contributors' devices. The Geo Collector Bot is a configurable Telegram-based chatbot enabling the dispatching of data collection forms that can be activated and filled through Telegram chats. It consists of a backend application written in Typescript and running on Node.js. As the supporting mobile client, the Telegram app is exploited thus enabling a large number of users to contribute, even sporadically, to data collection projects (potentially every Telegram user; 550 million monthly active users as of July 2021). The Geo Collector Bot is released under MIT License and source code, documentation and a demo are available on GitLab (https://gitlab.com/geolab.como/geocollectorbot).

The Geo Collector Bot works as a standard Telegram Bot. To collect the data, the Bot asks a series of questions to the user including location coordinates, media, textual annotations, multiple-choice checkboxes, etc. and persists the answers to a spatial database. The questions flow can be customized by editing a JSON configuration file. Local deployments of the system are facilitated by the provision of a Docker container (https://hub.docker.com/r/geolabpolimi/geo-collector-bot).

The Geo Collector Bot has been developed in the framework of the INSUBRI.PARKS project (https://insubriparksturismo.eu), funded by the Interreg Co-operation Programme 2014-2020. This project aims at increasing the tourism attractiveness of the Insubria region (between Northern Italy and Southern Switzerland) through the provision of infrastructure as well as integrated marketing and management strategies for the Insubria natural parks. The Bot represents a component of the virtual infrastructure supporting the project. It was originally designed to allow both parks visitors and managers to easily collect and share geolocated records on parks status and feedback on points of interest. However, the ultimate goal of the presented work is to provide an open and general-purpose data collection software framework suitable for multi-purpose applications.

The current version of the Geo Collector Bot still does not provide dedicated backend supporting modules for both collection tasks and records management. To that end, the development of a web control dashboard is planned and it will be included in the stack of the Geo Collector Bot Docker container as an auxiliary component. The Bot has been tested using a PostgreSQL-PostGIS database. Additional configuration options to plug other spatial database systems is planned as well in the future development of this work.

Room Hall 3A