Archivio per Categoria Tutorial

Fotovoltaico e GIS: come individuare rapidamente l’utilizzabilità di un tetto!

Nella mia precedente vita da commerciale per un’azienda che vende impianti fotovoltaici, mi sono sempre chiesto se e come fosse possibile effettuare un rilievo speditivo su un’area di interesse per individuare quali tetti fossero più idonei per l’installazione di un impianto fotovoltaico e stimarne il potenziale in Kwp.

Oggi, a distanza di un po’ di anni da quell’esperienza, ho finalmente trovato un po’ di tempo per scrivere questo articolo in cui, con la metodologia GIS, spero di dare una buona mano ai miei ex colleghi commerciali 😉

Quello di cui abbiamo bisogno è:

  • un vettore poligonale che riproduce l’edificato dell’area di interesse;
  • un DSM da LiDAR o comunque con risoluzione non superiore ad 1 m;
  • competenze in spatial analisys.

Iniziamo effettuando un clip del nostro raster usando, come poligono di clip, l’edificato. Tematizzando il DEM appena ottenuto dovreste avere qualcosa di simile a quello che vedete di seguito. La scelta dei colori è arbitraria; al variare dell’intensità del blu aumenta l’altezza dell’edificio.

fotovoltaico gis

Dando un’occhiata alle pendenze potremmo già farci una prima idea su quale tetto è idoneo e quale non lo è. Le pendenze le estraiamo con slope da Processing Toolbox di QGIS; anche in questo caso la tematizzazione è a vostro gusto.

fotovoltaico gis

NB: le pendenze fanno riferimento al piano cartografico! Quindi 0° fanno riferimento ad un tetto piano, con 85.8° di pendenza abbiamo un tetto quasi verticale(e ortogonale al piano cartografico)!

Sicuramente un tetto a quasi 90°, alle nostre latitudini, non è il più idoneo all’installazione di un impianto fotovoltaico!

Iniziamo ad estrarre i soli tetti piani. Per farlo dobbiamo eseguire queste tre operazioni in sequenza:

  1. Riclassificazione del raster delle pendenze;
  2. Generazione di un vettore dal raster appena riclassificato;
  3. Selezione e salvataggio dei soli poligoni che rientrano nella classe di interesse.

Per riclassificare il nostro raster delle pendenze useremo il geoalgoritmo r.reclass di GRASS GIS ricercabile dal Processing Toolbox. Importante è la corretta definizione delle classi!

Ho suddiviso le pendenze in due classi: maggiore di 3° e minore di 3°. Tutti i tetti con pendenza massima di 3° li ho considerati piani ed è questa la classe che ci interessa in questa fase. Al termine della riclassificazione ho convertito in poligoni le classi raster usando Polygonize sempre dal Processing Toolbox. Sul vettore poligonale così ottenuto ho effettuato una query per estrarmi i soli tetti che rientrano nella categoria di nostro interesse.

Ecco il risultato! Fatelo anche voi, sembra difficile ma non lo è!

fotovoltaico gis

Torniamo ora a ragionare sul nostro DEM clippato ad inizio articolo. Abbiamo le pendenze si ma a noi interessa anche l’esposizione. Un tetto inclinato ed esposto a SUD è la soluzione che più auspichiamo ma come lo individuiamo? Ora andremo a vedere come fare!

Usiamo, sul DEM clippato ad inizio articolo, il geoalgoritmo Aspect ricercabile da Processing Toolbox.

fotovoltaico gis

Riclassifichiamo il risultato del precedente geoalgoritmo in modo da ottenere le classi di esposizione di nostro interesse.

NB: vi consiglio di leggere attentamente il contenuto nel link che ho inserito precedentemente in Aspect!

Per semplicità e rapidità ho creato tre classi di esposizione: NORD-EST, EST-SUD-OVEST e OVEST-NORD. Quella che interessa a noi è EST-SUD-OVEST. Convertiamo in poligoni il raster ed effettuando una selezione dei soli poligoni di interesse, andremo a salvare la selezione così come fatto per l’individuazione dei tetti piani.

Il risultato è quello che segue e c’è anche una piccola chicca che avvalora il metodo usato 😉

fotovoltaico gis

Verificate la curiosità qui!

Effettuiamo un Union tra i due vettori appena creati(post selezione!) ed eliminiamo eventuali anomalie come tetti che possono essere contemporaneamente piani ed inclinati. Queste anomalie possono esserci perchè le operazione che abbiamo effettuato dipendono dalla risoluzione del DSM su cui abbiamo operato fin dall’inizio. Più andiamo al di sotto del metro di risoluzione meno errori avremmo!

