gtergeomatica / PLUGIN_CHM_FROM_LIDAR

The CHM from LIDAR plugin creates a Canopy Height Model (CHM) starting from LIDAR data (DTM and DSM First Pulse)
2 stars 2 forks source link

elaborazione del CHM per l'intera campagna di volo - riuso dei dati #9

Closed sergiozenforeste closed 5 years ago

sergiozenforeste commented 5 years ago

Ho provato ad elaborare il CHM per un'intera campagna di volo ( Consorvio di Bonifica Veronese). Questa campagna presenta dei file compressi e per superare il problema di scrittura nel disco di rete ho fatto una copia in una cartella per la quale ho i diritti di scrittura. L'elaborazione dell'intera campagna è stata completata con successo. In questo caso, come da manuale, il plugin salva tutte le informazioni relative ai nuovi CHM creati (percorso di salvataggio, nome del file, formato e sistema di riferimento) nella tabella del layer vettoriale generato dalla selezione delle tile. Mi chiedo però che utilità ha il salvataggio di queste informazioni dato che il plugin di default utilizza il layer tile_dsm_dtm? Non sarebbe il caso di salvare queste informazioni in questo layer? In questo caso avrei le informazioni necessarie, nel caso di una clip su un'AOI, per utilizzare i CHM calcolati altrimenti devo sempre rielaborare i dati partendo dai DSM e DTM?

rmarzocchi84 commented 5 years ago

Quanto dici è corretto. Effettivamente è una modifica che, se vi ricordate, avevamo concordato in corso d'opera. Il plugin non modifica il layer tile_dsm_dtm che è un file che per vostra praticità è già incluso nel plugin e viene caricato per tutti gli utenti uguali. Se vi ricordate ci eravamo posti il problema del salvataggio del CHM in locale sul PC dell'utente e ci avevate appunto detto che ovviamente doveva essere possibile, ma ovviamente è incompatibile con l'utilizzo di un file univoco per tutti con le tile.

Ciò ha ancora più senso alla luce di tutte le varie opzioni previste (cambio di CRS) e aggiunte (filtro su numeri negativi e massimi) che renderebbero comunque poco utile l'utilizzo del CHM pre-calcolato come dato di input: Infine va detto che si risparmierebbe davvero poco tempo perchè il calcolatore raster è ormai solo una piccola porzione dell'intero workflow.

Come concordato viene esportato il tutto nella tabella del layer vettoriale generato dalla selezione delle tile per consentire il recupero agevole di dati già calcolati all'utente. Ovviamente se nella cartella di output sono già presenti le tile del CHM vengono sovrascritte (seppur con le nuove opzioni scelte dall'utente) per non generare dati duplicati.

Fateci sapere se credete sia da spiegare meglio nel manuale.

sergiozenforeste commented 5 years ago

Bisogna distinguere due livelli di utilizzo del plugin, quello di utente da quello di amministratore. Nel primo caso le tue osservazioni sono pertinenti, meno nel secondo caso. Penso che se viene eseguita l'elaborazione del CHM per un'intera campagna di volo, conservando i medesimi parametri dei DSM e DTM originari, può essere utile avere a disposizione questi dati per il loro riuso. Trattandosi di operazioni saltuarie, è sempre possibile per l'amministratore, modificare il layer tile_dsm_dtm inserendo per la campagna elaborata i pertinenti dati relativi al CHM (percorso di salvataggio, nome del file, formato e sistema di riferimento e risoluzione). Attualmente il layer tile_dsm_dtm non contiene al suo interno alcuna informazione inerente il CHM e non sono quindi in grado di verificare se, nel caso di disponibilità del CHM, il plugin utilizza o meno questo dato.

rmarzocchi84 commented 5 years ago

Le colonne:

ci sono già quindi se l'amministratore (direi voi) vuol salvare i dati sul file dtm_dsm è sufficiente che ci mandi il file risultante dall'elaborazione della campagna che contiene quelle colonne e ciò ci consente di fare l'update dei dati sul file delle tile agevole.

Si noti invece che la risoluzione del CHM è invece uguale a quella del DTM e DSM in quanto viene eventualmente modificata solo quella del clip.

Dopodichè resta il problema del filtro. Se volessimo dire al plugin di by-passare il raster calculator dovremmo comunque essere certi che l'amministratore non usi nessun filtro quando calcola il CHM da salvare nelle cartelle di rete.

