Lez. 2 - Corso di modelli e GIS per l'ambiente
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Lez. 2 - Corso di modelli e GIS per l'ambiente

on

  • 1,768 views

Lezione 2 - GRASS GIS: Primi passi e operazioni sui raster. - corso di Modelli e GIS per l’ambiente, Universita` della Basilicata, 20/12/2011

Lezione 2 - GRASS GIS: Primi passi e operazioni sui raster. - corso di Modelli e GIS per l’ambiente, Universita` della Basilicata, 20/12/2011

Statistics

Views

Total Views
1,768
Views on SlideShare
1,762
Embed Views
6

Actions

Likes
2
Downloads
72
Comments
0

2 Embeds 6

http://www.linkedin.com 5
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Lez. 2 - Corso di modelli e GIS per l'ambiente Presentation Transcript

  • 1. Universita` degli Studi della Basilicata Dipartimento di Ingegneria e Fisica dellAmbiente (DIFA)GRASS GIS: Primi passi e operazioni sui raster Ing. Margherita Di Leo
  • 2. Avvio del programma● Avviare il programma dal launcher;
  • 3. Avvio del programma● Avviare il programma dal launcher;● Sfogliare la cartella grass data;
  • 4. Avvio del programma● Avviare il programma dal launcher;● Sfogliare la cartella grass data;● Scegliere la location North Carolina;
  • 5. Avvio del programma● Avviare il programma dal launcher;● Sfogliare la cartella grass data;● Scegliere la location North Carolina;● Scegliere il mapset user1;
  • 6. Avvio del programma● Avviare il programma dal launcher;● Sfogliare la cartella grass data;● Scegliere la location North Carolina;● Scegliere il mapset user1;● Avvio.
  • 7. Interfaccia utente (GUI) Map Display Layer Manager Command console Python shellMap Layers Terminal Search module
  • 8. Impostare la regione● La prima volta che si usa GRASS e` importante impostare la regione computazionale.● Tutte le elaborazioni successive vengono effettuate sulla regione computazionale prescelta.● La regione (estensione e risoluzione) si imposta con il comando g.region.
  • 9. Impostare la regione● Digitando g.regionnella commandconsole e premendoinvio, si manifestalinterfaccia grafica delcomando.●Nel tab Existing e`possibile impostare laregione sulla base diuna regione esistentesalvataprecedentementeoppure su un fileesistente.
  • 10. Impostare la regione● Nel tab Bounds e`possibile impostare laregione indicando ilimiti precisi.
  • 11. Impostare la regione●Nel tab Resolution e`possibile impostare larisoluzione della cella.
  • 12. Impostare la regione●Nel tab Effects e`possibile salvare laregione corrente(regione divisualizzazione) conun nome, in modo dapoterlasuccessivamenterichiamare.
  • 13. Impostare la regione●Nel tab Print e`possibile spuntare levarie opzioni di cio`che desideriamovenga stampato aschermo.
  • 14. Impostare la regione●Per il nostro progetto,impostiamo comeregionecomputazionale larisoluzione edestensione del rasterelevation. g.region -ap rast=elevation@PERMANENT
  • 15. Visualizzare il contenuto del mapset● Vogliamo vedere cosa e` contenuto nel dataset di esempio. Il comando che si usa allo scopo e` g.list.● La sintassi e`: g.list type=tipo1[,tipo2,...]● Ad esempio: g.list type=rast,vect elenchera` tutti i raster e i vettoriali presenti nel mapset, mentre: g.list type=rast3d dira` che non e` presente alcun raster3d.
  • 16. Add raster map layer Visualizzare un rasterd.rastd.rast –helpd.rast map=elevation@PERMANENT
  • 17. Visualizzare un raster Zoom to selected map
  • 18. Informazioni su una mappa rasterr.infor.info –helpr.info rast=elevation@PERMANENT
  • 19. Informazioni su una mappa raster r.info da informazioni sulla mappa raster: titolo, tipo di dato, righe, colonne, numero di celle, proiezione, estensione, risoluzione, intervallo dei valori, informazioni sulla provenienza (come e` stata generata e da chi).r.infor.info –helpr.info rast=elevation@PERMANENT
  • 20. Interrogare una mappa raster Query raster/vector map(s) r.what restituisce il valore della mappa nel punto selezionato.Utile per individuare le coordinate della sezione di chiusura!
  • 21. Interrogare piu` mappe raster● r.what puo` essere utilizzato da display oppure da linea di comando, come in generale tutti i comandi di GRASS.● Utilizzarlo da linea di comando e` utile quando, note le coordinate, vogliamo conoscere i valori di una o piu` mappe raster in quel dato punto.● Per fare un esempio, consideriamo la mappa raster landclass96.● Interroghiamo con il comando r.what entrambe le mappe contemporaneamente, per conoscere il valore di entrambe le mappe nella posizione considerata: r.what input=elevation,landclass96 east_north=636889.830508,222716.101695● La risposta e`: 636889.830508|222716.101695||98.26356|5 ovvero: east | north || elevation | landclass96
  • 22. Suggerimenti● Per interrogare la mappa landclass96, utilizzando la linea di comando, non e` necessario caricare la mappa nel layer tree!● Luso della linea di comando velocizza il lavoro;● Per dubbi sulla sintassi dei comandi da riga di comando e` sempre possibile farli seguire da: --help
  • 23. Generare report e statisticher.report fornisce le seguenti informazioni:● Location in cui stiamo lavorando;● Limiti n-s e-o della mappa;● Risoluzione della mappa n-s e-o;● Eventuale presenza della mask;● Descrizione delle categorie presenti nella mappa;● Estensione delle varie categorie nellunita` di misura scelta dallutente.
  • 24. Generare report e statistiche r.report map=name[,name,...][units=string[,string,...]][output=name][nsteps=value]● Units: Le unita` possono essere: mi,me,k,a,h,c,p (mi: miglia, me: metri, k: chilometri, a: acri, h: ettari, c: numero di celle, p: percentuale);● Output: Nome del file di output;● Nsteps: Numero di intervalli (default: 255). Ha senso per mappe con valori continui, come elevazione, pendenza, ecc.
  • 25. Generare report e statistiche r.report map=geology_30m units=k
  • 26. Generare report e statistiche r.univar serve per riportare le statistiche univariate dellintervallo di dati della mappa:● Numero di celle;● Minimo e massimo valore delle celle;● Intervallo;● Media aritmetica;● Varianza della popolazione;● Deviazione standard● Coefficiente di variazione.● Con la flag -e vengono calcolati anche: primo quartile, secondo quartile (mediana), terzo quartile e percentile dato.
  • 27. Generare report e statistiche r.univar map=slope
  • 28. Riclassificazioner.reclass serve peraggregare delle categorie apartire da una mappa raster.Consideriamo ad esempio lamappa landclass96.Utilizzando r.report su talemappa otteniamo le categorieriportate a lato.Procediamo allariclassificazione creando unfile di testo sul nostroDesktop (utilizziamoWordPad).Il file di testo, denominato“regole.txt”, conterra` leregole per la riclassificazione. r.report map=landclass96
  • 29. RiclassificazioneSupponiamo di voler aggregare tutte le categorie che rappresentano lacopertura vegetale non di origine agricola.Per costruire il file delle regole:vecchio_valore = nuovo_valore etichettaIl file regole.txt sara` fatto cosi`: 1 = 1 developed 2 = 2 agriculture 3 = 3 vegetazione 4 = 3 vegetazione 5 = 3 vegetazione 6 = 4 water 7 = 5 sedimentSalviamo il file regole.txt sul Desktop.
  • 30. RiclassificazioneOra siamo pronti ariclassificare lamappa landclass96.Digitiamo nelcommand consoler.reclass e diamoinvio. Si aprira`linterfaccia grafica.Inseriamo in input:landclass96 e inoutputlandclass_riclassificata.
  • 31. RiclassificazioneNel tab “Optional”sfogliamo il percorsoal file “regole.txt” cheabbiamo salvato sulDesktop.
  • 32. RiclassificazioneIl risultato e` una mappa raster riclassificata:Prima: landclass96 Dopo: landclass_riclassificata
  • 33. Riclassificazione IMPORTANTE: La riclassificazione NON crea una nuova mappa, ma crea soltanto un file di riclassificazioneche viene conservato in una cartella del mapset di GRASS. Per generare un file raster riclassificato, e` necessario ricorrere alla map algebra. Nel terminale, digitiamo: r.mapcalc “nuova_landclass = landclass_riclassificata” ● NOTA: Osservando bene “landclass_riclassificata” e “nuova_landclass”, si puo` notare che hanno risoluzionediversa. Perche`? (Consiglio per la risposta: usare r.info e ricordare cio` che e` stato detto riguardo la regione computazionale e g.region!)
  • 34. Esercitazione Supponiamo di voler creare una mappa di localizzazione probabile di reperti archeologici appartenenti ad una antica popolazione.● Si ipotizza che tale popolazione costruisse i propri villaggi ad una quota inferiore a 100 m s.l.m., ad una distanza entro i 200 m dai corsi dacqua, in territori con esposizione da sud-est a sud-ovest e pendenza compresa tra 0 e 25 gradi.● Solo i terreni con superficie superiore a 1 ettaro saranno poi selezionati, poiché le aree con superfici inferiori non possono permettere lo sviluppo di un villaggio.
  • 35. Creazione di un bufferRicaviamo primadi tutto la mappadei punti che sitrovano ad unadistanza entro i200 m dai corsidacqua.Utilizziamo ilcomandor.buffer. r.buffer input=streams_derived@PERMANENT output=fiumi_buffer distances=200 units=meters
  • 36. Creazione di un buffer Il risultato è una mappa in cui hanno valore 1 le celle contenenti i fiumi, valore 2 le celle distanti fino a 200 metri da essi e * le altre. [* questo simbolo indica i null data, e si gestisce con il comando r.null] r.buffer input=streams_derived@PERMANENToutput=fiumi_buffer distances=200 units=meters
  • 37. Map algebraVogliamo ricavare la mappa delle aree con quota non superiore a 100 ms.l.m. Nel TERMINALE inseriamo il comando:r.mapcalc "fino_a_100=if(elevation<=100,1,0)"
  • 38. Map algebra Il risultato e` una mappa binaria, con valore 1 dove la quota e` minore o uguale a 100, e valore 0 altrove.r.mapcalc "fino_a_100=if(elevation<=100,1,0)"
  • 39. Map algebraCerchiamo ora le aree con esposizione a sud-est, sud e sud-ovest. La convenzione delle direzioni in GRASS e` la seguente: I valori della mappa dellesposizione (aspect) che ci interessano sono dunque: >=225 & <=315 Tradotto in map algebra, si scrive: r.mapcalc "buona_esposizione=if(aspe ct>=225&&aspect<=315,1,0)"
  • 40. Map algebraScriviamo nel terminale:r.mapcalc"buona_esposizione=if(aspect>=225&&aspect<=315,1,0)"
  • 41. Map algebra Mappa delle esposizioni sud-est, sud, sud-ovest.r.mapcalc"buona_esposizione=if(aspect>=225&&aspect<=315,1,0)"
  • 42. Map algebraNOTA: la map algebra ha anche uninterfaccia grafica, per chi la preferisce.
  • 43. Map algebraCalcoliamo ora la mappa delle aree con pendenza non superiore a 25gradi, usiamo la mappa slope presente nel dataset, e impostiamo lacondizione con la solita map algebra, scrivendo nel terminale: r.mapcalc "buona_pendenza=if(slope<=25,1,0)"
  • 44. Map algebra Mappa delle aree con pendenza non superiore a 25 gradi.r.mapcalc "buona_pendenza=if(slope<=25,1,0)"
  • 45. Map algebraCalcoliamo infine la mappa di intersezione di tutte le condizioni richieste(si ricorda che lintersezione corrisponde alloperatore AND (&),mentre lunione corrisponde alloperatore OR(|)): r.mapcalc "intersezione = if( ( fiumi_buffer == 2 && fino_a_100 == 1 && buona_esposizione == 1 && buona_pendenza == 1 ), 1, null() )"
  • 46. Map algebraLa mappa di intersezione di tutte le condizioni richieste: r.mapcalc "intersezione = if( ( fiumi_buffer == 2 && fino_a_100 == 1 && buona_esposizione == 1 && buona_pendenza == 1 ), 1, null() )"
  • 47. Riclassificazione in base allareaCome ultimo step,dobbiamo eliminare tuttele aree che risultanoinferiori ad un ettaro. Perfare cio` utilizziamo ilcomando r.reclass.area.Digitiamolo dellacommand console, enellinterfaccia graficainseriamo i parametririchiesti: r.reclass.area input=intersezione output=intersezione_max_ettaro greater=1
  • 48. Riclassificazione in base allareaNel tab “Optional”inseriamo la condizioneche le aree debbanoessere superiori ad 1ettaro: r.reclass.area input=intersezione output=intersezione_max_ettaro greater=1
  • 49. Risultato Et voila`! La mappaintersezione_max_ettaro rappresenta il risultatodella nostra esercitazione.
  • 50. License of this document             This work is licensed under a Creative Commons License.                         http://creativecommons.org/licenses/by­sa/3.0/                                      © 2011, Margherita Di Leo, Italy                                      dileomargherita AT gmail DOT comLicense details: Attribution­ShareAlike 3.0:You are free:  * to Share — to copy, distribute and transmit the work  * to Remix — to adapt the work Under the following conditions:  * Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).  *Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license.With the understanding that:  * Waiver — Any of the above conditions can be waived if you get permission from the copyright holder.  * Other Rights — In no way are any of the following rights affected by the license:       o Your fair dealing or fair use rights;       o The authors moral rights;       o Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights.