FOSS4G 2023

DigiAgriApp: the app to manage your agricultural field
06-28, 11:30–12:00 (Europe/Tirane), UBT C / N109 - Second Floor

DigiAgriApp is a client-server application to manage different kinds of data related to farming fields. It is able to store information about crops (specie, farming forms/system...), any kind of sensor data (included sensors and device hardware, weather, soils...), irrigation information (system type, openings...), field operations (pruning, mowing, treatments...), remote sensing data (taken from different devices as mobiles, drone, satellites) and production quantities.

The DigiAgriApp server is composed of a PostgreSQL/PostGIS database and a REST API service to interface with it. The server is developed using Django and the Django REST framework extension with other minor extensions are used to create the REST API. This service plays the key interface between the database and the client. We choose a nested way to create the API, of which the main element is the farm; this way the user can see only the farms related to him and from there he can look to other nested elements, first of all the farm’s fields and later other elements like sensor and remote data or other sub-fields like rows and plants. The REST API is using JavaScript Object Notation as input and output format to simplify and standardize the communication with it.

To obtain data from the sensors the server is also composed of a growing number of services to work with data providers, of which currently only a few are implemented. The Message Queue Telemetry Transport provider is a demon listening continuously to a broker (backend system to coordinate different clients) and several topics to obtain data as soon as they are provided; the second provided that is already implemented is related to remote sensing data and uses the SpatioTemporal Asset Catalogs specification to obtain the data. STAC is a common language to describe geospatial information, so it can more easily be worked with, indexed and discovered.

The client side instead is developed using Flutter, an open-source UI software development kit based on dart, a programming language designed for client development. Flutter is able to create cross-platform applications and it was chosen precisely because of its ability to realize cross platform applications.

All the code is released as Free and Open Source software with a GNU General Public License Version 3 license; it is available in the DigiAgriApp repository on GitLab and the client application will be published also in the main stores for mobile apps.

Andrea Antonello works on open source GIS development since his degree in environmental engineering. He is co-founder of HydroloGIS, a company that makes use as well as develops geospatial open source software for environmental analyses. Andrea is lead of the HortonMachine and Smash projects and part of the development team of k.LAB in Aries. He is lecturer for Scientific Computer Programming and Advanced Geomatics at the Free University of Bolzano.

This speaker also appears in:

Luca is an OSGeo and OSM contributor and advocate. He graduated in Geography from University of Genova (Italy) in 2008. Since the same year he work at Fondazione Edmund Mach, an organisation near Trento. He is interested in all features about GIS: desktop, web, geodatabase, developing and geodata. He contributes to GRASS GIS project, pyModis, OSGeoLive and ZOO-Project and others.

He is active in the Italian community; he has been a board member and the president of the Italian OSGeo local chapter. He has been the board member for about 10 years.

He was the chair of the FOSS4G 2022 conference.