I GIS e l'open Source



Documenti analoghi
I GIS e l'open Source

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

DISPENSE. sull uso di GRASS e QGIS per l analisi del territorio

Sistemi Informativi Territoriali. Map Algebra

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Convertitori numerici in Excel

Tracciamento delle attività in Moodle

CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA

4. Operazioni elementari per righe e colonne

Invio SMS. DM Board ICS Invio SMS

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Le query di raggruppamento

Guida all uso di Java Diagrammi ER

Dispensa DB Mercato del Lavoro

Database 1 biblioteca universitaria. Testo del quesito

Capitolo 13. Interrogare una base di dati

RISOLUTORE AUTOMATICO PER SUDOKU

Esercizio 1: trading on-line

Utilizzo delle formule in Excel

Elementi di Psicometria con Laboratorio di SPSS 1

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI

La firma digitale. Autore: Monica Mascia

17 Gli scenari. cartelle di lavoro; unendoli poi in un

Esercitazione #5 di Statistica. Test ed Intervalli di Confidenza (per una popolazione)

Dovremmo a questo punto incominciare a vedere la suddivisione della nostra superficie.

Dimensione di uno Spazio vettoriale

Gestione Rapporti (Calcolo Aree)

Come costruire una distribuzione di frequenze per caratteri quantitativi continui

Capitolo 2. Operazione di limite

Metodi statistici per l economia (Prof. Capitanio) Slide n. 9. Materiale di supporto per le lezioni. Non sostituisce il libro di testo

16 - Differenza tra l acquisizione di una mappa catastale lucidata sull impianto e una rilasciata in fotocopia

Esercizio data base "Biblioteca"

EXCEL FUNZIONI PRINCIPALI

2 - Stesura della Proposta di Aggiornamento partendo da un rilievo misto GPS.

Registratori di Cassa

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

I Tre Aspetti Principali del Sentiero

Nell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo

Il concetto di valore medio in generale

ESEMPIO DI QUERY SUL FILE Formario_minuscolo

Oltre il diritto d autore: Creative Commons. Formazione Volontari SCN 2010 Mediateca Centro Linguistico di Ateneo - febbraio 2010

Introduzione. Alberto Fortunato Pag. 1 di 137

Appunti di Anatomia 1

Esercitazione n.1 (v.c. Binomiale, Poisson, Normale)

Corso di Fisica generale

ARCIDIOCESI DI LANCIANO-ORTONA

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

2 Fortino Lugi. Figura Errore. Nel documento non esiste testo dello stile specificato Finestra attiva o nuovo documento

Informazioni demografiche e socio-economiche sugli Enti Locali

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Raggruppamenti Conti Movimenti

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

4 3 4 = 4 x x x 10 0 aaa

COMUNE DI SANREMO SISTEMA INFORMATIVO TERRITORIALE

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

RECUPERO DATI LIFO DA ARCHIVI ESTERNI

Olga Scotti. Basi di Informatica. Excel

Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...).

Presentazione di virtual desktop client + LTSP server

Misure di base su una carta. Calcoli di distanze

risulta (x) = 1 se x < 0.

Soluzione dell esercizio del 12 Febbraio 2004

VALORE DELLE MERCI SEQUESTRATE

Interpolazione ed approssimazione di funzioni

Vittorio Casella. Calcolo del DTM. Dispense

Elementi di Psicometria con Laboratorio di SPSS 1

PROGETTO PER LA TRASMISSIONE DOCUMENTI RELATIVI ALL APPROVAZIONE DELLE MANIFESTAZIONI IN FORMA DIGITALE

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

Word processor funzione Stampa Unione

MODULO 4: FOGLIO ELETTRONICO (EXCEL)

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Hub-PA Versione Manuale utente

CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI

13. Campi vettoriali

11 - Rilievo tridimensionale di un edificio con distanziometro senza prisma e restituzione dei prospetti in 2D

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Tutorial per il modulo Composizione e tecnica fotografica Un approfondimento sulla fotografia panoramica. Roberto Gonella, Alberto Terragni

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

Probabilità discreta

SPC e distribuzione normale con Access

ALGEBRA DELLE PROPOSIZIONI

Esercitazione del

Elementi di Psicometria con Laboratorio di SPSS 1

Metodi Stocastici per la Finanza

Come creare il test di Yasso tramite l applicazione Training Center

Ipsia Monza via Monte Grappa Monza (MI) tel fax Corsi CAD 2D Base. Struttura modulare