Ora attiviamo il Field Calculator, nella tabella attributi del vettore di output dell’Union, e facciamo pulizia di tutte le aree inferiori a 7 mq. Ho utilizzato questo parametro perchè indicativamente 1 Kwp copre 7 mq. Ovviamente per fare questa pulizia dobbiamo calcolare preventivamente le aree dei singoli poligoni!

fotovoltaico gis

Siamo alla fine della nostra ricerca! Nell’immagine precedente possiamo vedere il vettore dell’edificato e quello dei tetti potenzialmente utili. Man mano che si intensifica il viola abbiamo una maggiore produzione di elettricità. Quindi, dei tanti edifici presenti in questa area di 25 Ha, possiamo vedere che solo 3-4 hanno un elevata produzione di energia (siamo tra i 70 ed i 90 Kwp) mentre gli altri hanno una produzione bassa.

Anche la mappa di calore ci evidenzia dove sono i potenziali target!

fotovoltaico gisE’ possibile affinare ancora di più la ricerca? Si! Ad esempio facendo un passo indietro rispetto all’Aspect ed estraendo delle pendenze di tetto utili scartando le altre, per poi determinare su queste ultime l’esposizione.

Provate voi! 😉

Eliminare i duplicati da un vettore

Lavorando sui dati di OSM mi sono trovato a dover affrontare un piccolo grande problema di sovrapposizione di vettori lineari.

Ho scaricato una grossa mole di dati relativi all’idrografia della Francia orientale usando il plugin QuickOSM e, siccome l’area era davvero vasta, l’ho dovuta suddividere in quadranti di 100km di lato. Solo in questo modo, sfruttando ogni singolo quadrante, ho potuto effettuare il download in maniera corretta e senza superare il tempo massimo di risposta del server.

Questa procedura ha però fatto nascere la problematica che mi ha portato a fare questo articolo ed il video tutorial che troverai in fondo. In pratica, ogni qualvolta scaricavo da un quadrante l’idrografia ed esso era attraversato da fiumi che a loro volta attraversavano altri quadranti, questi venivano caricati anche nel quadrante attivo in quel momenti e, visto che tutto confluiva in un unico vettore lineare presente in un GeoDB contenuto in PostGIS, mi sono ritrovato tantissimi duplicati; nello specifico 11.919! I duplicati oltre a rendere il vettore pesante lo rendevano affetto da errori topologici.

Mi sono accorto di questi duplicati perchè ho fatto una verifica topologica con il plugin Topology Checker impostando la verifica sui duplicati, così come visualizzato nell’immagine che segue.

duplicati

Effettuata la verifica il risultato è stato quello che vedi di seguito.

duplicati

Indagando la tabella attributi ho notato la presenza della colonna full_id e, guardando il feature ID delle geometrie duplicate presenti nel report di Topology Checker, ho notato che in quella colonna i duplicati erano facilmente individuabili perchè avevano lo stesso full_id.

duplicati

Istintivamente mi sono così concentrato su quella colonna e visto che volevo risolvere il tutto usando l’SQL mi sono documentato in giro sul web su come poter eliminare il problema.

Ho prima lanciato questa query:

SELECT
full_id,
COUNT(full_id) AS counter
FROM waterway_new
GROUP BY full_id
ORDER BY counter;

Individuando così un elenco di duplicati. Alcuni fiumi erano duplicati anche 7 volte!

Poi ho usato la query che segue per creare un nuovo vettore depurato dai duplicati:

CREATE TABLE waterway_new_noduplicate AS
SELECT DISTINCT ON (full_id) *
FROM waterway_new;

Tutta la procedura l’ho racchiusa nel video tutorial che trovi di seguito. Un’altra strada sarebbe potuta essere quella di usare il plugin MMQGIS senza quindi usare l’SQL.

 

Corso di Webmapping GRATUITO!

Descrizione del corso

Le webmap, mappe interattive, si stanno diffondendo come strumenti di informazione semplici ma di grande effetto. Possiamo vederle anche sui siti delle testate giornalistiche ad esempio o come strumento di promozione territoriale e più in generale sono uno strumento di rapida divulgazione di informazioni di qualunque genere, rapidità garantita anche dalla loro utilizzabilità su smartphone e tablet. Inoltre imparare i rudimenti sulla crazione di webmap è alla base dello sviluppo di sistemi WebGIS.


Esempio di webmap

Il corso è mirato ad impartire le conoscenze basilari per la produzione di webmap. Al termine del corso i partecipanti saranno in grado di sviluppare in proprio una webmap. Si partirà dal foglio bianco spiegando il minimo indispensabile di HTML, CSS e JavaScript per poter creare semplici webmap ma di grande effetto.

Il corso dura 4 ore, è suddiviso in 4 moduli più una esercitazione di riepilogo:

  • MODULO_1 Dal foglio bianco alla WebMap. In questo modulo si tratteranno le sintassi minime di HTML, CSS e JavaScript, necessarie al caricamento del tile layer in una WebMap basata sulle librerie Leafletjs;
  • MODULO_2 Choropleth map. In questo modulo si impartiranno le informazioni necessarie alla realizzazione di una mappa coropletica; si insegnerà quindi ad inserire un vettoriale di tipo poligonale in una WebMap basata sul tile layer visto nel modulo precedente;
  • MODULO_3 Mappa degli infopoint. Dopo aver visto, nel modulo precedente, come inserire e tematizzare un vettore poligonale, con questo modulo si andrà ad inserire in una WebMap un vettori di tipo puntuale;
  • MODULO_4 Mappa dei percorsi turistici. In questo modulo si vedrà come inserire un vettore di tipo lineare in una WebMap andando a tematizzare i percorsi in funzione del dato contenuto in ogni singola feauture lineare;
  • Esercitazione: Crea la tua prima webmap!

Temi trattati

  • Elementi di HTML, CSS e JavaScript
  • Libreria LeafletJS
  • Plugin qgis2web

Prerequisiti

Conoscenze elementari sui GIS, familiarità minima con QGIS.

Requisiti software

GUARDA LE VIDEO LEZIONI

La playlist comprende tutte le lezioni del corso, puoi visionarla qui o direttamente su Youtube, puoi visionare la singola lezione o solo quella che ti interessa.

Clicca qui e scarica le WebMap realizzate nei moduli

Query avanzata: selezionare una parte di una stringa escludendo alcuni caratteri

Come si può selezionare una parte di una stringa escludendo alcuni caratteri?

Ad esempio se della parola “massimo” volessi selezionare solo “si” come posso farlo? E’ questo che mi sono chiesto oggi quando mi sono imbattuto in questa problematica durante una delle attività lavorative.

Ho fatto così un giro tra le stringhe di selezione del selettore di QGIS ed ho trovato quella che cercavo!

Il dato di partenza, in questo caso, è il vettore poligonale della Francia Europea.

query avanzata

Dalla tabella che segue mi interessa selezionare nella colonna “insee” solo quei poligoni il cui codice inizia per 51 e 10.

query avanzata

Ho attivato il selettore tramite espressione e cercando tra le espressioni presenti nella sezione “String” ho trovato quello che cercavo.

La query per raggiungere lo scopo è la seguente:

substr( "insee" , 1,2) is 51 or substr( "insee" , 1,2) is 10

query avanzata

in cui:

  • substr è l’operatore di selezione;
  • insee è il campo in cui l’operatore deve cercare;
  • i numeri 1 e 2 corrispondono al range di ricerca, in questo caso la ricerca deve essere fatta solo nelle prime due posizioni di ogni stringa;
  • i numeri 51 e 10 sono gli obiettivi della ricerca.

Nell’immagine precedente c’è il risultato della selezione, nell’immagine successiva c’è lo zoom all’area selezionata.

Approfondimento

Come molti sapranno, nei software GIS le query SQL sono facilitate. Dietro l’interfaccia grafica di un “Query builder” o un “Select by expression” si cela la sintassi base SQL, quel select X from Y where Z che chi è avvezzo all’uso dei DB conosce bene.

Grazie alle indicazioni di Salvatore Fiandaca, che trovate tra i commenti di questo post,  riporto di seguito la sintassi SQL completa applicabile in un qualunque DB:

select * from francia_europea
where
substr("insee",1,2) is '51' or substr("insee",1,2) is '10'

Queste tre righe sono così definite:

  • l’asterisco dopo select sta ad indicare che si vogliono selezionare tutti i campi della tabella francia_europea;
  • substr è lo stesso comando usato in QGIS.

Traducendo la query di prima si è detto al pc di selezionare(select) tutti i campi(*) della tabella francia_europea(from) in cui è verificata la condizione substr(where).

La query completa eseguita in SpatiaLite, per esempio, ci restituisce la sola selezione dei record tabellari.

