Geodaysit 2023

DigiAgriApp: l'applicazione per la gestione dei tuoi campi agricoli
06-15, 17:15–17:30 (Europe/London), Sala Videoconferenza @ PoliBa

DigiAgriApp è un'applicazione client-server per gestire diversi tipi di dati relativi ai campi agricoli. È in grado di memorizzare informazioni sulle colture (specie, forme/sistemi di coltivazione...), qualsiasi tipo di dato di sensori (inclusi sensori e dispositivi hardware, meteo, terreni...), informazioni sull'irrigazione (tipo di sistema, aperture...), operazioni sul campo (potatura, sfalcio, trattamenti...), dati da telerilevamento (presi da diversi dispositivi come cellulari, droni, satelliti) e quantità di produzione.

Il server DigiAgriApp è composto da un database PostgreSQL/PostGIS e da un servizio API REST per interfacciarsi con esso. Il server è sviluppato utilizzando Django e l'estensione del framework Django REST, altre estensioni minori sono utilizzate per creare l'API REST. Questo servizio rappresenta l'interfaccia chiave tra il database e il client. Per creare l'API abbiamo scelto una modalità annidata, in cui l'elemento principale è l'azienda agricola; in questo modo l'utente può vedere solo le aziende agricole a lui correlate e da lì può guardare ad altri elementi annidati, prima di tutto i campi dell'azienda agricola e poi altri elementi come i dati dei sensori e quelli remoti oppure altri sottocampi, le file fino ad arrivare alle singole piante. L'API REST utilizza JavaScript Object Notation come formato di input e output per semplificare e standardizzare la comunicazione con essa.

Per ottenere i dati dai sensori, il server è composto anche da un numero crescente di servizi per lavorare con i fornitori di dati, di cui attualmente solo alcuni sono implementati. Il Message Queue Telemetry Transport provider è un demone in continuo ascolto di un broker e di diversi topic per ottenere i dati non appena vengono forniti; il secondo servizio già implementato è relativo ai dati di telerilevamento e utilizza la specifica SpatioTemporal Asset Catalogs per ottenere i dati. STAC è un linguaggio comune per descrivere le informazioni geospaziali, in modo che possano essere più facilmente lavorate, indicizzate e scoperte.

Il lato client invece è sviluppato utilizzando Flutter, un kit di sviluppo software open-source per interfacce grafiche basato su dart, un linguaggio di programmazione progettato per lo sviluppo di client. Flutter è in grado di creare applicazioni multipiattaforma ed è stato scelto proprio per la sua capacità di realizzare applicazioni che possano essere eseguite sulle maggiori piattaforme.

Tutto il codice è rilasciato come software libero e open source con licenza GNU General Public License Version 3; è disponibile nel repository DigiAgriApp su GitLab e l'applicazione client sarà pubblicata anche nei principali store per applicazioni mobili.

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.