Usare i file Lidar con QGis: articolo + esercitazione

LIDAR (acronimo dall’inglese Light Detection and Ranging[1] o Laser Imaging Detection and Ranging) è una tecnica di telerilevamento che permette di determinare la distanza di un oggetto o di una superficie utilizzando un impulso laser, oltre a determinare la concentrazione di specie chimiche nell’atmosfera[1] e nelle distese d’acqua.

Definizione di Wikipedia

In questi giorni mi è capitato di dover lavorare su dei file Lidar, è stata la prima volta che mi sono imbattuto in questo tipo di file e innanzitutto ringrazio i ragazzi di GIS ITALIA per il preziosissimo supporto, senza di loro forse ancora stavo ad impazzire per capire come sfruttarli al meglio.

Viste le difficoltà che ho incontrato ho deciso di scrivere questo articolo che magari potrà tornare utile a qualcuno.

Questo articolo sarà in effetti un tutorial con annessa esercitazione; infatti, oltre a descrivere il procedimento che ho eseguito, inserirò alcuni dei file di base che potrete usare per ripercorrere il procedimento e magari fissarlo meglio in testa.

I file di output della strumentazione LiDAR sono generalmente nuvole di punti del tipo, ad esempio, “.xyz” parte di loro potete scaricarli da qui: DOWNLOAD FILE LIDAR

Ho usato l’ultima versione di QGis LTR per questo lavoro, potete scaricarla da qui.

Iniziamo!

I file che dobbiamo caricare, come dicevo prima, hanno l’estensioni .xyz per cui non possiamo caricarli con un semplice “Add layer” ma ci toccherà usare una strada un po’ diversa. Se provate ad aprire con il blocco note di Windows uno di questi file, noterete che è composto da 3 colonne: le prime due riportano le coordinate e la terza l’altezza. In pratica questi file sono composti da un insieme di punti, ognuno con coordinate proprie ed altezza. I file che ho usato hanno in se solo queste informazioni ma al loro interno se ne possono immagazzinare molte altre come densità, esposizione e tutto ciò che si riesce a “captare” con la tecnica LiDAR.

Detto ciò il primo passo da fare è proprio guardare uno di quei file per “capire come è fatto dentro”, in questo modo ci risulterà semplice capire il procedimento che andrò a descrivere. Con QGis aperto andate in Layer>Add Layer>Add Delimited Text Layer, come riportato in figura.

lidar

Ora viene la parte delicata, fate molta attenzione! Cliccato su Add Delimited Text Layer avrete davanti a voi la seguente schermata:

lidar

Andate su Browse, scegliete il file e caricatelo così come viene spiegato nella prossima schermata.

lidar

Vi sarete accorti che questo tipo di file vanno caricati uno per uno, è una delle parti noiose di questa operazione… Caricato il file avrete difronte a voi la schermata che segue:

  • 4
  1. selezionate Regular expression delimiter, come avrete potuto notare c’è dello spazio tra le colonne che definiscono i singoli file;
  2. andate in Expression ed inserite gli spazi presenti tra le colonne, in questo caso sono due ma in altri file su cui ho lavorato sono meno o anche più. Vi dicevo di studiarvi il file proprio per capire come sono delimitate le colonne;
  3. ora bisogna indicare quali sono le colonne che portano con se longitudine e latitudine, se avrete inserito gli spazi correttamente potrete sceglierle dal menù a tendina che compare;
  4. importante, no, IMPORTANTISSIMO! Togliete la spunta da First record as field names. Questo perchè in questo caso i field non hanno nome e fin dal primo riportano coordinate ed altezza, se non togliete quella spunta perderete il primo record, il primo punto in elenco in pratica non verrà riportato. Ora potete cliccare su OK.

Vi verrà richiesto di inserire il sistema di riferimento come riportato in seguito.

lidar