Per creare una tabella dalla selezione bisogna anteporre una stringa a quanto scritto in precedenza:

create table area_lavoro as
select * from francia_europea
where
substr("insee",1,2) is '51' or substr("insee",1,2) is '10'

Questo però non è sufficiente a creare anche le geometrie, infatti una volta creata la tabella area_lavoro, bisogna eseguire una nuova query per ottenere le geometrie che possono quindi essere visualizzate in QGIS:

SELECT RecoverGeometryColumn('area_lavoro', 'geom',3857, 'MULTIPOLYGON', 'XY')


Spero che l’articolo possa tornare utile a qualcun altro oltre che a me 🙂

Ecco il video tutorial

Creare un raster ed un vettore delle fasce altimetriche

Con questo piccolo tutorial mostrerò come è possibile generare un raster ed un vettore di fasce altimetriche.

Materiale necessario:

  • un minimo di manualità nell’ambito GIS;
  • un DEM qualunque. Puoi scaricarne uno gratuitamente anche dai servizi WCS del Geoportale Nazionale;
  • un file .txt vuoto;
  • QGIS+GRASS.

INIZIAMO!

Come prima cosa centriamo l’area di nostro interesse; in questo tutorial farò riferimento all’area del Monte Bianco. Studiamo i metadati del raster e individuiamo la quota minima e la massima.

fasce altimetriche

Note le quote minime e massime apriamo un file .txt ed inseriamo la seguente sintassi:

0 thru 500 = 1
501 thru 1000 = 2
1001 thru 1500 = 3
1501 thru 2000 = 4
2001 thru 2500 = 5
2501 thru 3000 = 6
3001 thru 3500 = 7
3501 thru 4000 = 8
4001 thru 4500 = 9
4501 thru 5000 = 10

In questo esempio ho suddiviso le quote del DEM in 10 classi altimetriche, la prima va da 0 a 500 m, la seconda da 501 a 1000 m e così via. Tu puoi scegliere una suddivisione diversa o la stessa che ho scelto io.

Individuata l’area di interesse e preparato il nostro file di testo, andiamo nella “Processing Toolbox” e digitiamo reclass per visualizzare l’algoritmo di riclassificazione di GRASS. Avviamolo con un doppio click!

fasce altimetriche

A questo punto si aprirà la maschera che segue

fasce altimetriche

Al passo 1 scegliamo il DEM di nostro interesse, al passo 2 scegliamo il file .txt che abbiamo creato in precedenza e clicchiamo quindi su “RUN” al passo 3. Abbiamo ottenuto così il nostro raster con le fasce altimetriche che vai poi tematizzato.

fasce altimetriche

Per generare i rispettivi poligoni andiamo nel menu e clicchiamo su Raster, quindi portiamoci su Conversion e clicchiamo su Poligonize (Raster to Vector). Scegliamo il raster da poligonalizzare, quello venuto fuori dalla riclassificazione, ed avviamo l’algoritmo. A processo ultimato il risultato sarà simile al seguente, ovviamente dovete tematizzare il poligono.

fasce altimetriche

Nel video che segue è spiegato l’intero processo. Condividi l’articolo se ti è piaciuto così potrà essere d’aiuto anche a qualcun altro.


Guarda il Monte Bianco in 3D!


 

3D Open Source

E’ possibile creare una riproduzione 3D di un’area senza spendere 1€? La risposta è si e ve lo mostro con questo tutorial!

Cose necessarie:

  • dimestichezza con la metodologia GIS;
  • dimestichezza con QGIS;
  • applicazione;
  • un po’ di pazienza 😉

Iniziamo!

Recuperiamo una CTR, un DTM ed un DSM. Per questo tutorial ho usato la CTR 1:1000 scaricata nella sezione Open Data del sito del Comune di Napoli; per i due DEM ho attinto alla sezione Open Data del SIT della Città Metropolitana di Napoli. Qualche tempo fa vi ho già mostrato le potenzialità dei DEM da LiDAR.

Lavoriamo prima sui DEM. Come sapete DEM è l’acronimo di Digital Elevation Model, ovvero Modello Digitale di Elevazione; appartengono alla famiglia dei DEM i DTM – Digital Terrain Model, ovvero Modello Digitale del Terreno – ed i DSM – Digital Surface Model, ovvero Modello Digitale delle Superfici. Nei DTM è riportata la morfologia dei luoghi al netto del costruito e della vegetazione; mentre nei DSM è riportata la superficie reale di un’area compresi, quindi, il costruito e la copertura vegetativa.