ISTRUZIONI XCODE. Autore: Luca Florio (luca.florio<at>polimi.it)

Funzioni inverse Simmetrie rispetto alla bisettrice dei quadranti dispari. Consideriamo la trasformazione descritta dalle equazioni : = y

Il calendario di Windows Vista

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

PROCEDURA PER L UTILIZZO DELLO SPAZIO CARTA. Preparazione dello SPAZIO CARTA nel file dove inserire la mascherina.

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

Applicazioni lineari

Capitolo 13: L offerta dell impresa e il surplus del produttore

Transcript:

I GIS e l'open Source Struttura del seminario: 1. Concetti introduttivi; 2. GRASS GIS: istallazione; 3. Gestione del dato vettoriale; 4. Gestione del dato raster; 5. Digitalizzazione del dato vettoriale; 6. Applicazioni all'analisi di bacino.

Creazione di mappe raster r.mapclac è un potente operatore di map algebra, capace di eseguire operazioni, su mappe raster, quali: Operazioni algebriche di varia complessità; Query e analisi condizionali anche in forma concatenata; Operazioni logiche. In pratica, dal momento che una mappa raster è costituita da una serie di celle adiacenti, il modulo r.mapcalc opera applicando una stessa funzione (da noi specificata) al valore contenuto in ogni cella della mappa stessa: 2 2 2 1 1 2 2 1 1 4 1 1 1 4 4 Funzione da applicare a rast_1 per ottenere rast_2 : rast_2=(rast_1) 2 4 4 4 1 1 4 4 1 1 16 1 1 1 16 16 6 6 6 4 4 36 36 36 16 16 6 6 6 4 4 rast_1 rast_2 36 36 36 16 16

Creazione di mappe raster r.mapclac è un potente operatore di map algebra, capace di eseguire operazioni, su mappe raster, quali: Operazioni algebriche di varia complessità; Query e analisi condizionali anche in forma concatenata; Operazioni logiche. Oggi lavoriamo nella location nc_spm_08, e, ovviamente, nel mapset user1 esercizio: Se ad esempio volessimo innalzare il dem di 5 metri, Settiamo la regione con una risoluzione a 2m tramite il comando: g.region res=5m Ora non dovremmo fare altro che digitare nella linea di comando la stringa: r.mapcalc elevation_piu5=elevation+5..ripetiamo lo stesso esercizio impostando la regione sulla mappa elevation_srtm_30m (g.region rast=elevation_srtm_30m) Che differenza c'è? (differenza apprezzabile nell'elaborazione) Perchè ci dovrebbe essere differenza?

Creazione di mappe raster esercizio: 1)Facciamo un r.univar sulla mappa del dem tagliamo il dem a una quota costante pari alla quota media del dem stesso e consideriamo solo la parte superiore: r.mapcalc sopra=if(elevation>media(da_r.univar!!!),elevation,media(da_r. univar!!!))

Creazione di mappe raster esercizio: 1)Facciamo un r.univar sulla mappa del dem tagliamo il dem a una quota costante pari alla quota media del dem stesso e consideriamo solo la parte superiore: r.mapcalc sopra=if(elevation>media(da_r.univar!!!),elevation,media(da_r. univar!!!)) La sintassi in r.mapcalc del comando if : r.mapcalc nome_nuova_mappa=if(condizione,se_vera,se_falsa) r.mapcalac gestisce anche i valori nulli, che per lui sono null().. come avremmo potuto modificare la mappa fields che presenta molte zone con valore null() tale che ad esse sia attribuito valore 0 (anziché nullo)?..facciamolo con r.mapcalc!

Creazione di mappe raster esercizio: 1)Facciamo un r.univar sulla mappa del dem tagliamo il dem a una quota costante pari alla quota media del dem stesso e consideriamo solo la parte superiore: r.mapcalc sopra=if(elevation>media(da_r.univar!!!),elevation,media(da_r. univar!!!)) esercizio: 2)Costruiamo la mappa dell'azimuth tramite la creazione di un sistema di riferimento cartesiano ortogonale a partire da una coordinata (mappe px e py) e la definizione della funzione di azimuth in r.mapcalc: py r.mapcalc "px=(x()-$xcoor)" r.mapcalc "py=(y()-$ycoor)" px Prendiamo, ad esempio, per coordinate x e y le coordinate E e N di un punto al centro della mappa che stiamo visualizzando. Visualizziamo e interroghiamo le mappe create.