Fatto ciò avrete la vostra bella nuvola di punti in QGis, procedete con i passaggi precedenti per caricare tutti i file che vi ho passato in modo da averli tutti attivi per le prossime operazioni.

Che ci facciamo con questi file?

Possiamo farci una bella interpolazione per estrarci le curve di livello, un hillshade, uno slope, un relief e tanto altro ancora! Come prima cosa facciamo una interpolazione usando l’apposito plugin, vi comparirà la schermata che segue:

lidar

  1. scegliete il layer;
  2. indicate la colonna con l’attributo altezza;
  3. aggiungete il file(se ne può aggiungere più di uno ripetendo i passaggi 1 e 2);
  4. indicate le dimensioni del singolo pixel. Ho inserito 1×1 perchè i file che ho usato hanno il passo di 1m, cioè i punti contigui distano tra loro 1m; in pratica tutto ciò che è più piccolo di 1m non è stato “letto” dallo scanner. Ora cliccate su OK e vi comparirà quello che segue:

lidar

Questa è una porzione di Nisida opportunamente tematizzata, ora unite tutti i LiDAR per ottenere quello che segue:

lidar

Ora proviamo ad estrarre le curve di livello. Andate in Raster>Extraction>Countour, definite la cartella in cui salvare lo shape ed inserite la distanza tra le curve, 1m in questo caso, spuntate Attribute name e cliccate su OK.

 

lidar_9lidar

 

Otterrete un file così:

lidar

Come vedete il file risulta essere un po’ “sporco” in mare, questo è dovuto ad alcuni errori dello scanner causati dalla rifrazione delle onde oppure, come noterete, in alcuni casi sono presenti i contorni delle barche.

Se volete potete divertirvi ad ottenere isoipse a distanze superiori oppure potete sbizzarrirvi con i vari tools di elaborazioni raster di QGis, qui di seguito un po’ di elaborazioni che ho fatto:

lidar
Isoipse a 5m
Hillshade
Hillshade
lidar_14
Relief
lidar_15
Slope

 

Tutto questo mi è servito per rielaborare in 3D l’area di Posillipo, questo che segue è il video che ho realizzato con ArcScene dopo aver ottenuto la TIN dell’area. Spero che questo articolo vi sia stato utile.


NB: i dati LiDAR utilizzati in questo articolo sono liberamente scaricabili dal SIT della Città Metropolitana di Napoli, sezione OpenData. I file, originariamente in formato grid, sono stati convertiti in nuvola di punti per scopi didattici e per renderli quanto più simili possibili all’output di una strumentazione LiDAR.

  • Eliana Barra

    ciao, bellissssssima esercitazione! complimenti…solo una domanda: come converto i dati LIDAR presi da cittametropolitana in nuvola di punti? grazie

    • Ciao e grazie per i complimenti 🙂
      Per fare quello che dici, presupponendo che tu stia utilizzando QGIS, vai nel menu Raster poi Conversione>Traslate(Convert Format) e dalla maschera che si apre potrai scegliere il formato di output che nel tuo caso deve essere un .xyz almeno. Se devi importare il dato in qualche altro software fai caso se tra i tanti formati di esportazione oltre a .xyz non ci sia anche quello leggibile dal tuo software.
      Nell’immagine c’è la maschera di cui ti parlavo; ho QGIS in inglese e non so il rispettivo comando in italiano come si chiama ma il menu è sicuramente Raster.
      https://uploads.disquscdn.com/images/26c9dd1044e741cf627be7a82fd6f4a69a81ffff78b41ec2833abc25f73c030e.png

      • Eliana Barra

        ti ringrazio per la risposta ma non funzia! 🙁
        parto dal .shp del DTM (QU_LIDAR_2009_12_DTM scaricato da cittametropolitana) quindi usando il menu raster/converti ovviamente mi da errore perche non gli piace l’estensione del layer in ingresso.
        Potresti lasciarmi la tua mail (per una consulenza professionale)?
        Grazie 🙂