3d

Confronto tra DTM e DSM

Aprendo il Raster Calculator andiamoci a calcolare la differenza tra i nostri due DEM nel modo che segue.

3d

Operazioni per calcolare il raster differenza tra i DEM

Abbiamo così ottenuto un raster di differenza, un DEM, che comprende le sole quote del costruito e della vegetazione; non è presente quindi la superficie terrestre.

3d

Parte del raster di differenza tra DSM e DTM

Adesso andiamo a lavorare sulla CTR. Il primo passo è quello di unire i file che abbiamo a disposizione che, in questo caso, sono composti da due shapefile: una per la Municipalità 1 e l’altro per la Municipalità 10.

3d

Workflow necessario all’estrazione della linea di costa e dell’edificato

Dall’unione ed attraverso operazioni di select estraiamo la linea di costa e l’edificato. Usiamo quindi il tool lines to polygons per poligonalizzare l’edificato.

3d

Maschera del tool

Il risultato sarà il seguente, in cui ho omesso le operazioni necessarie per correggere la topologia delle linee affinchè si ottenessero poligoni utili al nostro scopo.

3d

A questo punto andiamo ad estrarci i centroidi dei poligoni dell’edificato usando il plugin realcentroids, successivamente creiamo un buffer a 10cm dai centroidi appena ottenuti.

3d

Centroidi dei poligoni dell’edificato

Ora con il tool di Zonal Statistic andiamo ad associare la quota, prelevata dal DEM di differenza tra DSM e DTM, al poligono di buffer appena creato.

3d

Zonal Statistic

Ora con un semplice join tabellare associamo il field della quota, presente nel vettore dei buffer, al vettore dell’edificato poligonalizzato e salviamo il tutto come nuovo shapefile.

3d

Siamo finalmente pronti ad usare Qgis2threejs per creare il nostro 3D dell’area! Se non lo abbiamo ancora fatto scarichiamo il plugin dal repository. Quindi scegliamo il DEM di riferimento nella sezione DEM, poi spuntiamo il tab dell’edificato ed in Height scegliamo il field che contiene l’altezza degli edifici.

3d 3d

Non ci resta che cliccare su Run ed il gioco è fatto! Il risultato sarà una pagina html che potrete caricare su un sito web o far processare da un apposito software di grafica 3D per migliorarne la qualità grafica.

Ecco il risultato della nostra elaborazione, immagine e 3D 😀

 

3d

Scorcio della costa posillipina

Di seguito la video guida 😉

Preparazione dei dati per Time Manager

Oggi volevo realizzare un video con delle sequenze di dati temporali usando il plugin Time Manager. Per chi non lo conoscesse questo plugin di QGis permette di fare cose di questo tipo:

Volevo realizzare un video simile per il progetto della Mappa dei professionisti italiani del settore GIS ma ho incontrato qualche difficoltà. Questo plugin legge il campo temporale solo così configuratoCattura

Per cui mi sono armato di pazienza e mi sono messo a cercare un modo per risolvere il mio problema. Ho trovato questo video di PJ Hooker ma purtroppo ho ancora troppo poca dimestichezza con PostGis per cui mi sono messo a smanettare un po’ dietro l’input avuto da Salvatore Fiandaca.

COSA SERVE?

  • QGis;
  • Time Manager;
  • Excel o foglio di calcolo equivalente.

INIZIAMO!

Abbiamo bisogno di un vettoriale che ha il campo data come questo file:1

Così come è il file se lo importate in Time Manager avrete questo errore:

2

La soluzione più rapida che ho trovato è quella di salvare il vettoriale in formato csv, aprirlo in Excel (o foglio di calcolo equivalente) e lavorarci un po’ su. Prima di importare il file in Excel dovrete settare alcune impostazioni per farlo leggere correttamente3

A questo punto avrete la vostra tabella Excel piena piena di dati, individuate la colonna con la data ed impostate la cella in modo che sia in uno dei formati letti da Time Manager, in questo caso sarà yy-mm-dd

4

Salvate il csv

5

E reimportatelo in QGis seguendo la procedura che vi ho fatto già vedere nella parte iniziale di questo tutorial ed otterrete una schermata così

6-rif video xyz

Ora aprite la tabella attributi e potrete confrontare la nuova con la vecchia tabella

7

Adesso vi basta attivare Time Manager, impostarlo correttamente ed il gioco è fatto!

In questo video c’è la procedura integrale, spero sia utile e buona visione! 🙂

 