Creazione di mappe raster esercizio: 1)Facciamo un r.univar sulla mappa del dem tagliamo il dem a una quota costante pari alla quota media del dem stesso e consideriamo solo la parte superiore: r.mapcalc sopra=if(elevation>media(da_r.univar!!!),elevation,media(da_r. univar!!!)) esercizio: 2)Costruiamo la mappa dell'azimuth tramite la creazione di un sistema di riferimento cartesiano ortogonale a partire da una coordinata (mappe px e py) e la definizione della funzione di azimuth in r.mapcalc: r.mapcalc "azimuth=if(px>=0 & py>=0,90- atan(py/px),if(px>=0 & py<0,90-atan(py/px),if(px<0 & py<0,270-atan(py/px),if(px<0 & py>=0,270-atan(py/px)))))" Interroghiamo la mappa ottenuta.

Occorre effettuare un'operazione di interpolazione ogni qualvolta ci si trovi a dover estrarre da un dato puntuale un dato continuo. In GRASS GIS ci sono diversi metodi per effettuare le operazioni di interpolazione, poiché diversi sono gli utilizzi delle mappe richieste (diverse le precisioni richieste). Dal più semplice (metodo rozzo) al più complesso (metodo più esatto) vediamo: v.voronoi che calcola i poligoni di Thiessen e delimita aree in cui il dato vale uniformemente; v.surf.idw che effettua un'interpolazione puntuale (su ogni cella di una mappa raster) usando il metodo dei minimi quadrati (inverso delle distanze pesate); v.surf.rst che effettua un'interpolazione (approssimazione) puntuale usando il metodo delle regularized spline with tension ; r.surf.contour che dalle curve di livello è capace di estrarre una mappa raster a fasce uniformi;

