alsperGIS DATI
SOFTWARE

QGIS + GRASS
Realizzare un DEM partendo da una mappa raster:

interpolazione del DEM (GRASS)



possiamo utilizzare lo stesso mapset con cui abbiamo vettorializzazto; se l'abbiamo chuiso lo riapriamo con la prima icona degli strumenti di GRASS:
52.png
oppure possiamo crearne uno nuovo (vedi > Vettorializzazione della mappa (GRASS)).

A questo punto è importante settare opportunamente la risoluzione della regione di GRASS (che sarà la dimensione dei pixel del DEM); valori elevati possono far perdere dettaglio al DEM nelle zone più ripide (dove le curve di livello sono più ravvicinate) mentre valori ridotti appesantiscono il DEM, rendono lungo il calcolo di interpolazione e comunque non aumentano la precisione del DEM dove le curve sono più distanti.
Per scegliere la risoluzione, quindi, meglio controllare la distanza orizzontale delle curve di livello. Usiamo il "righello" di QGIS:
53.png
e andiamo a misurare la distanza tra le curve nei punti dove sono più vicine (oppure nelle aree dove ci interessa avere un buon dettaglio). Se non si vuole creare un DEM troppo pesante il mio consiglio è di scegliere un valore di risoluzione che sia compreso tra la distanza orizzontale tra le curve e la sua metà.

54.png

Nel mio caso le curve di livello nelle zone che più mi interessano hanno distanze orizzontali tra 4 e 10 m. La regione di GRASS misura 4 x 4 Km, quindi ho scelto una risoluzione di 2 m (dettaglio ottimo nel mio caso) che comporta la creazione di un DEM di 2000 x 2000 pixel (gestibile senza problemi); se la regione fosse stata molto più grande probabilmente avrei scelto una risoluzione di 4 o 5 m.
(Ultima icona di GRASS per aprire le impostazione della regione:)
55.png

Ora bisogna reimportare in GRASS le curve di livello quotate. Apriamo la finestra degli strumenti di GRASS (icona con il martello) e cerchiamo il modulo "v.in.ogr.qgis" (in "Gestione file" > "Importa in GRASS" > "Importa vettore in GRASS"):
56.png

indichiamo il layer da importare (le nostre linee quotate) e diamo un nome al layer risultante (output)
57.png
apriamo le opzioni avanzate, spuntiamo "Sovrascrive la proiezione ..." e nell'ultimo campo "... clausola WHERE del comando SQL ..." scriviamo "QUOTA" > 0 (in questo modo vengono importati solo gli elementi che hanno valore maggiore di 0 nel campo QUOTA, ovvero le linee che abbiamo quotato)
58.png
clicchiamo su "Esegui" e alla fine dell'operazione su "Visualizza output" per aprirlo in QGIS.
59.png


Le curve di livello quotate devono ora essere convertite in un'immagine raster i cui pixel contengano i valori di quota. Per fare questo usiamo il modulo "v.to.rast.attr" (in "Gestione file" > "Conversione fra tipi di mappa" > "Converti un vettore in raster entro GRASS"):
60.png

indichiamo il layer vettoriale da rasterizzare e il campo da cui prendere i valori (ovviamente QUOTA) e diamo un nome al raster di output
61.png

Se
come informazioni altimetriche avessi solo le linee da me quotate, userei il raster appena prodotto come base per l'interpolazione. Però ho anche recuperato da internet un file vettoriale di curve di livello già quotate, un file vettoriale di punti quotati e ho creato un file di poligoni scontornando alcuni laghetti e assegnando loro la quota. Ho rasterizzato questi files nel modo sopra descritto ed ora li devo unire in un unico raster che abbia tutte le quote. Ciò può essere fatto con il modulo "r.patch" (in "Raster" > "Analisi spaziali" > "Mappe di sovrapposizione"):
62.png

si deve indicare il primo raster, poi si devono scrivere i nomi degli altri separati da una virgola e nell'ultimo campo il nome del file da creare
63.png

Il modulo dovrebbe operare così: prende i valori del primo raster, dove essi sono nulli prende i valori del secondo, dove anche questi sono nulli prendi i valori del terzi, ... e così via finchè finiscono i raster. Alla fine questo è il risultato:

64.png

che può essere utilizzato come input per il modulo "r.surf.contour" (in "Raster" > "Gestino superficie" > "Superficie di interpolazione):
65.png

basta indicare il raster di input con le quote da interpolare e scrivere un nome per il file risultante (che è un DEM)
69.png


Per visualizzare il DEM in QGIS apriamo la sua finestra delle proprietà (doppio click sul layer elencato in legenda) e nella scheda "Stile" impostiamo lo stiramento tra i valori max e min:

73.png

in modo da ottenere un risultato simile a questo:

72.png

oppure, se vogliamo avere una colorazione altimetrica, selezioniamo "Banda singola falso colore" come tipo di visualizzazione escegliamo una scala di colore:

75.png

76.jpg


Possiamo anche creare un rilievo ombreggato usando il modulo di GRASS "r.shaded.relief" (in "Raster" > "Analisi Spaziali" > "Analisi geomorfologica"):
67.png

oltre ai file di input e output occorre impostare i parametri per simulare l'illuminazione: altezza del sole sull'orizzonte, direzione di illuminazione ed esagerazione del rilievo
71.png

rilievo ombreggiato:
74.png

Per applicare l'ombreggiatura alla colorazione altimetrica portiamo il rilevo ombreggiato sopra il DEM, apriamo la finestra delle proprietà (doppio click sul rilievo ombreggiato elencato in legenda):
77.png

questo è il risultato:
78.jpg



Per salvare il DEM in formato Geotiff usiamo il modulo di GRASS "r.out.gdal.gtiff" (in "Gestione file" > "Esporta da GRASS" > "Esporta un raster da GRASS"):
79.png

indichiamo il layer da salvare, specifichiamo il formato (Float32 o Float 64 per mantenere i valori decimali) e clicchiamo sui tre puntini "..." per scegliere una cartella e un nome per il file
80.png





pagina precedente
Quotatura delle curve di livello (QGIS) <<<





QGIS + GRASS
DEM da mappa raster

- Introduzione
- Vettorializzazione della mappa (GRASS)
- Semplificazione delle linee (GRASS)
- Quotatura delle curve di livello (QGIS)
  >Interpolazione del DEM (GRASS) <


 
Argomenti correlati

>>> QGIS
>>> GRASS

>>> DEM

>>> Dati raster e vettoriali












Luglio 2015
Alessandro Perego