Il risultato che ho ottenuto con Time Manager? Guarda il video che segue realizzato creando una Heatmap dinamica 🙂

Installare PostGIS su Ubuntu

Ho trovato un po’ di difficoltà nell’installare PostGIS su Ubuntu seguendo le istruzioni presenti a questo link e senza le indicazioni di Salvatore Fiandaca non sarei riuscito nell'”impresa”. Ho pensato quindi di fare un piccolo video tutorial sperando che possa servire a chi come me non è ancora pratico di PostGIS e soprattutto di PostgreSQL. E’ il mio primo video tutorial, siate clementi quindi, ma datemi feedback in modo che i prossimi possano essere migliori.

Buona visione! 😉

Come importare shape file in OpenStreetMap – NON PIU’ FUNZIONANTE

In questo piccolo tutorial vi mostrerò come importare shape file in OpenStreetMap, prima di dirvi come si fa, apro una piccola parentesi su OpenStreetMap o OSM.

Cosa è Open Street Map?

OpenStreetMap è una mappa liberamente modificabile dell’intero pianeta. È fatta da persone come te. OpenStreetMap permette a chiunque sulla Terra di visualizzare, modificare ed utilizzare dati geografici con un approccio collaborativo. Dal sito ufficiale.

OpenStreetMap (OSM) venne fondato nel luglio 2004 da Steve Coast. OpenStreetMap è un progetto collaborativo finalizzato a creare mappe a contenuto libero del mondo. Il progetto punta ad una raccolta mondiale di dati geografici, con scopo principale la creazione di mappe e cartografie.

La caratteristica fondamentale dei dati geografici presenti in OSM è che possiedono una licenza libera, la Open Database License. È cioè possibile utilizzarli liberamente per qualsiasi scopo con il solo vincolo di citare la fonte e usare la stessa licenza per eventuali lavori derivati dai dati di OSM. Tutti possono contribuire arricchendo o correggendo i dati. Una alternativa proprietaria che riprende le pratiche di crowdsourcing introdotte dalla comunità di OpenStreetMap è Google Map Maker, nel quale i contributi dell’utente possono venir inseriti su Google Maps a fronte di validazione, impedendone il riutilizzo da parte di terzi.

Le mappe sono create usando come riferimento i dati registrati da dispositivi GPS portatili, fotografie aeree ed altre fonti libere. Sia le immagini renderizzate che i dati vettoriali, oltre che lo stesso database di geodati sono diffusi sotto licenza Open Database License.

Se vi interessa approfondire la storia di OSM potete continuare a leggerla qui.

Come importare shape file in OpenStreetMap?

NON PIU’ FUNZIONANTE al 28/06/2017

E’ più facile a dirsi che a farsi! Innanzitutto dovete registrarvi su openstreetmap.org, i dati della registrazione vi serviranno per caricare gli shp o con JOSM o con Merkaartor. JOSM è java editor con funzioni espandibili tramite plugin mentre Merkaator è un piccolo programmino con le stesse caratteristiche di JOSM. Qui, oggi, useremo JOSM.

Il passo zero è quindi registrarsi su OSM e scaricare JOSM, a questo punto apriamo JOSM.

importare shape file in OpenStreetMap

Passo 1

All’apertura di JOSM avrete una finestra come quella dell’immagine precedente, cliccate sul tasto evidenziato nell’immagine che segue

importare shape file in OpenStreetMap

Passo 2

Ora dovrete scaricare i dati relativi all’area di vostro interesse dal server di OSM; la procedura è molto semplice ed intuitiva, vi basta disegnare un rettangolo che contiene l’area e cliccare poi su Scarica così come potete vedere nell’immagine che segue:

importare shape file in OpenStreetMap

Avrete davanti a voi adesso i dati modificabili, presi dal server OSM, dell’area di vostro interesse.

importare shape file in OpenStreetMap

Passo 3

Andate sulla barra dei menù e cliccate su Preimpostazioni, quindi su Preferenze preimpostazioni

5

vi si aprirà una finestra come quella che segue, andate in Plugin (estensioni) così come indica l’immagine che segue:

importare shape file in OpenStreetMap

Passo 4

Nella barra di ricerca cercate opendata, notes, todo, utilspluging, spuntateli tutti quindi cliccate su OK. A questo punto non vi resta che caricare i vostri shp nel modo più classico possibile: File>Apri>Tipo di file impostato su Shapefile. Il gioco è fatto, più facile a dirsi che a farsi.

importare shape file in OpenStreetMap

Buona mappatura!!

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.