Settare correttamente regione e risoluzione Prima di iniziare le operazioni di interpolazione è necessario settare correttamente la regione e la risoluzione per non appesantire eccessivamente il calcolo; questo ha senso in maniera particolare quando si effettuano elaborazioni (specie se sono complicate, come l'interpolazione) con mappe raster. Quindi plottiamo il DEM a 10m (mappa elevation, nel mapset PERMANENT) e facciamo uno zoom a schermo sulla zona in cui vogliamo lavorare Tra le opzioni di zoom, scegliamo: set computational region from display ; Con questo comando la regione è stata ritagliata sullo zoom effettuato. Possiamo effettuare un g.region -p per verificarlo.

v.voronoi i poligoni di Thiessen Un metodo estremamente semplice di interpolare, utilizzato anche su mappe cartacee (ad esempio in idrologia) è quello dei poligoni di Thiessen; è un metodo che definisce, a partire da dati puntuali delle aree omogenee a cui è associato uniformemente il valore del punto in esse incluso. Sulla regione selezionata, creiamo n.6 punti vettoriali random con v.random e la chiamiamo pluviometri2 ; Quindi colleghiamo il vettoriale di punti al database associandogli una tabella con colonne cat (identificativo) e pioggia (supponiamo che i nostri punti siano una rete di pluviometri) con v.db.addtable; Plottiamo DEM e punti e facciamo un'interrogazione della mappa in modalità edit in modo da riempire la colonna pioggia appena creata; Lanciamo il comando v.voronoi.

v.voronoi i poligoni di Thiessen Prende in input: Mappa vettoriale di punti appena creata Nome mappa vettoriale in output Opzioni generali e riguardanti l'associazione con il database

v.voronoi i poligoni di Thiessen Restituisce in output: La mappa vettoriale dei poligoni di Thiessen Possiamo interrogare la mappa.. Troviamo valori contigui molto diversi tra loro....è difficile che la distribuzione di pioggia in realtà vari in questo modo.. si può passare ad una interpolazione più raffinata..

v.surf.idw l'inverso delle distanze pesate A differenza dei poligoni di Thiessen, attribuisce ad ogni punto di una mappa raster un valore interpolato in base ai valori puntuali dati più vicini e il valore ottenuto è pesato sulle distanze della cella raster dai punti stessi (nel caso specifico dei pluviometri ricorda il metodo della stima del pluviometro mancante ). Riprendiamo la nostra mappa di punti e richiamiamo il comando v.surf.idw Richiede in input: La mappa vettoriale di punti da interpolare; Il nome da dare alla mappa raster in output; Tra le opzioni: il nr di punti da considerare per effettuare l'interpolazione

v.surf.idw l'inverso delle distanze pesate A differenza dei poligoni di Thiessen, attribuisce ad ogni punto di una mappa raster un valore interpolato in base ai valori puntuali dati più vicini e il valore ottenuto è pesato sulle distanze della cella raster dai punti stessi (nel caso specifico dei pluviometri ricorda il metodo della stima del pluviometro mancante ). Tra le opzioni: Il nr di punti da considerare per effettuare l'interpolazione; Il valore da interpolare (nel nostro caso sarà la colonna pioggia del database; Il fattore di potenza che lega le distanze al peso da dare ad ogni dato di default usa il metodo dei minimi quadrati.

v.surf.idw l'inverso delle distanze pesate A differenza dei poligoni di Thiessen, attribuisce ad ogni punto di una mappa raster un valore interpolato in base ai valori puntuali dati più vicini e il valore ottenuto è pesato sulle distanze della cella raster dai punti stessi. Lanciamo il comando e plottiamo il risultato.. ATTENZIONE! Se l'elaborazione risulta troppo lenta è probabile che la regione scelta o la risoluzione siano troppo grandi! Verificare con g.region ed eventualmente scegliere un nuovo valore per parametro res o effettuare un nuovo zoom sulla mappa.

v.surf.idw l'inverso delle distanze pesate A differenza dei poligoni di Thiessen, attribuisce ad ogni punto di una mappa raster un valore interpolato in base ai valori puntuali dati più vicini e il valore ottenuto è pesato sulle distanze della cella raster dai punti stessi. Lanciamo il comando e plottiamo il risultato.. Se interroghiamo la mappa vediamo ora che il risultato è un raster con valori diversi cella per cella. Più preciso rispetto ai poligoni di Thiessen.

r.surf.contour le curve di livello Se abbiamo a disposizione una mappa vettoriale delle curve di livello, ad esempio usiamo elev_lid792_cont1m, per ottenere un dem che rispecchi la diposizione delle stesse si può usare il comando r.surf.contour che crea un dem a fasce a seconda della curva di livello inclusa nella zona. Dopo esserci messi sulla mappa e definita la regione, ci assicuriamo che la risoluzione sia settata a 1m, la stessa delle curve di livello (ad esempio con g.region -p) Richiamiamo il comando e vediamo che il modulo prende in input la mappa raster delle curve di livello Trasformiamo quindi il vettoriale delle curve di livello in raster con il comando: v.to.rast input=elev_lid792_cont1m output=elev_lid792_cont1m column=level

r.surf.contour le curve di livello Lanciamo il comando da interfaccia grafica inserendo i nomi di input e output e plottiamo il dem risultante. In alternativa si poteva lanciare da riga di comando la stringa: r.surf.contour input=elev_lid792_cont1m output=elev_cont Ottenendo lo stesso risultato. Otteniamo una mappa raster a fasce omogenee di quota...ma si può fare di meglio..

v.surf.rst - Regularized Spline with Tension Il metodo RST calcola i valori punto per punto (come v.surf.idw) utilizzando una funzione che simula un superficie sottile e flessibile passante per ogni punto (o in prossimità di esso) a cui corrisponde un dato. Al momento questo è il metodo più accurato presente in GRASS, ma a volte è sconveniente utilizzarlo perché può richiedere il settaggio di alcuni parametri dati in input che poi vedremo. Mai come in questo caso occorre settare adeguatamente la regione e la risoluzione, ad esempio: Finora abbiamo lavorato ad una risoluzione di 1m; per ottenere simulazioni in un tempo adeguato si può aumentare il parametro anche di un fattore 10; settiamo la risoluzione della regione a 5m tramite il comando: g.region res=5 ; Per verificare che il settaggio della risoluzione sia andato a buon fine eseguiamo un g.region -p ; Usiamo la mappa (vettoriale) di curve di livello usate finora elev_lid792_cont1m per interpolare un nuovo dem; anche in questo caso andrà interpolato il valore level ; Se non ci troviamo sulla regione di interesse zoomiamo su di essa e ripristiniamo la regione allo zoom.

v.surf.rst - Regularized Spline with Tension Richiamiamo il comando v.surf.rst Vediamo che oltre a prendere in input la mappa dei punti da intepolare, il modulo richiede anche molti parametri diversi che dipendono essenzialmente da cosa vogliamo fare con la mappa in output e dalla tipologia di dati in input. Esamineremo solo due di questi parametri che sono tension e smoothing.

v.surf.rst - Regularized Spline with Tension La tension è, in senso figurato l'indice di quanto poco la superficie è in tensione sopra ai punti. Se immaginiamo infatti il dem che vogliamo interpolare come un tessuto steso sopra a dei paletti di altezza diversa (punti con quota diversa), la tension è l'indice di quanto poco ogni dato (valore puntuale) influisce sull'intorno del punto stesso.

v.surf.rst - Regularized Spline with Tension La tension è, in senso figurato l'indice di quanto poco la superficie è in tensione sopra ai punti. Se immaginiamo infatti il dem che vogliamo interpolare come un tessuto steso sopra a dei paletti di altezza diversa (punti con quota diversa), la tension è l'indice di quanto poco ogni dato (valore puntuale) influisce sull'intorno del punto stesso. In altre parole: impostare un valore di tension basso può portare a una scarsa significatività del dato puntuale perché ogni valore ha effetto su una zona assai vasta della mappa, ma ci può essere d'aiuto specie se i dati puntuali non sono densi o la zona che esaminiamo è una zona pianeggiante; impostare un valore di tension elevato può portare ad un'estrema localizzazione del dato (il dem non è in tensione sopra i punti) con la conseguente formazione di pilastri (horst) o gradini in corrispondenza delle curve di livello che poco possono rispecchiare la reale conformazione morfologica del terreno ma può tornare utile se il dato puntuale è molto denso o la conformazione morfologica realmente accidentata.

v.surf.rst - Regularized Spline with Tension Lo smoothing è un parametro che tiene conto dell'eventuale rumore di fondo presente nel dato in input. Il parametro identifica infatti l'errore commesso nella definizione del valore del singolo punto (input), quindi si genera un vero e proprio range di variabilità per il dato stesso: si sceglie un valore numerico che rappresenti la larghezza dell'intorno del valore immagazzinato nel database. L'inserimento di un valore di smoothing diverso da zero rende di fatto l'analisi un'approssimazione piuttosto che un'interpolazione poiché non si predono i valori esatti dei parametri che si hanno in input. Anche questo parametro, come la tension, laddove utilizzato necessita di calibrazione. Torniamo al nostro dato di partenza: le curve di livello hanno densità un metro, il modulo di default prende un punto sulla linea ogni 0.5m. Quello che si ottiene è comunque un dato ad alta densità.

v.surf.rst - Regularized Spline with Tension Lanciamo una prima interpolazione utilizzando il valore di tension di default (40) e tension nulla (default), produciamo la mappa dem40t. Il comando è: v.surf.rst input=elev_lid792_cont1m elev=dem40t Una volta conclusa l'elaborazione lanciamo il comando: r.info map=dem40t ed andiamo a leggere lo scarto quadratico medio come indice di bontà dell'interpolazione sqm=0.03... Proviamo a iterare il calcolo aumentando la tension a 100, produciamo la mappa dem100t. Da r.info map=dem100t ricaviamo sqm=0.01... Facciamo una terza iterazione con tension a 1000, produciamo la mappa dem1000t. Da r.info map=dem1000t ricaviamo sqm=0.009.....e così via. Vediamo che aumentando la tension diminuisce lo scarto quadratico medio e il dem risulta più smussato.

Quest'opera è stata rilasciata sotto la licenza Creative Commons Attribuzione Stessa Licenza 2.5 Copyright GFOSSERVICES S.A. 2009 annalisa.minelli@gmail.com Tu sei libero: Attribuzione - Condividi allo stesso modo 2.5 Italia di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico, rappresentare, eseguire e recitare quest'opera di modificare quest'opera di usare quest'opera per fini commerciali Alle seguenti condizioni: Attribuzione. Devi attribuire la paternità dell'opera nei modi indicati dall'autore o da chi ti ha dato l'opera in licenza. Condividi allo stesso modo. Se alteri o trasformi quest'opera, o se la usi per crearne un'altra, puoi distribuire l'opera risultante solo con una licenza identica a questa. Ogni volta che usi o distribuisci quest'opera, devi farlo secondo i termini di questa licenza, che va comunicata con chiarezza. In ogni caso, puoi concordare col titolare dei diritti d'autore utilizzi di quest'opera non consentiti da questa licenza. Le utilizzazioni consentite dalla legge sul diritto d'autore e gli altri diritti non sono in alcun modo limitati da quanto sopra. Questo è un riassunto in linguaggio accessibile a tutti del Codice Legale (la licenza integrale). Limitazione di responsabilità