Chi lavora sui fiumi lo sa: delimitare a mano l’alveo a piene rive lungo chilometri di corso d’acqua, sezione dopo sezione, guardando il DTM lidar e le ombreggiature, richiede giorni. E due operatori diversi, quasi sempre, tracciano due limiti diversi.
BankFullDetection fa questo lavoro in automatico. Gli dai un DTM e l’asse del fiume; lui genera le sezioni trasversali, trova in ciascuna la quota di bankfull e ti restituisce le sponde, la larghezza, la profondità e il poligono dell’alveo, pronti in QGIS. Da oggi funziona sulle versioni attuali di QGIS 3 e non richiede più R.
Che cos’è il bankfull, e perché ci interessa
Il bankfull è il livello a cui l’acqua riempie l’alveo fino al ciglio delle sponde, un attimo prima di esondare sulla piana. È uno dei riferimenti fondamentali della geomorfologia fluviale: da lì si misurano la larghezza e la profondità dell’alveo attivo, si confrontano tratti diversi dello stesso fiume, si seguono nel tempo l’incisione o l’allargamento del corso d’acqua.
Serve a chi si occupa di riqualificazione fluviale, di contratti di fiume, di gestione dei sedimenti, di progettazione idraulica, di valutazione dello stato morfologico. E con i DTM lidar ormai disponibili per gran parte del territorio, il dato per misurarlo c’è: quello che mancava era un modo rapido e ripetibile per farlo su tratti lunghi.
Una storia lunga dieci anni
BankFullDetection è nato nel 2016 come plugin per QGIS 2 e il metodo è stato pubblicato nel 2019 sull’ISPRS International Journal of Geo-Information (De Rosa, Fredduzzi e Cencetti), con applicazioni sul Tevere e sul Paglia.
Negli anni il codice ha avuto una vita propria. Nel 2024 un gruppo dell’Università di Melbourne (Garber et al., Water Resources Research) è partito proprio dal nostro codice per sviluppare HydXS, lo ha migliorato e lo ha confrontato con una rete neurale su un torrente australiano: il metodo basato sulla profondità idraulica è risultato il più accurato dei due.
Il plugin originale però non funzionava più: era scritto per Python 2 e QGIS 2.18 e usava R per lo smoothing statistico. La nuova versione riparte da zero, mantenendo il metodo e integrando quello che abbiamo imparato nel frattempo.
Cosa c’è di nuovo
Funziona su QGIS 3.34 e successive, fino alla 3.44.
Niente R. Lo smoothing statistico è stato riscritto in Python e riproduce quello di R con una differenza dell’ordine di 1e-13: stessi risultati, nessuna installazione aggiuntiva.
È un algoritmo Processing. Lo trovi nel pannello Strumenti di Processing, lo puoi usare in batch su più fiumi, dentro un modello grafico o da riga di comando con qgis_process.
Opzioni consigliate più robuste. Nei fiumi arginati il metodo originale poteva farsi ingannare dalle piane dietro gli argini, più basse delle sponde. Il nuovo preset considera solo l’alveo principale e sceglie il ciglio della sponda: sulle sezioni di prova dell’Arno l’errore medio rispetto alla lettura esperta è sceso da oltre 3 m a circa mezzo metro.
Risultati pronti da usare: le sezioni con quota di bankfull, larghezza, area e profondità; i punti di sponda sinistra e destra idrografica; il poligono dell’alveo a piene rive.
Controlli di qualità inclusi: ogni sezione dice se il calcolo è riuscito, quanto è stabile e se la sezione era abbastanza lunga.
Come funziona, in trenta secondi
Il bankfull è il livello a cui la profondità idraulica smette di crescere.
Immagina di riempire la sezione d’acqua un poco alla volta. Finché l’acqua resta nell’alveo, a ogni centimetro in più cresce la profondità media, cioè il rapporto tra area bagnata e larghezza in superficie. Appena supera il ciglio e comincia a espandersi sulla piana, la larghezza aumenta di colpo e la profondità media smette di crescere.
Il plugin calcola questa curva per cento livelli d’acqua, la liscia con una spline per non farsi ingannare dalle piccole irregolarità del terreno, e cerca il punto di massimo: quella è la quota di bankfull. Le sponde sono i punti in cui, a quella quota, la superficie dell’acqua incontra il terreno.
Provalo in cinque minuti
1. Installa il plugin
BankFullDetection è pubblicato nel repository ufficiale dei plugin di QGIS, quindi si installa in pochi clic direttamente da QGIS:
Apri Plugin → Gestisci e installa plugin.
Nella scheda Tutti cerca Bankfull e seleziona Bankfull width detection.
Clicca Installa plugin.
Nella barra degli strumenti compare l’icona di BankFullDetection; gli algoritmi sono anche nel pannello Strumenti di Processing, nel gruppo BankFullDetection.
Un DTM del tratto di fiume, meglio se lidar ad alta risoluzione, con quote in metri.
L’asse del fiume come layer di linee, in un sistema di riferimento metrico (per esempio UTM), digitalizzato da monte verso valle. È importante: da questo dipendono la sinistra e la destra idrografica nei risultati.
3. Lancia Detect bankfull
La finestra di Detect bankfull con DTM e asse compilati. Didascalia: bastano il DTM, l’asse e due numeri.
Clicca l’icona del plugin, oppure apri Detect bankfull dagli Strumenti di Processing.
Scegli il DTM e il layer dell’asse.
Imposta la distanza tra le sezioni (50 m va bene per iniziare) e la larghezza delle sezioni: è la lunghezza totale, metà per lato, e deve superare entrambi i cigli con un buon margine. Per un fiume arginato come l’Arno servono 700–800 m.
Lascia i parametri avanzati come sono: il preset Recommended è il punto di partenza consigliato.
Clicca Esegui. Con il preset consigliato servono circa 2 secondi per sezione; il calcolo si può annullare in qualunque momento.
4. Guarda i risultati
Alla fine trovi tre nuovi layer: le sezioni con la quota di bankfull e le grandezze dell’alveo, i punti di sponda e il poligono dell’alveo. Il registro di Processing riassume quante sezioni sono state calcolate e segnala quelle da controllare: per esempio le sezioni troppo corte, in cui la sponda cade sul bordo, che suggeriscono di aumentare la larghezza.
La prova sull’Arno
Prima di rilasciarlo abbiamo messo il plugin alla prova su un tratto dell’Arno: un fiume grande, inciso, con argini, piane interne, fossi laterali. Su otto sezioni campione abbiamo confrontato il risultato con la lettura visiva del profilo fatta da un esperto.
La quota calcolata cade sul ciglio della sponda dell’alveo principale.
Con le opzioni consigliate, in sei sezioni su otto la quota calcolata è entro mezzo metro dalla lettura esperta del ciglio principale, e le sponde cadono dove te le aspetti guardando il profilo. Le larghezze a piene rive, tra 120 e 145 m, sono coerenti lungo tutto il tratto.
Otto sezioni sono poche per parlare di una calibrazione, e lo diciamo chiaramente: sono un banco di prova. Ma il metodo è lo stesso validato nel 2019 e ripreso nel 2024, e il codice è verificato da centinaia di test automatici, compreso il confronto punto per punto con la versione originale in R.
Cosa sapere prima di usarlo
Nessun metodo automatico sostituisce l’occhio di chi conosce il fiume, e questo non fa eccezione. Tre cose da tenere presenti:
Il plugin è pensato per chi conosce la geomorfologia fluviale. L’asse va digitalizzato da monte verso valle, e i risultati vanno guardati con occhio critico.
Le piane interne basse sono un caso ambiguo. Dove subito dietro una sponda c’è un ripiano più basso, il metodo trova il ciglio dell’alveo attivo, non quello della piana principale. È un’ambiguità reale, discussa anche in letteratura: il plugin ti dice cosa trova, sta a te interpretarlo.
Controlla le sezioni segnalate. Ogni sezione riporta quanto il risultato è stabile e se la sponda cade sul bordo: le poche sezioni dubbie si individuano subito e si verificano sul profilo.
Nelle curve strette, con sezioni lunghe, le sezioni possono incrociarsi: il plugin le tiene, le segnala e indica se l’incrocio cade dentro l’alveo.
Provalo sul tuo fiume
Il plugin è libero e open source. Scaricalo, provalo su un tratto che conosci bene e confronta il risultato con la tua lettura del terreno: è il modo migliore per capire dove ti fa risparmiare tempo e dove va guardato con attenzione.
Se trovi un problema o hai un’idea, aprila come segnalazione su GitHub: ogni caso reale aiuta a migliorare il metodo. E se lo usi in un lavoro o in una pubblicazione, cita l’articolo originale.
Link utili
Il plugin nel repository ufficiale di QGIS: https://plugins.qgis.org/plugins/BankFullDetection/
L’ultima release su GitHub: https://github.com/pierluigiderosa/BankFullDetection/releases/latest
Segnala un problema o proponi un’idea: https://github.com/pierluigiderosa/BankFullDetection/issues
Scarica QGIS: https://qgis.org
L’articolo del metodo: De Rosa, P., Fredduzzi, A., Cencetti, C. (2019). A GIS-based tool for automatic bankfull detection from airborne high resolution DEM. ISPRS International Journal of Geo-Information, 8(11), 480. https://doi.org/10.3390/ijgi8110480
Lo studio di Melbourne che ha ripreso il metodo: Garber, J. et al. (2024). Artificial intelligence and objective-function methods can identify bankfull river channel extents. Water Resources Research, 60, e2023WR035269. https://doi.org/10.1029/2023WR035269
Questo sito usa cookie tecnici necessari al funzionamento e, solo con il tuo consenso, cookie di terze parti (video YouTube, pulsanti social, statistiche). Puoi accettare o rifiutare: se chiudi il banner o rifiuti, usiamo solo i cookie tecnici. Puoi cambiare scelta in qualsiasi momento.
Lascia un commento
Devi essere connesso per inviare un commento.