Lato utente il plugin dovrebbe comunque caricarsi il CHM nella cartella di output e fare eventuali modifiche a CRS, filtri o altro sulle tile, quindi in sostanza non cambia niente.

sergiozenforeste commented 5 years ago

L'amministratore deve elaborare l'intera campagna di volo, utilizzando tutti i parametri originari del DSM e DTM, dopodichè deve essere aggiornato il layer tile_ dtm_dsm.

La logica del plugin dovrebbe essere:

penso che analizzando il

rmarzocchi84 commented 5 years ago

L'amministratore deve elaborare l'intera campagna di volo, utilizzando tutti i parametri originari del DSM e DTM, dopodichè deve essere aggiornato il layer tile_ dtm_dsm.

come dicevo si può fare tranquillamente, ma per vostra praticità richiede il passaggio da chi gestisce il plugin qua su github se no alla release successiva si perdono tutte le informazioni. Il fatto che terminata l'elaborazione il plugin salvi lo shapefile con il riepilogo aiuta la procedura di aggiornamento di questo file lato nostro perché i 2 file hanno la stessa struttura, si tratta all'occorrenza di aprire una issue e chiederci di aggiornare i dati di una campagna per cui è stato calcolato il CHM e salvato su una cartella di rete.

La logica del plugin dovrebbe essere:

  • analizzare il layer tile_ dtm_dsm e se rileva informazioni nei campi percorso, nome, CRS, e risoluzione del CHM utilizza questi dati per generare il CHM clippato;

questa parte si era deciso di non implementarla per 3 ragioni:

Se volete lasciamo aperta la issue e proviamo a implementare questa modifica. Resta il fatto che mi preme evidenziare (per questo ho usato il grassetto) che la questione del filtraggio è fondamentale per non creare dati falsati ed è poco controllabile in maniera automatica (nel senso che se l'amministratore inserisce un filtro poi questo non può più essere tolto dall'utente. Per capirci se DSM-DTM = CHM (tra -1 e 100) se salvo il CHM filtrando tra 0 e 50 l'utente poi non potrà rimuovere il filtro e al massimo potrà fare solo filtri tra 0 e 40 ma a nulla varrà l'eventuale filtro tra 0 e 60.

  • analizzare il layer tile_ dtm_dsm, riscontra l'assenza dei dati nei campi inerenti il CHM, prosegue nell'analisi degli analoghi campi relativi al DSM e DTM, rileva la presenza di dati, esegue il raster calculator e poi procede con la creazione del CHM clippato;
  • analizzare il layer tile_ dtm_dsm, riscontra l'assenza sia dei dati inerenti al CHM che del DSM e DTM, non esegue alcuna elaborazione, segnalando la mancata elaborazione.

penso che analizzando il

Questi ultimi 2 punti fanno già parte dell'attuale workflow

rmarzocchi84 commented 5 years ago

Per chiarire ancor meglio (dopo un confronto con @RobiFag che è la principale autrice del codice):

Cosa fa il plugin ora:

  1. calcolo chm
  2. filtro su chm
  3. eventuale riproiezione chm
  4. clip delle tile selezionate

Cosa dovrebbe fare

  1. calcolo chm o copia chm nella cartella temporanea
  2. filtro su chm
  3. eventuale riproiezione chm
  4. clip delle tile selezionate

In questo modo non cambierebbe nulla all'utente anche in termini computazionali perchè tra fare la copia e la sottrazione fra due raster credo non cambi davvero quasi nulla.

RobiFag commented 5 years ago

Abbiamo appena sottomesso una nuova versione del Plugin che sarà disponibile appena il tema di Qgis la approverà, vi teniamo aggiornati. In questa nuova versione troverete un po' di modifiche fatte settimana scorsa al file tile_dsm_dtm, la correzione del refuso nell'interfaccia e soprattutto quanto concordato Venerdì con Roberto circa il riuso dei CHM già calcolati.

RobiFag commented 5 years ago

La nuova versione è già sta approvata, potete quindi aggiornare il plugin!

RobiFag commented 5 years ago

Abbiamo riscontrato un baco nell'istallazione di windows per la versione di cui sopra. Abbiamo già risolto e sottomesso una nuova versione (la n 0.7.1). Appena verrà approvata dal team Qgis vi avvisiamo così potete procedere all'aggiornamento del plugin senza incappare nel problema che interessava la versione precedente.

RobiFag commented 5 years ago

La versione 0.7.1 è stata approvata, potete aggiornare il plugin.