JGrass 2.0
Manuale Utente
HydroloGIS
Andrea Antonello & Silvia Franceschi
In collaborazione con il CUDAM
Riccardo Rigon & Alfonso Vitti
Maggio 2006
ISBN 10: 88-8443-144-1
ISBN 13: 978-88-8443-144-8
Andrea Antonello
[email protected]
Silvia Franceschi
[email protected]
Riccardo Rigon
[email protected]
Alfonso Vitti
[email protected]
HydroloGIS
www.hydrologis.com
Grazie a Vanna Antonello, l’utente paziente “cavia”
In JGrass we trust...
Readme
Questo libro elettronico è stato scritto da Silvia Franceschi, Andrea Antonello, Riccardo Rigon
e Alfonso Vitti (HydroloGIS - Università degli Studi di Trento, Dipartimento di Ingegneria Civile
e Ambientale).
Il libro viene distribuito con licenza CREATIVE COMMONS detta: Attribuzione - Non Opere
Derivate 2.5.
Secondo questo tipo di licenza si ha il permesso di:
• riprodurre, distribuire, comunicare al pubblico, esporre in pubblico, rappresentare, eseguire
o recitare l’opera
• di usare l’opera a fini commerciali
Alle seguenti condizioni:
• Attribuzione. Si deve attribuire la paternità dell’opera nei modi indicati dall’autore o da
chi ha fornito l’opera in licenza.
• Chiunque distribuisca quest’opera, deve farlo secondo i termini di questa licenza, che va
comunicata con chiarezza.
• È possibile concordare col titolare dei diritti d’autore utilizzi di quest’opera non consentiti da
questa licenza.
• Non è possibile alterare, trasformare o sviluppare quest’opera.
Le utilizzazioni libere dell’opera e gli altri diritti non sono in nessun modo limitati da quanto
sopra. La forma integrale della licenza è consultabile al sito:
http://creativecommons.org/licenses/by-nd/2.5/legalcode.it
8
Indice
1 Introduzione
1
1.1
Il GIS JGrass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Sviluppi futuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3
Altre informazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2 Introduzione ai GIS
5
Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1.1
Definizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1.2
GIS e SIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.2
Modello dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3
Tipologia di dati geografici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.4
Funzionalità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.5
Glossario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.1
3 Installazione
15
3.1
Requisiti del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2
Installazione del software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3
3.2.1
Installazione da file jar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.2
Il processo di installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Programmi esterni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.1
I pacchetti di R usati
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4
Struttura delle cartelle di installazione . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5
Struttura dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 Primo avvio del programma
29
4.1
Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2
L’interfaccia grafica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2.1
La barra degli strumenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
i
INDICE
4.2.2
Il menu principale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2.3
L’ambiente di lavoro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2.4
La barra degli strumenti del monitor . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.5
La barra dei menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3
Personalizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.4
Proprietà di visualizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5 Primi passi con JGrass
49
5.1
Il set di dati di prova Spearfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2
Parametri della regione
5.2.1
5.3
5.4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Proprietà della regione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Visualizzazione dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3.1
Dati raster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3.2
Dati vettoriali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Interrogazione delle mappe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.4.1
Interrogazione di mappe raster . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.4.2
Interrogazione di mappe vettoriali . . . . . . . . . . . . . . . . . . . . . . . . 64
5.5
Tracciamento del profilo delle mappe . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.6
Gestione delle mappe raster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.6.1
Copiare una mappa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.6.2
Rinominare una mappa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.6.3
Cancellare una mappa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.7
Creazione della tavola dei colori di una mappa raster . . . . . . . . . . . . . . . . . . 73
5.8
Calcoli con mappe raster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.9
Creazione della lista delle categorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.10 Modifica dei valori di mappe raster . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.10.1 Editing manuale di mappe raster . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.10.2 Modifica di mappe raster attraverso la creazione di poligoni . . . . . . . . . . 83
6 Creazione di un nuovo ambiente di lavoro
6.1
87
Creazione di una location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.1.1
Caricamento di una location preesistente . . . . . . . . . . . . . . . . . . . . . 94
6.2
Scelta del sistema di riferimento e della proiezione cartografica . . . . . . . . . . . . 94
6.3
Importazione di dati raster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.3.1
Import di mappe raster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
ii
INDICE
6.3.2
6.4
Import di mappe vettoriali . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Riproiezione dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
7 Elaborazioni particolari
109
7.1
Creazione delle linee di livello partendo dal dem . . . . . . . . . . . . . . . . . . . . . 109
7.2
Creazione di un dem partendo dalle curve di livello . . . . . . . . . . . . . . . . . . . 110
8 Database ambientali
8.1
8.2
113
Installazione e utilizzo del client di database . . . . . . . . . . . . . . . . . . . . . . . 113
8.1.1
Creazione delle connessioni a database remoti . . . . . . . . . . . . . . . . . . 114
8.1.2
Connessione e visualizzazione dei dati . . . . . . . . . . . . . . . . . . . . . . 116
Come interfacciare JGrass ai database . . . . . . . . . . . . . . . . . . . . . . . . . . 118
8.2.1
Interfaccia per database di punti . . . . . . . . . . . . . . . . . . . . . . . . . 118
8.2.2
Interfaccia per database spaziali . . . . . . . . . . . . . . . . . . . . . . . . . 125
9 Uso della console
129
9.1
Esecuzione in console dei comandi di JGrass . . . . . . . . . . . . . . . . . . . . . . . 129
9.2
Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
9.3
Esecuzione in console dei comandi di GRASS . . . . . . . . . . . . . . . . . . . . . . 133
9.4
Indice dei comandi GRASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
10 Elaborazione statistica
145
10.1 Elaborazioni statistiche di mappe di punti . . . . . . . . . . . . . . . . . . . . . . . . 145
10.2 Report statistico del set di dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.3 Funzione densità di probabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.4 Funzione densità di probabilità cumulata
. . . . . . . . . . . . . . . . . . . . . . . . 151
10.5 Interpolazione geostatistica con l’interpolatore kriging . . . . . . . . . . . . . . . . . 152
11 Stampa
159
12 Disinstallazione
163
iii
INDICE
iv
1
Introduzione
Da diverso tempo ci viene chiesto di scrivere un manuale di JGrass, e ora abbiamo finalmente
deciso di scriverlo.
Il manuale che vi presentiamo segue un po’ la logica d’uso di JGrass partendo dalla presentazione
del programma e degli algoritmi principali che sono stati implementati fino alla definizione di
particolari parametri ambientali (in particolare idrologici e geomorfologici). Il manuale vi mostrerà
una panoramica generale sulle capacità di JGrass e vi darà qualche spunto per risolvere alcuni
problemi spaziali.
Nella versione HTML [http://geoserver.ing.unitn.it/jgrass]del manuale ci sono due modi di procedere: le pagine sono ordinate secondo un ordine lineare. All’inizio e alla fine di ogni pagina ci
sono quattro direzioni da prendere. La freccia a sinistra riporta alla pagina precedente (che non
è necessariamente l’ultima pagina vista) mentre la freccia a destra permette di proseguire con il
manuale. Cliccando sul link all’indice si visualizza la pagina con i contenuti del manuale con una
breve descrizione di ogni capitolo. Infine il link ’A-Z’ vi porterà a visualizzare l’indice analogico di
tutti i moduli di JGrass.
1.1
Il GIS JGrass
La base della ricerca per lo sviluppo degli algoritmi contenuti in JGrass è il Dipartimento di
Ingegneria Civile e Ambientale dell’Università di Trento e il CUDAM (Centro Universitario per la
Difesa dell’Ambiente Montano) che ha sede sempre a Trento. Il centro dello sviluppo è HydroloGIS
di Bolzano, ci sono comunque altri sviluppatori presso il CUDAM di Trento e l’ICENS di Kingston.
La base di partenza di JGrass è il GIS GRASS, che attualmente rappresenta il maggiore progetto
Open Source nel campo dei GIS. GRASS sta pian piano evolvendo verso una soluzione appetibile
nei settori commerciali e di produzione. Il maggiore ostacolo alla fioritura commerciale di GRASS
è senza dubbio il problema della portabilità. Un gran numero di professionisti utilizza Windows
e Mac-OS come piattaforme preferenziali e le strutture aziendali non prevedono la possibilità di
usare Linux (che è il sistema operativo su cui si basa lo sviluppo di GRASS).
JGrass, sviluppato per semplificare l’utilizzo di GRASS sulle varie piattaforme si pone i seguenti
obietivi:
• portabilità - la possibilità di utilizzare GRASS su Windows, Unix/Linux e Mac-OS indifferentemente (write once, run everywhere)
1. Introduzione
• possibilità per chiunque, attraverso il framework creato, di sviluppare con semplicità moduli
aggiuntivi, funzioni particolari e interfacce dedicate attraverso lo scripting XML (interfacce
application oriented)
• scripting - possibilità di usare un linguaggio di scripting su base Java per automatizzare
processi (programmer’s and scientific work oriented)
• semplicità nell’utilizzo - barre del menu, degli strumenti e icone atte a semplificare l’interfaccia
(end-user friendly)
Negli ultimi anni sono stati vari i tentativi di unire le forze di Java e GRASS, primo fra tutti il
lavoro di wrapping delle librerie di GRASS in java di Alexandre Sorokine. Poco dopo, al Centro di
Scienze Ambientali e Nucleari dell’Università of the West Indies (Jamaica), John Preston dette il via
allo sviluppo di un’applicazione Java/swing incentrata sulla visualizzazione di mappe geochimiche.
All’inizio del 2003 il Dr. Rigon del Dipartimento di Ingegneria Civile ed Ambientale di Trento /
CUDAM, decide di supportare il progetto Jamaicano in modo concreto fornendo sia dei fondi che
uno sviluppatore, e coordinandosi con il gruppo di ricerca all’ITC che comprende anche Markus
Neteler, e da cosı̀ inizio allo sviluppo di JGrass.
Allo stato attuale JGrass è un’applicazione eseguibile in locale, anche se prevede l’implementazione futura della gestione remota. È un’applicazione Java/Swing basata su MDI (multiple document
interface) e fornisce delle modalità standardizzate di interazione tra le interfacce e il kernel di
GRASS.
Anche se il tentativo è quello di mantenere JGrass il più possibile in pure Java, alcune parti
sono ancora scritte in linguaggio nativo di GRASS tramite l’utilizzo della API JNI della Sun.
Nell’architettura di JGrass vi sono un display monitor 2D/3D basato su tecnologia OpenGl
(GL4java, Jogl) e una console, dalla quale si ha la possibilità di lanciare applicazioni e tutti i
comandi originari di GRASS. Sono inoltre fornite delle barre di strumenti e una barra di menu
utilizzabili in sostituzione della console.
Viene presentato nel manuale il progetto che allo stato attuale implementa la visualizzazione
di mappe raster, file vettoriali, sites e anche shapefiles (ESRI), visualizzazione 2D e 3D e alcune
utilità di stampa e di esportazione.
1.2
Sviluppi futuri
JGrass si è evoluto molto in questi ultimi due anni grazie all’esperienza acquisita dagli sviluppatori e all’interesse di molte persone. Esso si candida in un prossimo futuro ad essere un GIS
2
1. Introduzione
completo per le analisi ambientali e semplice da usare, paragonabile al più famoso ArcView.
È previsto a breve lo sviluppo di un ambiente vettoriale completo comprensivo anche dell’editing
di vettori e il suo utilizzo come strumento di visualizzazione delle mappe in remoto, ovvero la
creazione di un WebGIS completo per l’analisi e il calcolo su mappe in un database centralizzato.
Un altro filone di sviluppo è la parte di trattamento di grandi moli di dati. I rilievi LIDAR (Laser
Scanner) sono ormai molto diffusi e permettono di rappresentare il territorio con una precisione
notevole e di ottenere un modello delle elevazioni a risoluzione fino a 1m x 1m. Si tratta quindi di
una quantità ingente di dati delicata sia da visualizzare che da elaborare per le analisi territoriali.
Quello che verrà introdotto in JGrass è un sistema innovativo per la visualizzazione dei dati, del
tipo usato presso i Livermore Laboratories di San Francisco, e un sistema efficiente di mappatura
dei dati su harddisk per l’elaborazione delle routines di calcolo.
1.3
Altre informazioni
Sul progetto JGrass si sta lavorando da qualche anno ormai e sono attivi tutta una serie di
strumenti che possono essere utilizzati sia dagli utenti che dai programmatori. Questi strumenti
sono:
• mailing list: per utenti e programmatori i cui indirizzi e modalità di iscrizione si trovano al
sito http://www.hydrologis.com/jgrassml.html nella sezione Tools.
• bug tracker: per segnalare i bachi nell’uso del software, per inviare un messaggio è sufficiente collegarsi a https://sourceforge.net/tracker/?group id=144497&atid=758942 e seguire le
istruzioni
• altri manuali scritti dal personale del CUDAM e Diprartimento di Ingegneria Civile e Ambientale dell’Università di Trento.
3
1. Introduzione
4
2
Introduzione ai GIS
In questo manuale non si dà particolare spazio alla descrizione dei Sistemi Informativi Geografici
e allo sviluppo che hanno avuto nell’ultimo periodo. Si presuppone che l’utente che si avvicina a
JGrass abbia un’infarinatura di GIS e per questo vengono proposti di seguito solamente i termini
cardine che verranno utilizzati di seguito nel manuale.
La parte di introduzione ai Sistemi Informativi Geografici riportata nel seguente capitolo fa
riferimento a quanto riportato sull’argomento al sito di Wikipedia1 , l’enciclopedia libera. Maggiori
informazioni si possono trovare sulla pagina inglese della stessa enciclopedia2 .
2.1
Introduzione
I Sistemi Informativi Geografici (GIS - Geographic Information System) sono dei sistemi informatizzati (ovvero basati sui computer) e vengono usati per rappresentare su supporto digitale e
analizzare le caratteristiche e gli elementi presenti sulla superficie della terra, nonché gli eventi che
avvengono su di essi.
Ogni oggetto presente sulla superficie della terra può essere geo-riferito, che significa che può
essere collocato spazialmente in una posizione ben precisa sul globo terrestre, questo è il concetto
di base che permette di associare ogni database a un GIS. In questa sede il termine database è
associato a un insieme di informazioni riguardanti un oggetto e la sua relazione con altri “oggetti”,
mentre il termine georeferenziazione si riferisce alla posizione di un oggetto nello spazio definito
attraverso un sistema di coordinate.
Quello che si vorrebbe chiarire prima di affrontare lo studio dei GIS è che in essi non ci sono
soluzioni già preconfezionate per ogni sorta di problema spaziale. Tutto dipende dalla capacità
dell’utente, è la capacità dell’utente di aggregare le operazioni in una particolare sequenza o secondo
un particolare schema che permette di ottenere i risultati migliori.
2.1.1
Definizione
Un Sistema Informativo Geografico (GIS) è un sistema informativo computerizzato che permette
l’acquisizione, la registrazione, l’analisi, la visualizzazione e la restituzione di informazioni derivanti
da dati geografici (geo-referenziati).
1
2
http://it.wikipedia.org/wiki/Sistema informativo territoriale
http://en.wikipedia.org/wiki/GIS
2. Introduzione ai GIS
2.1.2
GIS e SIT
Secondo la definizione di Burrough (1986) il GIS è composto da una serie di strumenti software
per acquisire, memorizzare, estrarre, trasformare e visualizzare dati spaziali dal mondo reale.
Si tratta di un sistema informatico in grado di produrre, gestire e analizzare dati spaziali
associando a ciascun elemento geografico una o più descrizioni alfanumeriche.
Il GIS può essere visto come una forma di DBMS (Database Management System, Sistema di
Gestione di basi di dati), in grado di gestire dati geografici.
Sebbene sia uso comune utilizzare indistintamente i termini GIS e SIT (Sistema Informativo
Territoriale) molti Autori sono concordi nel ritenere che le due definizioni non coincidono. Il termine
SIT infatti, essendo riferito al territorio, è riduttivo rispetto al termine GIS. Mogorovich (1988) ha
definito il SIT: Il complesso di uomini, strumenti e procedure (spesso informali) che permettono
l’acquisizione e la distribuzione dei dati nell’ambito dell’organizzazione e che li rendono disponibili
nel momento in cui sono richiesti a chi ne ha la necessità per svolgere una qualsivoglia attività.
2.2
Modello dei dati
Per la rappresentazione dei dati in un sistema informatico occorre formalizzare un modello
rappresentativo flessibile che si adatti ai fenomeni reali. Nel GIS ci sono tre tipologie di informazioni:
• Informazioni Geometriche: relative alla rappresentazione cartografica degli oggetti rappresentati; quali la forma (punto, linea poligono), la dimensione e la posizione geografica;
• Topologiche: riferite alle relazioni reciproche tra gli oggetti (connessione, adiacenza, inclusione
ecc...);
• Informative: riguardanti i dati (numerici, testuali ecc...) associati ad ogni oggetto.
Il GIS prevede la gestione di queste informazioni in un database relazionale.
L’aspetto che caratterizza il GIS è quello geometrico: esso memorizza la posizione del dato
impiegando un sistema di proiezione reale che definisce la posizione geografica dell’oggetto. Il GIS
gestisce contemporaneamente i dati provenienti da diversi sistemi di proiezione e riferimento (es.
UTM o Gauss Boaga)
A differenza della cartografia su carta la scala, in un GIS, è un parametro di qualità del dato e
non di visualizzazione. Il valore della scala, esprime le cifre significative che si devono considerare
valide delle coordinate di georeferimento.
6
2. Introduzione ai GIS
2.3
Tipologia di dati geografici
Il mondo reale può essere rappresentato in un Sistema Informativo Geografico attraverso due
tipologie principali di dato: il dato vettoriale e il dato raster.
I dati vettoriali sono costituiti da elementi semplici quali punti, linee e poligoni, codificati e
memorizzati sulla base delle loro coordinate. Un punto viene individuato in un Sistema Informativo
Geografico attraverso le sue coordinate reali (x1, y1); una linea o un poligono attraverso la posizione
dei suoi nodi (x1, y1; x2, y2; ...). A ciascun elemento è associato un record del database informativo
che contiene tutti gli attributi dell’oggetto rappresentato.
Il dato raster permette di rappresentare il mondo reale attraverso una matrice di celle, generalmente di forma quadrata o rettangolare, dette pixel. A ciascun pixel sono associate le informazione
relative a ciò che esso rappresenta sul territorio. La dimensione del pixel (detta anche pixel size), generalmente espressa nell’unità di misura della carta (metri, chilometri etc.), è strettamente
relazionata alla precisione del dato.
I dati vettoriali e i dati raster si adattano ad usi diversi. La cartografia vettoriale è particolarmente adatta alla rappresentazione di dati che variano in modo discreto (ad esempio l’ubicazione
dei cassonetti dei rifiuti di una città o la rappresentazione delle strade o una carta dell’uso del
suolo), la cartografia raster è più adatta alla rappresentazione di dati con variabilità continua (ad
esempio un modello digitale di elevazione o una carta di acclività del versante).
2.4
Funzionalità
Il GIS consente di mettere in relazione tra di loro dati diversi, sulla base del loro comune
riferimento geografico in modo da creare nuove informazioni a partire dai dati esistenti. Il GIS
offre ampie possibilità di interazione con l’utente e un insieme di strumenti che ne facilitano la
personalizzazione e l’adattamento alle problematiche specifiche dell’utente.
I GIS presentano normalmente delle funzionalità di analisi spaziale ovvero di trasformazione ed
elaborazione degli elementi geografici degli attributi. Esempi di queste elaborazioni sono:
• L’overlay topologico: in cui si effettua una sovrapposizione tra gli elementi dei due temi per
creare un nuovo tematismo (ad esempio per sovrappore il tema dei confini di un parco con i
confini dei comuni per determinare le superfici di competenza di ogni amministrazione o la
percentuale di area comunale protetta);
• Le query spaziali, ovvero delle interrogazioni di basi di dati a partire da criteri spaziali
7
2. Introduzione ai GIS
(vicinanza, inclusione, sovrapposizione etc.)
• Il buffering: da un tema puntuale, lineare o poligonale definire un poligono di rispetto ad una
distanza fissa o variabile in funzione degli attributi dell’elemento
• La segmentazione: algoritmi di solito applicati su temi lineari per determinare un punto ad
una determinata lunghezza dall’inizio del tema;
• La Network Analysis: algoritmi che da una rete di elementi lineari (es.
rete stradale)
determinano i percorsi minimi tra due punti.
2.5
Glossario
Le definizioni contenute in questa sezione fanno riferimento al glossario dei termini GIS on line al
sito: http://www.glossari.it/glossariogis.html dove si può trovare la versione completa e aggiornata.
A
Attributo - Informazione descrittiva associata ad un oggetto geografico e che lo caratterizza.
Generalmente nei GIS indica le caratteristiche non grafiche dell’elemento o quelle grafiche non
rappresentabili nella scala d’acquisizione. Ad esempio potrebbero essere attributi di un elemento
lineare (arco) che rappresenta una strada: il tipo di pavimentazione, il numero medio di veicoli in
transito, la larghezza, ecc.
C
Campo - Un una tabella di attributi, indica una posizione all’interno di un record dedicata ad una
sola caratteristica di ciascun elemento della tabella.
Carta geografica - Una carta geografica è una rappresentazione grafica di elementi geografici
o altri fenomeni spaziali (laghi, fiumi, strade, città...) che fornisce due tipi di informazioni circa
l’area rappresentata: la posizione e l’aspetto. La posizione consente di capire dov’è un particolare
elemento geografico sulla superficie della terra e quali sono le sue relazioni con gli altri elementi.
L’aspetto ci illustra sia le caratteristiche qualitative (nome, tipo .. .) che quelle quantitative (area,
8
2. Introduzione ai GIS
lunghezza ...) dell’elemento rappresentato. Ciascuna carta geografica presenta, oltre alle informazioni spaziali e descrittive, alcune caratteristiche tecniche che la definiscono e ne determinano
l’uso. Tali caratteristiche includono la scala, l’accuratezza, il sistema di proiezione, il sistema di
coordinate.
Cartografia digitale - Nella versione digitale di una carta geografica tradizionale, la posizione e
la descrizione degli elementi sono memorizzate in una serie di file su computer. Per individuare la
posizione degli elementi geografici è utilizzato un sistema di coordinate cartesiane x,y o x,y,z: ogni
punto è rappresentato con una singola coppia di coordinate x,y; ogni linea è memorizzata come una
serie ordinata di coordinate x,y; ogni area è memorizzata come una serie ordinata di coordinate
x,y che definiscono i segmenti perimetrali della figura chiusa. Con le coordinate x,y è possibile
rappresentare punti, linee e poligoni come liste di coordinate, invece che come un disegno. Nella
maggior parte dei casi, la memorizzazione degli elementi geografici utilizza coordinate del mondo
reale: queste coordinate rappresentano una localizzazione reale sulla superficie della terra, in uno
dei tanti sistemi di coordinate. Le relazioni tra elementi geografici sono espresse, su una carta
digitale, con l’uso della topologia. Le caratteristiche degli elementi geografici sono memorizzate nel
computer in un file, detto generalmente tabella, come set di numeri e caratteri.
Cartografia di base - È l’insieme delle carte che riguardano un certo territorio, costruite con
tecniche topografiche e fotogrammetriche, che rappresentano le planimetrie (corsi d’acqua, strade,
ferrovie, ponti, case, ecc.) e l’altimetria composta da punti quotati o curve di livello.
D
Database - Per database (base dati, banca dati o archivio) si intende un insieme di informazioni
di diverso tipo. Questi dati sono organizzati secondo criteri ben precisi che permettono una rapida
consultazione.
Database geografico - Database dedicato a informazioni di tipo territoriale.
Dati spaziali - Dati geometrici caratterizzati da un riferimento geografico.
9
2. Introduzione ai GIS
F
Formato raster - [vedi raster]
Fotointerpretazione - Tecnica che consente ad esperti di determinare e classificare fenomeni territoriali dalla lettura di foto aeree o immagini telerilevate, quali ad esempio, tipi di vegetazione,
determinazione di faglie o aggiornamento di basi cartografiche esistenti.
G
Gauss-Boaga - E’ un sistema di coordinate in proiezione cilindrica inversa tipicamente utilizzata
per la cartografia del territorio in Italia (IGMI, Catasto, Carte Tecniche Regionali, ecc.).
Georeferenziare - Procedura software che consiste nel posizionare, mediante punti a coordinate
note (punti di controllo), dati vettoriali o un’immagine raster nella rispettiva zona del territorio
reale secondo un determinato sistema di riferimento.
GIS (Geographical Information System) - Un insieme complesso di componenti hardware,
software, umane ed intellettive per acquisire, processare, analizzare, immagazzinare e restituire in
forma grafica ed alfanumerica dati riferiti ad un territorio.
GPS (Global Positioning System) - E’ un sistema che consente, per mezzo di un ricevitore, un
software dedicato e una costellazione di satelliti, di determinare la posizione al suolo e l’altimetria
di un punto, con una precisione che varia da pochi millimetri ad alcuni metri in funzione del tipo
di apparecchiatura e delle procedure operative di rilievo.
I
Image processing - Insieme di attività riguardanti l’elaborazione di immagini in formato raster.
Molte delle tecniche impiegate in questa disciplina richiedono procedimenti matematici complessi
con l’obiettivo di determinare i fenomeni descritti dall’immagine quali ad esempio, nel GIS, inquinamento, umidità e temperatura al suolo, vegetazione, ecc.
10
2. Introduzione ai GIS
Immagine raster - Qualsiasi immagine può essere pensata come formata da un insieme di piccole
aree uguali (pixel), ordinate secondo linee e colonne, tali da costituire una matrice. I valori associati
ad ogni cella possono esprimere sia informazioni di tipo grafico (colore, tono di grigio, ecc) sia di
tipo descrittivo (temperatura, pendenza, ecc).
L
Layer - [vedi strato informativo]
Legenda - E’ uno strumento presente sulle carte che associa i simboli grafici utilizzati ai singoli
tematismi, per consentirne la lettura.
Longitudine - [vedi proiezione geografica]
M
Mosaicatura - E’ l’insieme di operazioni che, in ambito GIS, consente di unire tra loro più mappe
in formato digitale per realizzare una continuità territoriale.
O
Overlay (topologico) - Procedura di analisi spaziale che consente di sovrapporre e intersecare gli
strati informativi (layer) unendo cosı̀ le informazioni associate a ciascuno di essi per produrre un
nuovo strato di sintesi.
R
Raster - [vedi immagine raster]
11
2. Introduzione ai GIS
Rasterizzazione - Operazione che consente in modo automatico di ricavare un’immagine raster a
partire da dati vettoriali o da documenti cartacei (scanner).
Record - Gruppo di posizioni contigue (campi) di informazioni, anche disomogenee, alle quali è
possibile accedere secondo differenti modalità.
Risoluzione - E’ un parametro di qualità locale di una cartografia e corrisponde alle dimensioni
del più piccolo particolare rappresentato nella cartografia vettoriale e alla lunghezza del lato della
cella (pixel) nel formato raster.
S
Scala nominale - E’ un parametro che definisce la scala di riferimento di una cartografia numerica
in funzione della corrispondente scala di una cartografia tradizionale realizzata seguendo gli stessi
requisiti di precisione metrica.
Scala - La scala di una carta geografica indica, in pratica, quante volte una porzione della superficie
terrestre è stata ridotta per poter essere rappresentata su un foglio di carta. E espressa, in genere,
come il rapporto tra una distanza sulla carta e la corrispondente distanza sul terreno. Il rapporto
di scala utilizzato per una carta geografica determina il contenuto di informazioni e la dimensione
dell’area che può ragionevolmente essere rappresentata. Si definiscono carte a grande scala (1:500,
1:1000, 1:2000), a media scala (1:5000, 1 :10000) e a piccola scala (da 1:25000 in poi).
Sistema di coordinate - [vedi sistema di riferimento]
Sistema di riferimento - Ogni proiezione ha un proprio sistema di riferimento, dal quale si parte
per calcolare le distanze. Ad esempio la Proiezione Geografica ha come riferimenti l’incrocio tra
il meridiano di Greenwich e l’Equatore, la UTM prevede spicchi predeterminati di sei gradi detti
fusi a loro volta divisi in zone (L’ltalia è a cavallo dei fusi 32, 33 e 34), la GAUSS-BOAGA, tutta
italiana, parte da Monte Mario (a Roma) e utilizza coordinate chilometriche misurate convenzionalmente partendo da 1500 a sinistra e da 2520 a destra del meridiano di riferimento.
SIT (Sistema Informativo Territoriale) - Acronimo italiano corrispondente all’anglosassone
12
2. Introduzione ai GIS
GIS.
SPOT (Système Probatoire d’Observation de la Terre) - Famiglia di satelliti multispettrali per
il remote sensing con sistema di puntamento mobile. La definizione a terra è di 20 metri per il
multispettrale e di 10 metri per il pancromatico. Il primo lancio di questo sistema francese risale
al 1986.
T
Tabella di attributi - Le tabelle sono una parte integrante dello strato informativo. Ogni tabella
è relativa ad un gruppo omogeneo di elementi geografici della carta (le strade, i fiumi, le curve di
livello, ecc.) ed è costituita da un numero variabile di righe e colonne. Ogni riga (record) contiene
la descrizione di un singolo elemento geografico ed ogni colonna (campo o attributo) memorizza
uno specifico tipo di informazione. Le caratteristiche degli elementi geografici sono generalmente
tradotte in codici numerici o alfabetici, prima di essere inserite nella relativa tabella.
Tematismo - Rappresentazione di una cartografia raster o vettoriale nella quale punti, linee o superfici sono associati a simboli, retini o colori che rappresentano il risultato di un’analisi di qualità
(uso del suolo, zone di piano regolatore, intensità del traffico su una strada, ecc.).
Topologia - La topologia è un insieme di regole per definire in maniera esplicita le relazioni, i
rapporti di connessione e di contiguità tra gli elementi spaziali e per collegare tali elementi alle
relative descrizioni (attributi). In un modello dati topologico, ad esempio, è possibile riconoscere
le aree contigue e identificare le linee che delimitano ciascuna superficie (confini).
V
Vettoriale - E’ un sistema di archiviazione di dati grafici secondo il quale gli oggetti vengono
memorizzati in base alle coordinate cartesiane dei punti e linee che li compongono.
Vettorializzazione - Operazione che consente in modo automatico o semiautomatico (cioè con
l’assistenza di un operatore) di ricavare un insieme di vettori a partire da una immagine raster.
13
2. Introduzione ai GIS
14
3
Installazione
Si ricorda che JGrass è un software multipiattaforma e quindi è possibile installare la stessa
versione del software sui principali sistemi operativi dove ci sia Java funzionante. Prima di procedere con l’installazione vengono presentati i requisiti di base del sistema necessari per un buon
funzionamento del software. L’installazione è poi particolare per ogni sistema operativo e ne segue
gli standard.
3.1
Requisiti del sistema
In tabella 3.1 sono riportati i requisiti del sistema necessari per l’esecuzione di JGrass, versione
2.0.
Requisito
Processore
Sistema operativo
Memoria RAM
Spazio sul disco disponibile
per il software (no dati)
Scheda Video
Java Runtime
Environment
Linux
1400 MHz
Windows
1400 MHz
qualsiasi
512 Mb
90 Mb
Windows XP
512 Mb
90 Mb
MacOSX
Power Mac G4
500 MHz
Tiger
512 Mb
90 Mb
con supporto
pbuffer
jre 1.5.05
con supporto
pbuffer
jre 1.5.05
con supporto
pbuffer
jre 1.5.05
Tabella 3.1: Requisiti di sistema necessari per l’esecuzione di JGrass.
3.2
Installazione del software
È possibile scaricare il software dal sito di HydroloGIS 1 oppure richiedendo il CD autoinstallante.
Se vi trovate in possesso di un CD autoinstallante e l’opzione “autorun” è attiva saltate direttamente
alla Sezione 3.2.2, altrimenti dovrete proseguire con la Sezione 3.2.1.
1
www.hydrologis.com
3. Installazione
3.2.1
Installazione da file jar
Se avete scaricato l’installatore di JGrass dal sito vi trovate in possesso di un file archivio di
estensione “jar” (di default il suo nome è jgrass installer.jar”).
Windows
Su alcune versioni di windows se scaricate il file “jar” dal sito, questo viene automaticamente
rinominato con l’estensione “.zip”. Se il file mantiene questa estensione non sarà possibile procedere
con l’installazione, per procedere sarà quindi sufficiente rinominare il file con l’estensione corretta
e potrete procedere con l’operazione. È solo un po’ di spirito di iniziativa tipico di windows...
Il file è un archivio java eseguibile e dovrebbe bastare un doppio click per lanciare l’installazione. Nonostante questo, in alcune versioni di Windows non viene riconosciuta l’associazione
all’esecuzione tramite java. In questo caso è necessario lanciare l’installatore da console2 attraverso
il comando:
java -jar jgrass_installer.jar
In molti casi è sufficiente settare tra le opzioni del file la possibilità di esecuzione come applicazione
Java e quindi doppio clic sul file e partirà l’installatore.
Linux
In ambiente linux quasi nessun browser supporta l’esecuzione di file jar. Quindi, se non foste
fra i pochi fortunati, aprite una console, spostatevi nella cartella contenente il file di installazione
ed eseguite il comando;
java -jar jgrass_installer.jar
MacOSX
L’ambiente MacOSX supporta l’esecuzione di file jar, quindi sarà sufficiente eseguire il file di
installazione attraverso un doppio click.
Per le versioni stabili di JGrass viene sempre confezionato un pacchetto di installazione apposito
per questo sistema operativo, il pacchetto è un pacchetto “dmg” contenente l’applicazione. Sarà
2
La console in windows può essere aperta attraverso la combinazione di tasti “tasto windows + r”. Questo aprirà
la finestra di dialogo “Esegui”. Da lı̀ basterà scrivere “cmd” e premere invio. È quindi necessario spostarsi nella
cartella contenente il file di installazione di JGrass. Un’alternativa per i meno esperti è quella di scegliere dal menu
avvio - accessori - prompt di MSDOS
16
3. Installazione
sufficiente cliccare sul pacchetto scaricato per avviare tutta la procedura di installazione cosı̀ come
per qualsiasi altra applicazione MacOSX.
3.2.2
Il processo di installazione
Se il processo di installazione è cominciato, vi trovate davanti alla schermata di Figura 3.1.
Figura 3.1: Il primo pannello della procedura di installazione.
Vi viene immediatamente data la possibilità di decidere la lingua da usare nel processo di
installazione che può essere scelta dal menu a tendina nella parte inferiore3 .
Seguono quindi alcune schermate di carattere informativo. Per proseguire basterà cliccare sul
tasto “avanti”. Verrà quindi chiesto di accettare la forma di licenza scelta per JGrass, e cioè la
General Public License (GPL)4 .
Segue quindi una schermata riportante i cambiamenti delle diverse versioni di JGrass e quindi
anche le novità della versione attuale e i problemi noti. La schermata seguente (Figura 3.3) riporta alcune informazioni riguardanti l’installazione in situazioni e per configurazioni particolari.
Normalmente non è necessario seguire le linee guida proposte nel seguito.
3
4
N.B. il logo può essere diverso da quello riportato nell’immagine a seconda della versione del software.
www.gnu.org
17
3. Installazione
Figura 3.2: Il pannello riportante la licenza del software.
Figura 3.3: Il pannello riportante le configurazioni particolari di installazione.
La schermata successiva (Figura: 3.4) è la più importante del processo di installazione. Essa è
suddivisa in tre parti:
1. ambiente java installato: è stato implementato un metodo di riconoscimento automatico della
posizione e della versione di java installata. Se questo dovesse fallire e la casella di testo non
18
3. Installazione
riportasse il percorso assoluto dell’ambiente java, sarà necessario inserirlo manualmente5 .
2. linguaggio con cui verrà installato il programma inserendone la sigla corrispondente.
3. parametri di memoria minimo e il massimo del range di memoria per l’esecuzione di JGrass.
Questi due parametri sono importanti perchè definiscono le risorse di memoria dedicate a
JGrass. Settare bene questi parametri in fase di installazione tenendo conto della memoria RAM a disposizione evita spiacevoli sorprese del tipo “Out of memory error” durante
l’esecuzione.
4. interconnessioni fra JGrass e alcuni programmi esterni. Se i programmi riportati non fossero
installati sul sistema, basterà lasciare inalterato quanto riportato nelle caselle di testo (di
default vi è un punto). Maggiori dettagli su questo punto verranno definiti nel Paragrafo 3.3:
Programmi esterni.
Figura 3.4: Il pannello riportante le opzioni di installazione.
Nella schermata seguente i parametri selezionati vengono riassunti per un ultimo controllo prima
dell’installazione vera e propria. A questo punto è ancora possibile tornare indietro e modificare le
impostazioni.
Il passo successivo riguarda la selezione dei pacchetti da installare (Figura: 3.5):
5
Il percorso da inserire è quello contenente la cartella “bin” che a sua volta deve contenere l’eseguibile “java”. Nel
caso di Linux e MacOSX l’eseguibile si chiama “java”, mentre nel caso di Windows è java.exe
19
3. Installazione
• binary - il pacchetto base per l’esecuzione di JGrass
• windowsbinaries - pacchetto dei comandi di GRASS precompilati per Windows
• src - il codice sorgente di JGrass
• testdataset - un set di dati da utilizzare per un primo avvio di JGrass
Figura 3.5: Il pannello riportante i pacchetti installabili di JGrass.
A selezione eseguita e dopo aver cliccato il pulsante “avanti”, verrà chiesto il percorso di installazione di JGrass. Se il programma viene installato sopra una versione preesistente verrà avvertito l’utente che tutti i files verranno sovrascritti, mentre se viene creata una nuova cartella per
l’installazione verrà avvertito l’utente della creazione di una nuova cartella sul filesystem.
Una nota pratica per l’aggiornamento di JGrass: se la nuova versione viene installata nella stessa
cartella della versione precedentemente installata verranno mantenute le configurazioni dell’utente
definite per la vecchia versione. Questo evita di dover ricreare gli ambienti di lavoro, tuttavia è
sconveniente nei casi in cui nella nuova versione siano stati implementati nuovi comandi o nuove
barre degli strumenti, in questo caso le configurazioni, rimanendo quelle della versione precedente,
non permettono di vedere le novità implementate. Quindi sarà necessario cancellare il workspace
dalla lista di quelli disponibili (ciò permette di non cancellare i dati salvati su disco) e ricrearlo
caricando cosı̀ le nuove barre degli strumenti. Per cancellare un workspace è sufficiente cliccare sul
nome del workspace che si desidera cancellare nella finestra di caricamento iniziale degli workspace.
Al termine dell’installazione per gli utenti windows e linux è possibile configurare l’inserimento
20
3. Installazione
di JGrass nel menu di avvio (Figura: 3.6) mentre per gli utenti MacOSX viene automaticamente
creata un’icona nella barra delle applicazioni.
Figura 3.6: Il pannello riportante i settaggi per lo shortcut di JGrass.
Un’ultima schermata vi avvertirà della avvenuta installazione e vi mostrerà il percorso del file
di disinstallazione. Sarà sufficiente cliccare sul pulsante di fine per terminare l’installazione.
L’installazione è quindi completata e sarà possibile eseguire il JGrass.
3.3
Programmi esterni
I programmi esterni che possono essere collegati a JGrass sono due: GRASS6 e R7 . Le interconnessioni con questi programmi sono gestite in modo diverso a seconda del sistema operativo
utilizzato. In particolare se si usa:
• Windows:
– GRASS : dalla versione 1.5 di JGrass è possibile installare gli applicativi di GRASS
precompilati per Windows. Se si desidera installarli (opzione che viene consigliata) è
necessario lasciare indicato nella schermata di Figura 3.4, nella riga corrispondente a
6
7
www.grass.itc.it
www.r-project.org
21
3. Installazione
GRASS, il punto e installare il pacchetto dei Binari per Windows che si trova nella
schermata successiva (Figura 3.5).
– R: è necessario avere installato il software di elaborazione statistica R sul proprio pc.
Nella schermata relativa alle opzioni di installazione di Figura 3.5, nello spazio corrispondente a R è necessario inserire il percorso completo della cartella dove si trovano
l’eseguibile di R e l’applicativo per la connessione a JGrass chiamato Rserve.exe. Quello
che bisogna scrivere nella casella corrispondente a R sarà dunque:
C:\Documents and Settings\Utente\R\bin\Rserve.exe
L’applicativo Rserve.exe può essere installato nella schermata successiva evidenziando
la voce R-engine e successivamente copiato nella cartella dove si trova l’eseguibile di R.
• MacOSX e Linux: si devono avere i due programmi già preinstallati:
– GRASS : inserire il percorso completo di installazione dei comandi di GRASS alla schermata di Figura 3.4, nella riga corrispondente a GRASS.
– R: inserire il percorso dell’eseguibile R alla schermata di Figura 3.4, nella riga corrispondente a R. In questi sistemi operativi il pacchetto Rserver viene installato come ogni
altro pacchetto di R scaricandolo dal sito web8 per questo si inserisce direttamente il
percorso dell’eseguibile di R e non del pacchetto Rserve.
3.3.1
I pacchetti di R usati
I programmi sviluppati in JGrass che sfruttano la connessione ad R utilizzano comandi specifici
di alcuni pacchetti di R. Purtroppo non tutti questi pacchetti fanno parte della versione base di R
e quindi dovranno essere installati come pacchetti9 secondo le specifiche proprie di R, diverse per
ogni sistema operativo10 . Questi pacchetti sono:
• akima: contiene gli algoritmi per l’interpolazione di dati spaziali distribuiti in modo irregolare
sul territorio
• GRASS: rappresenta l’interfaccia tra GRASS 5.0 e R
• gridBase: integrazione per la creazione di grafici
8
http://stats.math.uni-augsburg.de/Rserve/.
Questi pacchetti sono scaricabili dal sito http://cran.r-project.org/ nella sezione Contributed extention packages
10
www.r-project.org cercare nella sezione Manuals il manuale di installazione e amministrazione di R (R Installation
and Administration). L’installazione dei pacchetti viene spiegata nel capitolo 6 di questo manuale per i tre sistemi
operativi
9
22
3. Installazione
• gstat: modelli geostatistici di previsione e simulazione
• sgeostat: un ambiente di lavoro Object-oriented Framework per la modellazione geostatistica
• VR (in alcune nuove versioni di R questo pacchetto fa parte della versione base...): unione di
alcuni pacchetti base di R come MASS, class, nnet, spatial
3.4
Struttura delle cartelle di installazione
Una volta installato JGrass verrà creata nel percorso scelto dall’utente la cartella JGrass che
conterrà tutti i files e gli eseguibili necessari per far funzionare il programma.
Le cartelle che vengono create sono:
• etc: contiene tutti i files di configurazione dell’interfaccia grafica e del profilo utente di JGrass
• jars: contiene le librerie in Java dei pacchetti che compongono JGrass
• lib: contiene le librerie native del sistema
• spearfish: contiene il pacchetto di dati di test installato con l’installazione di JGrass
• uninstaller: cartella con gli eseguibili per disinstallare l’applicazione.
• grasscommands: contiene gli eseguibili per il sistema operativo Windows dei comandi nativi
di GRASS
• src: contiene il codice sorgente
Premettendo che la modifica dei files XML di configurazione è raccomandata solo all’utente
esperto, generalmente le cose più interessanti per migliorare e personalizzare l’utilizzo di JGrass le
troviamo nella cartella etc. Da segnalare sicuramente sono le sotto - cartelle:
• prop: contiene i files di configurazione dei comandi e dell’interfaccia grafica nelle diverse lingue
(ad esempio è possibile modificare il numero di celle visualizzate nel caso di correzione di una
mappa con il comando r.correct modificando il numero contenuto nel file r correct.properties.)
• scripts: contiene tutti gli script eseguibili direttamente da JGrass
• workspace: contiene le configurazioni dell’ambiente di lavoro e dei singoli utenti (si fa notare
che non è ancora attiva la possibilità di creare più utenti e di differenziare l’accesso ai dati del
singolo utente. I files più importanti di questa sessione sono il file config.xml e workspace.wks.
23
3. Installazione
che contengono i settaggi del programma (dimensioni dei caratteri, posizione delle barre degli
strumenti, posizione e dimensioni della scala e della legenda...) e degli ambienti di lavoro che
verranno creati.
Tutto ciò premesso quello che ci teniamo a consigliare è di usare la cartella JGrass come “contenitore dell’applicativo e di mettere tutti i dati su cui si lavora, i cosiddetti workspace in una cartella
a parte sul vostro harddisk che potete chiamare appunto workspace oppure jgrassdata, jgrassdb o
semplicemente data.
Questo piccolo accorgimento permette, nel caso venisse installata una nuova versione di JGrass,
di mantenere i dati invariati e le configurazioni settate nella versione precedente semplicemente
installando JGrass nella stessa cartella nella quale era precedentemente installato. Solo i dati
d’esempio vengono installati nella cartella madre di JGrass perché vengono installati ad ogni nuova
installazione e possono essere sovrascritti senza problemi.
3.5
Struttura dei dati
La struttura con cui i dati vengono scritti per essere trattati in JGrass si basa su quella di
GRASS ed è stata studiata in modo tale che l’utente non debba avere spesso a che fare con essa.
In ogni caso è importante conoscere la struttura dei dati perché aiuta nelle procedure di import e
export degli stessi.
I dati che vengono utilizzati in JGrass devono essere salvati in una cartella denominata DATABASE che l’utente crea sul filesystem indipendentemente da JGrass. All’interno del DATABASE
i dati possono essere organizzati per area o per progetto e salvati in sottocartelle che sono chiamate
location.
Una location è definita mediante il suo sistema di coordinate, la proiezione cartografica e i limiti
geografici entro i quali si estende la regione di lavoro. Tutte le sottocartelle e i files che definiscono
una location sono creati automaticamente quando si procede alla creazione di una nuova location
in JGrass (Paragrafo 6.1).
Ogni location contiene uno o più mapset che sono le cartelle in cui effettivamente vengono
salvati i dati. La motivazione originale per cui era stato introdotto il concetto di mapset era quella
dell’approccio multiutente ai dati. Per ogni utente che accede ai dati, nell’accezione originale,
dovrebbe corrispondere un mapset. Questo approccio viene mantenuto non tanto per il concetto di
multiutenza, che realmente si verifica in pochi casi, ma perché è possibile salvare in ogni mapset i
dati relativi ai diversi progetti o alle sotto regioni di calcolo. Da ogni mapset è possibile leggere le
24
3. Installazione
mappe contenute negli altri mapset ma non modificarle, ogni elaborazione deve essere salvata nel
mapset corrente.
Quando si crea una nuova location automaticamente viene creato il mapset PERMANENT
dove possono essere salvati i dati di base del progetto, o meglio i dati comuni a tutti i mapset.
Generalmente non vengono utilizzati i dati direttamente dal mapset PERMANENT ma vengono copiati nel mapset di lavoro per le successive elaborazioni. Nel mapset PERMANENT sono
contenute anche le impostazioni generali della location e in particolare la definizione della regione
di default, mentre in ogni mapset vengono definiti i confini della regione di calcolo e della propria
risoluzione di lavoro. Dell’organizzazione e della gestione dei files all’interno di location e mapset
si occupa JGrass, tutte le operazioni che richiedono l’interazione con la struttura interna dei dati
devono essere fatte sempre con JGrass, solo l’utente più esperto può cercare di modificare a mano
i files direttamente dal filesystem, anche se rimane un’operazione sconsigliata nella maggior parte
dei casi. Uno schema di utilizzo del database di JGrass viene riportato in Figura 3.7, tutte le voci
riportate nell’immagine corrispondono a cartelle sul filesystem.
Figura 3.7: Schematizzazione della struttura dei dati usati in JGrass.
Per comprendere la struttura dei dati di JGrass è importante sapere che tutte le mappe, ad
eccezione dei sites, vengono salvate in una serie di files separati che contengono i dati, le categorie,
i limiti della mappa, la risoluzione e altre informazioni. Le cartelle che vengono create in una
location di JGrass sono le seguenti (scriviamo qui una brevissima descrizione, per maggiori dettagli
consultare il sito di GRASS11 oppure il libro Open Source GIS: a GRASS Approach12 :
11
12
www.grass.itc.it
Neteler Mitasova - Edizioni CAP
25
3. Installazione
1. cartelle per la gestione dei dati raster, in ognuna di queste cartelle ci sono dei files corrispondenti alle mappe create in JGrass che contengono informazioni particolari:
• cats: contiene i files con le specifiche delle categorie create per le mappe
• cell e tutte le cartelle che contengono il nome cell (cell misc, cellhd e fcell): contengono
tutti dati delle mappe raster
• colr : contiene le tabelle dei colori relative alle mappe raster
2. cartelle per la gestione dei dati vettoriali: queste cartelle servono per la gestione dei vettori
nel formato nativo di GRASS, generalmente in JGrass si usa lo standard shapefile che non
necessita di particolari strutture di dati per il salvataggio su disco
• dig e tutte le cartelle che contengono il nome dig contengono le specifiche delle mappe
vettoriali nel formato nativo di GRASS
• dig ASCII : contiene i files vettoriali in formato ASCII e quindi consultabili dall’utente
3. cartelle proprie di JGrass per la gestione di formati particolari delle mappe raster:
• esriasciigrid : cartella contenente i files in formato ASCII della ESRI (ArcView) per la
lettura diretta da JGrass, evitando le operazioni di import
• fluidturtleascii : cartella contenente i files in formato Fluidturtle (formato di interscambio
per particolari applicativi sviluppati presso il CUDAM, in particolare per il modello
idrologico distribuito GeoTop) per la lettura diretta da JGrass, evitando le operazioni
di import
• grassascii : cartella contenente i files in formato ASCII di GRASS per la lettura diretta
da JGrass, evitando le operazioni di import
4. hortonmachine: cartella in cui vengono messi i files risultanti dalle elaborazioni idro-geomorfologiche
fatte con le Horton all’interno di JGrass. In questa cartella non vengono messe le mappe raster
ma solo i files che vengono creati in alcune delle Horton
5. jgrassgroup: cartella contenente la definizione dei gruppi di mappe (da usare per interrogazioni
verticali...) creata con il comando group.create. La parte relativa ai gruppi è ancora in fase
di sviluppo quindi non completamente utilizzabile.
6. site lists: cartella dove sono contenuti i sites, ovvero le mappe di punti
7. sql : cartella con le informazioni per la connessione a database via sql
26
3. Installazione
8. alcuni files che contengono informazioni molto importanti:
• DEFAULT WIND: contiene i parametri della regione di default
• MYNAME: contiene il nome della location di partenza
• PROJ INFO: contiene tutte le informazioni sulla proiezione geografica dei dati
• PROJ UNITS: contiene le unità di misura usate nella proiezione
• WIND: contiene i parametri della regione attiva
Come avrete potuto notare la struttura di salvataggio dei dati è abbastanza complicata, tenete
presente che solo raramente si ha a che fare con essa, se si accede ai dati attraverso JGrass non ci
sono problemi, è il programma a sapere dove prendere e salvare i dati richiesti. Il solo caso in cui
l’utente accede alla struttura è il caso delle cartelle proprie di JGrass usate per accelerare le procedure di import e export dei dati nei formati particolari descritti sopra. Per salvare i dati in queste
cartelle sarà sufficiente indicare come destinazione della mappa di output la cartella corrispondente
al formato desiderato, oppure proseguire con il formato standard di GRASS e poi copiare i dati
nella cartella corrispondente al nuovo formato in un momento successivo. Per accedere ai dati di
queste cartelle sarà sufficiente scegliere come formato di partenza quello desiderato scorrendo il
menu a tendina che dà come opzione di default il formato di GRASS.
27
3. Installazione
28
4
Primo avvio del programma
4.1
Introduzione
Per avviare l’applicazione JGrass, si devono seguire i seguenti passi nei diversi sistemi operativi.
Windows
1. entrare nel menu di avvio di Windows
2. nella sezione “Tutti i programmi” troverete la voce “HydroloGIS”
3. selezionate al suo interno l’icona JGrass
4. eventualmente creare un collegamento all’icona sul Desktop
Linux (se non avete creato un’icona sul desktop)
1. entrare nella cartella di installazione di JGrass
2. eseguire il comando jgrass.linux.exe
3. eventualmente fare un link all’eseguibile dove desiderate
MacOSX (se non avete creato l’icona nella barra delle applicazioni)
1. entrare nella cartella di installazione di JGrass
2. eseguire il comando jgrass.macosx.exe
3. eventualmente fare un link all’eseguibile dove desiderate
All’avvio di JGrass viene fatto un controllo sulla versione di Java installata. Dalla versione di JGrass2.0 infatti viene garantito il funzionamento ottimale del programma solo con Java Virtual Machine 1.5 e successive. Questo non implica che con le versioni precedenti di Java
l’applicativo non funzioni del tutto, ma ci potrebbero essere moduli e funzionalità non perfettamente funzionanti. Se la versione di Java non è quella richiesta dal programma vi apparirà una
schermata di avvertimento del tipo di quella in Figura 4.1. Nel caso specifico mostrato sul PC
è stata installata la versione di Java 1.5.0 04 mentre viene richiesta la versione Java 1.5.0 05.
4. Primo avvio del programma
Viene lasciata all’utente la possibilità di continuare con l’apertura del programma oppure di chiudere temporaneamente l’applicativo e installare la versione di Java richiesta scaricabile dal sito
http://java.sun.com/j2se/1.5.0/download.jsp. Se, come nel caso mostrato in Figura 4.1, la versione installata è comunque una Java 1.5 si può tranquillamente proseguire con l’esecuzione, senza
incorrere in disfunzioni del programma. Quindi cliccato sul pulsante “ok” si avvia l’applicazione.
Figura 4.1: Il messaggio di avvertimento di JGrass per il controllo della versione di Java installata.
A questo punto vi trovate davanti all’interfaccia base di JGrass (vedi Figura 4.2).
Figura 4.2: L’interfaccia grafica di JGrass al suo primo avvio con la barra degli strumenti elementare.
4.2
L’interfaccia grafica
L’interfaccia di JGrass, riportata in Figura 4.2, si presenta con il menu principale e la barra
degli strumenti.
30
4. Primo avvio del programma
4.2.1
La barra degli strumenti
La barra degli strumenti iniziale contiene tre icone:
•
caricamento di un workspace precedentemente creato
•
lancia il dialogo di stampa (non usabile in questa fase)
•
lancia il manuale dei comandi integrati in JGrass
4.2.2
Il menu principale
Nella barra dei menu in alto compare il menu principale che è composto dalle tendine: File e
Aiuto.
Nel menu File sono disponibili i comandi per creare e caricare un ambiente di lavoro e per
definire i settaggi del programma. Nella sezione Preferenze infatti si trovano tutte le configurazioni
particolari ed avanzate dell’applicativo.
Nel menu Aiuto sono disponibili i report HTML che descrivono i comandi di JGrass divisi
nelle diverse categorie di lavoro e una sezione about nella quale ci sono alcune informazioni utili sul
programma: i nomi degli sviluppatori, dei finanziatori e le caratteristiche principali del programma.
Se si accede al menu di Aiuto si possono vedere tutti i comandi disponibili. Le categorie dei
comandi seguono lo schema utilizzato da GRASS:
• general : comprende tutti i comandi di gestione generale del GIS
• display: comprende tutti i comandi necessari per la visualizzazione delle mappe e la gestione
dell’ambiente grafico
• raster : comprende tutti i comandi per l’analisi di dati in formato raster
• vector : comprende tutti i comandi per l’analisi di dati in formato vettoriale
• point: comprende tutti i comandi per la gestione di dati puntuali (quelli che in GRASS5
erano chiamati sites)
• group: comandi per la gestione di gruppi di dati (in fase di sviluppo)
• hydro: comandi di analisi idro-geomorfologica delle mappe raster
31
4. Primo avvio del programma
4.2.3
L’ambiente di lavoro
L’ambiente di lavoro è uno spazio virtuale, nel quale si definiscono le risorse da utilizzare e il
senso del lavoro da compiere.
In questo ambiente sono contenute le configurazioni personalizzate dell’utente proprietario. Vi
sono altresı̀ contenuti i menu e le barre degli strumenti che l’utente decide di usare. Nell’ambiente
di lavoro si definiscono anche i limiti geografici, la proiezione utilizzata e le mappe caricabili.
Come già anticipato nel capitolo precedente le configurazioni personalizzate dell’utente si trovano, sul filesystem nella cartella di installazione di JGrass, nel percorso relativo “etc/wokspace/nome
utente”. Al suo interno vi sono due file, config.xml, contenente le configurazione dell’applicazione, e
workspace.wks, contenente la descrizione degli ambienti geografici, i menu e le barre degli strumenti
utilizzati.
Apertura di un ambiente di lavoro
Il pacchetto di installazione di JGrass fornisce un ambiente di lavoro preimpostato. Questo
contiene il set di dati liberi chiamato Spearfish. Quindi cliccando sulla prima icona a sinistra, si
apre la finestra che presenta tutti gli ambienti di lavoro preinstallati e configurati. Al primo avvio
la lista è composta di un solo elemento: “jgrass test database”.
Selezionando il suddetto elemento e cliccando il pulsante “Fine”, avviene il caricamento dell’ambiente di lavoro.
Figura 4.3: Il caricamento del ambiente di lavoro “JGRASS Test Database”.
Se il caricamento è andato a buon fine, si saranno aggiunte delle tendine al menu principale e
32
4. Primo avvio del programma
una barra degli strumenti. Inoltre, come si può vedere in Figura 4.3 una parte del monitor è di
color bianco e l’altra verde.
La regione verde delimita l’area di calcolo dei comandi integrati in JGrass. I comandi eseguiti
tengono quindi conto della sola area compresa all’interno del riquadro verde, ovvero l’area bianca
del monitor. La regione bianca centrale è la cosiddetta regione attiva, mentre la regione in verde
comprende la regione di default, ovvero la massima regione visualizzabile.
Nella parte inferiore della finestra di JGrass sono visualizzate alcune informazioni utili durante
le elaborazioni, come mostrato in Figura 4.4:
Figura 4.4: Descrizione della parte inferiore del monitor con indicazione delle principali informazioni visualizzate.
• la scala di visualizzazione della mappa
• la risoluzione corrente
• le coordinate geografiche del cursore
• il nome dell’ambiente di lavoro nel quale si sta lavorando e degli altri ambienti eventualmente
aperti
• la barra di stato di JGrass con indicata l’azione attiva al momento
• una progressbar per indicare lo stato dell’evoluzione delle elaborazioni sia grafiche che numeriche
• il controllo della memoria RAM disponibile per il programma
• eventuali report HTML aperti e che si possono consultare semplicemente cliccando su questo
pulsante e non richiamando l’elaborazione che li crea
33
4. Primo avvio del programma
• un’icona a forma di orologio che indica se il programma è in fase di elaborazione oppure è in
attesa di una nuova istruzione.
4.2.4
La barra degli strumenti del monitor
La barra degli strumenti del monitor contiene dodici icone, che eseguono i seguenti comandi:
Figura 4.5: La barra degli strumenti del monitor.
1.
attivazione/disattivazione della console
2.
attivazione/disattivazione del pannello della legenda
3.
definizione della finestra di dati visibile
4.
configurazione del puntatore del mouse alla sua condizione di default
5.
definizione dello zoom alla regione di default
6.
zoom in
7.
zoom out
8.
zoom per trascinamento con il mouse: basta tenere cliccato il tasto sinistro del mouse e
spostare il cursore verso l’altro o verso il basso per ottenere un ingrandimento o una riduzione
delle dimensioni dell’immagine
9.
10.
zoom precedente
zoom successivo, nel caso si lavori molto con visualizzazioni a scala diversa delle mappe
può essere utile poter alternare gli zoom e non necessariamente solo ritornare alla visualizzazione precedente
11.
zoom a finestra, permette di definire l’estensione della zona visualizzata sullo schermo
12.
panning, dà la possibilità di spostare la mappa trascinandola con il mouse
34
4. Primo avvio del programma
Ci permettiamo di farvi notare che: se il mouse è in modalità standard è possibile ingrandire o
rimpicciolire la mappa ruotando la rotella del mouse, mentre il panning viene fatto cliccando sulla
rotella del mouse e tenendola premuta fino alla nuova posizione.
4.2.5
La barra dei menu
Nella barra dei menu vengono caricate tutte le operazioni che possono essere fatte in JGrass,
se durante la procedura di installazione avete scelto di caricare tutte le barre degli strumenti
saranno visualizzate otto voci distinte che sono: File, Visualizza, GIS, Raster, Vettoriale, Extra,
HortonMachine, Aiuto. Di seguito ne viene riportata la descrizione.
File
Figura 4.6: Le opzioni del menu File.
Questa sezione del menu contiene tutti gli strumenti necessari per creare un nuovo ambiente di
lavoro, caricarne uno giá esistente, salvare le impostazioni della finestra di lavoro e modificare i
settaggi del programma, vedi Figura 4.6.
Per maggiori dettagli sulla possibilità di personalizzare JGrass si rimanda al Paragrafo 4.3.
35
4. Primo avvio del programma
Visualizza
Figura 4.7: Le opzioni del menu Visualizza.
La sezione Visualizza contiene tutti gli strumenti di visualizzazione delle mappe sia raster che
vettoriali. In particolare, estraendo la barra degli strumenti (come in Figura 4.8), con un clic del
mouse sulla prima opzione del menu a tendina Strumenti di Visualizzazione delle mappe (Figura
4.7), si ottiene una barra flottante:
Figura 4.8: La barra degli strumenti di visualizzazione.
Gli elementi contenuti nella barra sono:
•
visualizza una mappa raster scegliendola dall’elenco delle mappe dell’ambiente di lavoro.
•
visualizza mappe vettoriali disponibili in formato shapefile presenti in qualsiasi cartella
di lavoro (non devono essere spostati nell’ambiente di lavoro).
•
visualizza una mappa di punti nel formato nativo di GRASS5 come sites (queste mappe
sono quelle contenute nella cartella site lists introdotta nel Paragrafo 3.5).
•
visualizza una mappa vettoriale da un database PostgreSQL remoto.
•
pulisce lo schermo cancellando tutte le mappe visualizzate.
36
4. Primo avvio del programma
•
ridisegna tutte le mappe precedentemente caricate, questo pulsante è molto utile perché
spesso nella visualizzazione di più mappe ci sono dei problemi di sovrapposizione. Se doveste
accorgervi di avere di questi problemi sarà sufficiente ridisegnare le mappe cliccando su questo
pulsante per risolvere la situazione.
GIS
Figura 4.9: Le opzioni del menu GIS.
In questa sezione sono contenuti gli strumenti base del GIS, come gli strumenti di importazione
ed exportazione delle mappe nei diversi formati disponibili, anche commerciali, e gli strumenti per
definire la regione di lavoro e le sue proprietà (vedi Figura 4.9). Come già accennato in precedenza
per regione di lavoro/attiva si intendono i limiti della zona di calcolo, mentre per regione di default
si intendono i limiti massimi di visualizzazione delle mappe. La regione di lavoro deve essere minore
o uguale della regione di default, non è ammissibile il contrario. In JGrass la gestione della regione
è lasciata all’utente, tuttavia se si cerca di visualizzare una mappa al di fuori della regione di default
apparirà un messaggio d’errore che invita l’utente a modificare i limiti della propria regione per
visualizzare correttamente la mappa selezionata (Figura 4.10).
Figura 4.10: Messaggio di avvertimento per la visualizzazione di una mappa esterna alla regione di default.
In particolare quanto fin’ora implementato in JGrass in questo ambito comprende le seguenti
possibilità:
37
4. Primo avvio del programma
Figura 4.11: La barra degli strumenti GIS.
•
importa dati esterni a JGrass. Il formato dei dati che si possono importare con questo
algoritmo sono i formati di dati ASCII grid di ArcView e ASCII di GRASS.
•
esporta i dati da JGrass per essere utilizzati in altri programmi esterni. Il formato dei
dati supportato in questo algoritmo comprende il formato ASCII di GRASS, di ArcView e di
Surfer e la possibilità di esportare triplette di dati nel formato x,y,z.
•
importa in JGrass i dati provenienti da rilievi laser altimetrici, o comunque triplette
di dati nel formato x,y,z. I dati possono essere forniti su un grigliato regolare oppure come
punti distribuiti in modo irregolare sul territorio, in questo modo, sfruttando la connessione
a R i dati verranno interpolati per ottenere un modello su griglia regolare del terreno.
•
importa in JGrass tutti i dati supportati dalle librerie Open Source GDAL1 .
•
riproietta i dati contenuti in altre location (con sistema di riferimento diverso) nel sistema
di riferimento della location attuale. Facciamo notare che riproiettare un dato comporta
normalmente una distorsione dell’immagine dovuta per l’appunto alla variazione del sistema
di riferimento.
1
www.gdal.org
38
4. Primo avvio del programma
Raster
Figura 4.12: Le opzioni del menu Raster.
In questa sezione sono contenuti tutti gli strumenti di base per gestire le mappe raster. Le
principali funzioni che sono contenute (come mostrato in Figura 4.12) sono quelle per i calcoli di
tipo non idro-geomorfologico su raster e per la modifica delle proprietà delle mappe stesse (modifica
del nome o del mapset). Le opzioni presenti nella barra degli strumenti Raster sono:
Figura 4.13: La barra degli strumenti del menu Raster.
•
r.mapcalc: per effettuare calcoli tra mappe raster. Sono state implementate la principali operazioni matematiche che si possono utilizzare come operazioni di addizione e di
moltiplicazione/divisione ma anche operazioni più complesse tipo quelle trigonometriche. È
stato inoltre implementato un algoritmo per introdurre cicli di calcolo per fare calcoli su più
mappe.
•
r.profile: per tracciare i profili di una mappa raster.
•
r.colors: per creare, modificare o cancellare la tavola dei colori di una mappa raster.
•
r.cats: per creare, modificare o cancellare le categorie dei dati di una mappa raster.
•
r.correct: per modificare una mappa raster editando le celle di cui cambiare il valore.
39
4. Primo avvio del programma
•
r.correctpolygon: per modificare una mappa raster disegnando un poligono all’interno
del quale cambiare il valore della mappa.
•
r.dem2contour: per creare la mappa delle curve di livello (vettoriale) partendo dal dem
(raster).
•
d.what.rast: per interrogare le mappe raster.
•
r.remove: per cancellare mappe raster.
•
r.rename: per rinominare mappe raster.
•
r.copy: per copiare mappe raster in altre mappe raster dello stesso mapset, di mapset
diversi o di cartelle diverse.
Un appunto molto importante si fa sul comando r.copy che, come anticipato nel capitolo precedente, permette di copiare mappe raster in cartelle diverse da quelle standard di JGrass. In
questo modo è possibile eseguire l’export delle mappe direttamente attraverso questo comando
senza ricorrere ai comandi di export specifici. Nella cartella dello workspace creata da JGrass si
trovano in particolare (come descritto nel Paragrafo 3.5) anche altre cartelle chiamate esriasciigrid,
fluidturtleascii, grassascii. Copiare un raster in una di queste cartelle significa “esportare” i files
nel formato specificato dalla cartella di destinazione.
Vettoriali
Figura 4.14: Le opzioni del menu Vettoriali.
In JGrass originariamente venivano trattate solo mappe raster, ed è stato per molto tempo
un GIS distribuito dedicato unicamente all’analisi ambientale idrologica e geomorfologica. Tra
gli sviluppi futuri più prossimi c’è lo sviluppo di tutto un ambiente per il trattamento di dati
vettoriali che va dalla visualizzazione all’inserimento e modifica di punti, linee e poligoni. Per lo
40
4. Primo avvio del programma
sviluppo di questa parte abbiamo scelto di seguire gli standard dettati dall’Open GIS Consortium
che prevede come formato di salvataggio e di scambio delle mappe vettoriali il formato shapefile.
Questa politica va un po’ in contrapposizione con quella scelta da GRASS, tuttavia viene assicurata
la piena compatibilità per la parte vettoriale di GRASS5, per il momento ancora non del tutto
completa quella con GRASS6.
In questa sezione, per il momento, ci sono unicamente due comandi, quello che permette di
interrogare le mappe e quindi di “vedere” la tabella di dati associata (Figura 4.14) e un comando
di analisi vettoriale vera e propria che permette di trasformare, attraverso una procedura di interpolazione, le linee di livello in dem (raster). Il comando è v.contour2dem e l’icona corrispondente,
che per ora si trova solo nel menu, è
.
L’interrogazione di mappe vettoriali permette di ottenere, cliccando sull’entità di cui si vogliono
le informazioni, tutte le informazioni relative alla sola entità selezionata sia essa un punto, una
linea o un poligono. Per visualizzare la tabella contenente le informazioni di tutto il vettoriale è
sufficiente, una volta visualizzata la mappa, cliccare con il tasto destro sul nome della mappa nella
sezione dedicata alla legenda e selezionare l’opzione Visualizza i dati come mostrato in Figura 4.15.
Figura 4.15: Visualizzazione di uno shapefile in JGrass e possibilità di visualizzare i dati contenuti.
41
4. Primo avvio del programma
Extra
Figura 4.16: Le opzioni del menu Extra.
In questa sezione sono presenti gli strumenti Extra integrati in JGrass. Di questi fanno parte sia
gli strumenti statistici utilizzabili attraverso la connessione al software di analisi statistica Open
Source R, che gli strumenti per la visualizzazione grafica delle elaborazioni. Per ora quanto integrato
è riportato in Figura 4.16.
HortonMachine
Figura 4.17: Le opzioni del menu HortonMachine.
42
4. Primo avvio del programma
La sezione delle elaborazioni idro-geomorfologiche contiene tutti gli algoritmi di analisi del
territorio propedeutici alla delimitazione delle aree a rischio idro-geomorfologico.
Non vengono spiegate in dettaglio tutte le opzioni di questo menu, per la loro definizione
completa si rimanda al Tutorial delle HortonMachine e al “The Manuale Horton”.
Aiuto
Figura 4.18: Le opzioni del menu Aiuto.
In questa parte ci sono le principali indicazioni riguardanti i comandi e i riferimenti particolari di
sviluppatori, finanziatori e partecipanti al progetto Open Source JGrass. Quanto riportato, come
già accennato nel Paragrafo 4.2.2, viene visualizzato anche in Figura 4.18.
4.3
Personalizzazione
L’ambiente grafico di JGrass e tutte le configurazioni per la connessione ai programmi esterni
sono configurabili dall’utente entrando nella Sezione Preferenze del menu File (vedi Figura 4.6).
Premesso che questa sezione è riservata agli utenti più esperti e che le configurazioni di “default”
sono già valide, se si decide di procedere con la personalizzazione si otterrà a video una finestra del
tipo di quella mostrata in Figura 4.19 formata dalle cartelle:
• Framework : per la gestione dell’interfaccia grafica
• GRASS Environment: per la configurazione della connessione con GRASS
• Monitor : per la gestione delle proprietà di visualizzazione
• Cluster : opzione attualmente non attiva
• Console: per la gestione della configurazione della console di JGrass
43
4. Primo avvio del programma
Figura 4.19: La finestra iniziale del pannello di configurazione Preferenze.
Framework
È la sezione di partenza per le configurazioni, in essa si possono configurare, ad esempio, le
impostazioni dei caratteri, dimensione e tipo di carattere, e la lingua utilizzata nella visualizzazione.
In particolare segnaliamo:
• resourcebundle locale = it: indica che la lingua utilizzata nell’interfaccia grafica è l’italiano, è possibile cambiare lingua scegliendo tra quelle disponibili in JGrass: inglese (en),
spagnolo (es), tedesco (de) e francese (fr) (alcune voci saranno in inglese perché è rimasto
incompleto lo sviluppo, se qualcuno che conosce il francese volesse contribuire...).
• template value = etc/template: localizzazione dei template di stampa definiti dall’utente
• workspace value = etc/workspace: localizzazione dei settaggi dell’ambiente di lavoro
GRASS Environment
È la sezione dove si possono visualizzare le impostazioni per la connessione ai comandi di GRASS.
Come spiegato nel Paragrafo 3.3 è stato sviluppato un meccanismo per cui in tutti i sistemi operativi
è possibile eseguire i comandi nativi di GRASS all’interno di JGrass. Quanto contenuto in questa
finestra per quel che concerne i sistemi Linux e MacOSX è visualizzato in Figura 4.20, mentre in
ambiente Windows la finestra appare come quella di Figura 4.21. Come si può osservare si possono
44
4. Primo avvio del programma
variare le impostazioni inserite in fase di installazione del programma nonché alcune impostazioni
standard di JGrass. In particolare:
• gisbase: percorso di riferimento per gli eseguibili dei comandi di GRASS6.0. È qui la
sostanziale differenza per i tre diversi sistemi operativi, in Linux e MacOSX, dove GRASS
deve essere installato a parte in questa casella si deve inserire il percorso di installazione
di GRASS, in Windows, dove vengono forniti già i binari dei comandi, è sufficiente lasciare
indicato il punto, esattamente come spiegato in fase di installazione del programma.
• scriptpath: cartella dove inserire gli script eseguibili da JGrass.
• libpath: percorso delle librerie di GRASS.
• binpath: percorso dei binari dei comandi di GRASS.
• esrigridpath: cartella dove salvare i files in formato ESRI ASCII Grid per la gestione diretta
in JGrass
• fluidturtleasciipath: cartella dove salvare i files in formato Fluidturtle (formato di interscambio tra JGrass e GeoTop, applicativo per la determinazione del bilancio idrologico dei
bacini idrografici dedicato soprattutto ai piccoli bacini montani) per la gestione diretta in
JGrass.
• grassasciipath: cartella dove salvare i files in formato ASCII di GRASS per la gestione
diretta in JGrass
• shapepath: cartella dove inserire i file in formato shapefile per la visualizzazione in JGrass
attraverso il comando d.vect. Si tratta di un’opzione superata con il nuovo comando d.shapefile
che permette di visualizzare questo tipo di file da qualsiasi cartella del filesystem.
• sqldbpath: cartella dove inserire i files contenenti la definizione delle query per il database.
Anche questa opzione è parzialmente superata attraverso la connessione diretta con database
PostGIS.
• jgrassgrouppath: cartella usata per la gestione dei gruppi di mappe raster creati in JGrass.
Ancora in fase di elaborazione.
• commands: nome del file di definizione dei comandi eseguibili in JGrass.
• epsgdata: percorso del file con la definizione delle proiezioni cartografiche fornito dall’EPSG2 .
2
www.epsg.org
45
4. Primo avvio del programma
Figura 4.20: La finestra del pannello di configurazione GRASS per i sistemi operativi Linux e MacOSX.
Figura 4.21: La finestra del pannello di configurazione GRASS per il sistema operativo Windows.
Monitor
In questa sezione vengono definite le opzioni di visualizzazione. Sottolineiamo ancora una volta
che molte di queste specifiche sono modificabili solamente da chi ha molta familiarità con il sistema
operativo e con l’applicativo. Quello che trovate in questa sezione è riportato in Figura 4.22.
La cosa più importante da segnalare in questa sezione è la possibilità di cambiare il “motore”
dell’ambiente grafico. JGrass può avere problemi di visualizzazione delle mappe per particolari
combinazioni di sistema operativo e scheda grafica, quando il motore principale su cui si basa il
46
4. Primo avvio del programma
Figura 4.22: La finestra del pannello di configurazione Monitor.
monitor, ovvero le OpenGL, non sia ottimizzato. Nel caso vi sia un problema di visualizzazione si
può passare dalla visualizzazione basata sulle OpenGL a quella ottenuta con Java2D (leggermente
più lenta). Questo passaggio si opera semplicemente scrivendo false nella sezione Value della voce
Useoffscreenbuffer, come mostrato in Figura 4.22.
Console
In questa sezione, come mostrato in Figura 4.23, si può definire la configurazione della console,
i caratteri, il colore del testo e dello sfondo e la modalità del prompt dei comandi.
4.4
Proprietà di visualizzazione
Alcune proprietà di visualizzazione delle mappe si possono definire semplicemente cliccando con
il tasto destro del mouse sul monitor principale di JGrass (per intenderci quello verde e bianco). In
questo modo appare un menu nel quale si possono attivare o disattivare alcune particolarità utili
soprattutto in fase di stampa.
Di queste fanno parte:
• Scala della mappa: visualizza la scala della mappa all’interno del monitor. La scala non è
nel formato classico (ad esempio 1 : 10000) ma in formato grafico, ovvero viene riportata una
misura di riferimento per la valutazione delle dimensioni della mappa.
47
4. Primo avvio del programma
Figura 4.23: La finestra del pannello di configurazione Console.
Figura 4.24: Il menu delle opzioni di visualizzazione proprie del monitor.
• Rosa dei venti: visualizza a video la rosa dei venti con l’indicazione della posizione del
Nord.
• Finestra dei dati: permette di visualizzare i limiti della regione attiva imponendo il colore
verde (opzione di default) alla parte esterna alla finestra dei dati. Disattivando questa opzione
tutto lo schermo diventa di colore bianco anche se i calcoli vengono fatti comunque solamente
sulla regione attiva.
• Abilita la legenda: permette di togliere dalla visualizzazione la legenda e di visualizzarla
quando siano state definite tutte le opzioni necessarie.
• Ridisegna mappa automaticamente: attiva la funzione di ridisegno automatico delle
mappe ogni volta che vengono fatte operazioni di variazione della visualizzazione, ad esempio
quando viene cambiato lo zoom o caricata una nuova mappa.
La definizione delle proprietà degli elementi selezionati non può avvenire partendo da questo menu,
per questa operazione si rimanda al Paragrafo 5.3.1 - Opzioni di visualizzazione.
48
5
Primi passi con JGrass
5.1
Il set di dati di prova Spearfish
Il pacchetto di dati “libero” denominato Spearfish, che viene installato automaticamente con
l’installazione di JGrass, contiene dati sia in formato raster che vettoriale nonché dati puntuali.
Questo nome deriva dal nome della località del Sud Dakota (USA) alla quale i dati si riferiscono.
I dati sono forniti in proiezione UTM conica, con ellissoide Clarke66, e datum NAD27. Questi
dati di proiezione potrebbero sembrare strani per un utente italiano, ma sono quelli comunemente
usati negli USA. Inoltre il tipo di proiezione utilizzato non è un fattore fondamentale nelle elaborazioni all’interno di un ambiente di lavoro purché coerente con i dati che si stanno utilizzando, esso
diventa di fondamentale importanza se si usano mappe provenienti da altri workspace.
5.2
Parametri della regione
Se si vogliono visualizzare i limiti della regione attiva, finestra bianca del monitor, e di quella
di default, la parte massima visualizzabile, selezionare dal menu GIS l’opzione Strumenti della
regione e successivamente Gestione della regione. Apparirà la schermata di Figura 5.1 dove nella
parte superiore sono riportate le caratteristiche della regione attiva mentre in quella inferiore quelle
della regione di default.
Figura 5.1: La finestra contenente le informazioni sulla regione attiva e su quella di default correnti.
5. Primi passi con JGrass
Presupponendo che la regione di default non debba essere modificata dall’utente inizialmente è
disattivata ogni possibilità di variazione, per procedere a una sua variazione è sufficiente spuntare
l’opzione Modifica corrispondente.
Le informazioni contenute nella finestra della regione sono:
• Setta ad una mappa: per settare la regione attiva a quella di una delle mappe salvate, il
comando funziona solamente se viene selezionata una mappa nel menu Seleziona una mappa.
• Estendi con mappa: per estendere la regione attiva fino a comprendere una mappa totalmente
o parzialmente esterna ad essa.
• Celle attive: per calcolare il numero di valori validi di una mappa all’interno della regione
attiva, il comando funziona solamente se viene selezionata una mappa nel menu Seleziona
una mappa. Il numero di celle attive è utile per calcolare l’area della mappa nella regione
attiva, valore che si ottiene moltiplicando il numero di celle attive per la risoluzione in x e y.
• Limiti della regione: coordinate dei limiti della regione, il comando funziona solamente se
viene selezionata una mappa nel menu Seleziona una mappa.
• Risoluzione: dimensione dei pixel della mappa in x e y.
• Numero di righe e colonne: numero di righe e di colonne della mappa alla risoluzione
visualizzata.
• Seleziona la mappa: menu di selezione della mappa alla quale settare la regione, estenderla
oppure di cui calcolare le celle attive.
Quanto descritto per la regione attiva vale anche per la regione di default una volta selezionato
il tasto Modifica.
I valori modificati possono essere salvati su disco. Il salvataggio dei dati non è automatico,
l’utente deve spuntare l’apposito quadratino nella parte inferiore della finestra per salvare sia la
configurazione della regione attiva che quella della regione di default. Se i dati non vengono scritti su
disco le opzioni scelte saranno attive durante le elaborazioni, ma verranno cancellate alla successiva
riapertura di JGrass.
5.2.1
Proprietà della regione
Se dal menu GIS - Strumenti della regione, si sceglie l’opzione Proprietà della regione è possibile
variare i parametri dei confini della regione attraverso semplici operazioni grafiche con il mouse
50
5. Primi passi con JGrass
invece di dover inserire i dati manualmente nelle finestre viste nell’interfaccia di Figura 5.1. La
barra degli strumenti che appare sul monitor selezionando questa funzione è riportata in Figura
5.2.
Figura 5.2: La barra degli strumenti della sezione Proprietà della regione.
In questa fase si possono selezionare i bordi da variare e cliccare sulla posizione desiderata del
monitor, oppure selezionare la finestra da usare come regione attiva (quinto tasto a partire da
sinistra), spostare la finestra sulla zona desiderata e settare la risoluzione.
Attenzione: questa barra degli strumenti deve essere chiusa cliccando sul pulsantino ad x rosso
in alto a destra una volta definiti i limiti della sezione desiderati e comunque prima di eseguire ogni
altra operazione in JGrass. Mantenere la barra aperta potrebbe comportare problemi dal punto di
vista informatico nelle elaborazioni successive per la sovrapposizione di processi di tipo diverso.
51
5. Primi passi con JGrass
5.3
Visualizzazione dei dati
I dati contenuti in Spearfish si possono visualizzare attraverso gli strumenti della barra degli
strumenti di visualizzazione.
5.3.1
Dati raster
Cliccando sull’icona
si attiva la procedura guidata per la visualizzazione di una mappa
raster. La schermata di avvio prevede la possibilità di scegliere il tipo di dato da visualizzare. Nel
menu a tendina si trovano (vedi Figura 5.3) le diverse opzioni di visualizzazione.
Figura 5.3: La prima finestra della procedura guidata per la visualizzazione di una mappa raster.
In questo caso specifico ci sono mappe solamente nella cartella di GRASS, ovvero memorizzate
secondo la logica utilizzata da GRASS. Questa è la modalità standard con cui lavora JGrass, se si
vuole caricare un dato presente in una delle altre cartelle (grassascii, esriasciigrid o fluidturtleascii)
è sufficiente scegliere il nome corrispondente dal menu a tendina.
Lasciando selezionata l’opzione GRASS e cliccando su Avanti appare una schermata nella quale
si può scegliere il mapset nel quale è salvata la mappa.
Questa opzione è caratteristica di JGrass in quanto il programma può lavorare in modalità
multi-mapset in un unico workspace. Questa modalità risulta molto comoda in fase di definizione
di un proprio ambiente di lavoro e di scelta delle mappe di partenza per le elaborazioni in quanto
è possibile accedere a più fonti di dati. Tuttavia consigliamo di utilizzare workspace con più
mapset solo in questa fase e di procedere poi con le elaborazioni in workspace con un unico mapset.
Questo permette di utilizzare senza problemi i comandi nativi di GRASS (vedi Paragrafo 6.1) e
di “risparmiare” tempo nelle elaborazioni dove altrimenti è necessario ogni volta procedere alla
selezione del mapset da cui leggere le mappe e in cui salvare le mappe ottenute dalle elaborazioni.
52
5. Primi passi con JGrass
Figura 5.4: La seconda finestra della procedura guidata per la visualizzazione di una mappa raster, elenco delle
mappe disponibili.
Per visualizzare l’elenco, in ordine alfabetico, delle mappe contenute nel mapset desiderato cliccare
sul pulsante con il segno + davanti al nome del mapset. Per Spearfish è sufficiente cliccare sul
pulsante che precede il nome PERMANENT e verranno visualizzate le mappe contenute come
mostrato in Figura 5.4. A questo punto è sufficiente selezionare la mappa che si desidera visualizzare
(nell’esempio si è scelto di visualizzare la mappa elevation.dem) e cliccare sul pulsante Avanti.
In JGrass le mappe non vengono visualizzate per parti successive, ma tutte in un unico blocco,
è quindi necessario che il programma legga tutta la mappa, la carichi in memoria e poi la visualizzi.
L’evoluzione della procedura di visualizzazione della mappa è riportata nella Progressbar di JGrass
presente nella parte inferiore del monitor (vedi Figura 4.4). La mappa visualizzata nell’esempio
appare come in Figura 5.5.
Se ripetiamo l’operazione di visualizzazione scegliendo la mappa aspect otteniamo quanto riportato in Figura 5.6. Aspect è la mappa dell’esposizione dei versanti, essa viene spesso visualizzata
come base per l’elaborazione delle immagini in JGrass in quanto dà l’impressione di lavorare in un
ambiente 3D.
Si possono visualizzare in questo modo tutte le mappe presenti nel mapset caricato. In JGrass
ogni mappa visualizzata in momenti successivi viene sovrapposta a quelle già visualizzate assegnando a ognuna un certo fattore di trasparenza in modo che siano sovrapponibili quante più mappe
possibile.
Attenzione: dalla versione di JGrass2.0 sono stati risolti molti dei problemi di visualizzazione
legati alle schede video. Nonostante questo, se in ambiente Windows ci dovessero essere problemi
di visualizzazione delle mappe o si dovesse chiudere il programma durante la visualizzazione di una
mappa è necessario diminuire l’accelerazione grafica della scheda video.
53
5. Primi passi con JGrass
Figura 5.5: Visualizzazione all’interno di JGrass della mappa delle elevazioni del dataset Spearfish
Figura 5.6: Visualizzazione all’interno di JGrass delle mappe delle elevazioni e dell’esposizione del dataset Spearfish
Attenzione: In alcuni casi la visualizzazione di nuove mappe può comportare uno sfasamento del
display, in questo caso è sufficiente ricaricare la visualizzazione delle mappe cliccando sul pulsante
e tutto verrà ricaricato e visualizzato in modo corretto. Questa operazione è necessaria anche
ogni volta che si ricorre a zoom particolarmente diversi o a visualizzazioni molto diverse per assestare
54
5. Primi passi con JGrass
la visualizzazione ai dati effettivamente caricati. È anche possibile attivare la modalità Ridisegna
mappa automaticamente, come mostrato nel Paragrafo 4.4, affinché queste operazioni vengano fatte
automaticamente dal programma. Questa è una scelta conveniente se si ha a che fare con pochi
dati, rende tutto più lento se si devono gestire molti dati o se vengono caricate molte mappe.
Opzioni di visualizzazione
Per controllare le opzioni di visualizzazione delle mappe è necessario visualizzare la schermata
della Legenda, cliccando sul tasto
. In questa sezione si può decidere se visualizzare o meno
una mappa caricata, semplicemente spuntando il quadratino che precede il nome, oppure cancellare
le mappe caricate per rendere più veloce la visualizzazione quando non sono più necessarie. Per
cancellare una mappa caricata nel menu è sufficiente cliccare sul nome con il tasto destro del
mouse e scegliere l’opzione Cancella “nome della mappa”. Quest’operazione non cancella i dati dal
filesystem ma solo dalla memoria RAM, in questo modo si evitano sovraccarichi di memoria del pc
che inducono un rallentamento delle operazioni di visualizzazione e di calcolo. Le mappe cancellate
possono essere comunque rivisualizzate, caricandole dal disco, in momenti successivi quando si
rendessero necessarie. Sempre facendo ricorso al tasto destro del mouse, in corrispondenza del
nome della mappa, si può anche definire la trasparenza da assegnare alla mappa. In Figura 5.7
viene riportato un esempio nel quale la mappa geology è stata caricata ma non visualizzata a video.
Nella stessa figura vengono mostrati anche il menu che si ottiene cliccando con il tasto destro del
mouse sulla mappa aspect e la finestra grafica che si otterrebbe selezionando l’opzione Proprietà. In
questa finestra viene definito il parametro di trasparenza (alpha) del raster dove il valore 1 indica
che la mappa non è trasparente mentre la trasparenza aumenta al diminuire del valore del fattore
alpha.
Proprietá di visualizzazione
Visualizzando la sezione dedicata alla legenda, come anticipato nel paragrafo precedente, si
possono anche definire molte delle proprietà di visualizzazione già viste nel Paragrafo 4.4. Questo
si può fare cliccando sulla cartellina denominata Proprietà che si trova nella parte inferiore del
pannello.
In questa sezione vengono ripresentate le opzioni che si sono viste anche in Figura 5.7 e per
ognuna di esse è possibile personalizzare i parametri specificati di default. Per fare questo è necessario visualizzare il contenuto di ciascuna opzione cliccando sul pulsantino con il + che precede
il nome e poi semplicemente cliccare con il tasto destro in corrispondenza dell’opzione scelta. Nel
55
5. Primi passi con JGrass
Figura 5.7: Opzioni di visualizzazione delle mappe raster caricate in JGrass.
Figura 5.8: Proprietà di visualizzazione di JGrass.
menu Proprietà è poi possibile definire i nuovi parametri, in Figura 5.8 è riportato l’esempio di
visualizzazione di:
• Griglia della mappa con risoluzione NS e EO di 1000 m.
• Visualizzazione della Rosa dei Venti, che in questo caso potrebbe essere chiamata semplice56
5. Primi passi con JGrass
mente indicazione del Nord.
• Visualizzazione della Scala della Mappa definendo i parametri di posizione in modo da
collocarla in basso a sinistra dello schermo
• Griglia dei valori della mappa: questa non è stata visualizzata perché l’opzione non è ancora
attiva completamente. Si consiglia comunque di visualizzare la griglia dei valori solo per
porzioni molto piccole di mappe in quanto l’operazione potrebbe richiedere un po’ di tempo.
Legenda delle mappe
Per visualizzare la legenda delle mappe non è sufficiente attivare l’opzione che si trova nel menu
del monitor di Figura 4.24, questo tasto funziona solamente in un secondo momento, quando sono
già stati definiti tutti i parametri per la creazione della legenda. Per definire questi parametri
è necessario selezionare dalla lista delle Proprietà l’opzione Legend e definirne le proprietà. Se
vogliamo creare la legenda per la mappa elevation.dem dovremo specificarlo nell’interfaccia di
Figura 5.9.
Figura 5.9: Definizione delle proprietà della legenda.
Come potete notare è possibile definire la posizione della legenda, il fattore di trasparenza e
la grandezza del rettangolo contenente la legenda. La legenda apparirà di tipo diverso a seconda
della mappa a cui si fa riferimento, non solo nei valori, ma anche nella forma. Le legende create
per le mappe elevation.dem e geology riportate in Figura 5.10 e 5.11 sono molto diverse tra loro:
la prima è una legenda di tipo “continuo” nella quale viene riportata la scala di colori utilizzata
nella mappa e alcuni valori di riferimento, mentre la seconda è una mappa di tipo “discreto” nella
57
5. Primi passi con JGrass
quale ad ogni particolare colore è associato un valore o in questo caso il nome della formazione
geologica corrispondente. Questa differenza deriva dal fatto che per la mappa geology i dati sono
stati categorizzati e quindi la legenda fa riferimento alle categorie.
Figura 5.10: Visualizzazione in JGrass della mappa delle elevazioni e della relativa legenda creata con i parametri di
Figura 5.9.
Figura 5.11: Visualizzazione in JGrass della mappa delle formazioni geologiche e della relativa legenda.
Attenzione: La visualizzazione della legenda è condizionata alla visualizzazione della mappa cor58
5. Primi passi con JGrass
rispondente. In altre parole per vedere la legenda creata è necessario che venga visualizzata anche
la mappa a cui essa si riferisce, oltre eventualmente ad altre mappe.
5.3.2
Dati vettoriali
Cliccando sull’icona
si attiva la procedura guidata per la visualizzazione di una mappa
vettoriale in formato shapefile. La schermata di avvio prevede la possibilità di scegliere il percorso
del file da visualizzare, visto che per questo tipo di dato viene lasciata all’utente la possibilità di
caricarlo da qualsiasi cartella del filesystem. Per il dataset di Spearfish è stata creata una cartella
all’interno della location Spearfish con il nome shapefiles. Per visualizzare questi dati si deve quindi
selezionare nella maschera di Figura 5.12 il percorso dove è installato JGrass e successivamente
.../spearfish/PERMANENT/shapefiles, qui si trovano gli shapefile disponibili.
Figura 5.12: Schermata per la selezione dello shapefile da visualizzare in JGrass.
Proprietà di visualizzazione
Ripetendo la procedura che permette di visualizzare roads e streams si potrà vedere che queste
mappe vengono visualizzate come mostrato in Figura 5.13, che non differenzi i due dati. Per
distinguere le strade dai corsi d’acqua è necessario cambiare le impostazioni di visualizzazione di
una o di entrambe le mappe. Questa operazione si fa analogamente a quanto visto per i dati raster
(Paragrafo 5.3.1) cliccando sul nome della mappa con il tasto destro del mouse nella sezione legenda.
Le opzioni attive per i dati vettoriali sono tre:
1. Cancella + “nome della mappa”: per cancellare la mappa dalla visualizzazione in JGrass,
59
5. Primi passi con JGrass
Figura 5.13: Visualizzazione di due shapefile con impostazioni predefinite in JGrass.
questo, come nel caso dei raster, non compromette il file su disco.
2. Visualizza i dati : per visualizzare l’intera tabella di dati associata alla mappa vettoriale.
3. Proprietà: per modificare le proprietà di visualizzazione della mappa.
Cliccando dunque su Proprietà, apparirà la finestra contenente i parametri correnti, come quella
mostrata in Figura 5.14. Tale finestra permette di modificare le impostazioni semplicemente variando il numero corrispondente alla caratteristica che si desidera modificare oppure cliccando sul
colore per modificare il colore di visualizzazione. In Figura 5.14 viene anche mostrata la finestra
per la scelta del colore di visualizzazione. I parametri che possono essere variati (mostrati in Figura
5.15) sono diversi a seconda del tipo dell’entità contenuta nel file, ovvero se si ha a che fare con
poligoni (aree) oppure semplicemente linee o punti.
60
5. Primi passi con JGrass
Figura 5.14: Impostazione delle proprietà di visualizzazione di una mappa vettoriale in JGrass.
Figura 5.15: Elenco delle proprietà di visualizzazione di una mappa vettoriale in JGrass differenziata per entità
visualizzata.
Scegliendo come colore di visualizzazione della mappa roads il rosso e portando lo spessore delle
linee a tre si ottiene la visualizzazione riportata in Figura 5.16
Se si vogliono visualizzare tutti i dati collegati alla mappa caricata basterà selezionare dal menu
l’opzione Visualizza i dati. I dati vengono visualizzati in forma tabellare e per ogni entità dello
shapefile è possibile accedere agli attributi ad essa collegati. La tabella visualizzata per lo shapefile
roads è riportata in Figura 5.17. Nell’esempio gli attributi collegati sono il numero identificativo
ID e la categoria della strada in CAT ID. Come si può osservare non ci sono dati nella colonna
relativa alla descrizione della strada.
61
5. Primi passi con JGrass
Figura 5.16: Visualizzazione in JGrass di due shapefile con impostazioni personali dell’utente.
Figura 5.17: Visualizzazione degli attributi collegati ad uno shapefile in JGrass.
62
5. Primi passi con JGrass
5.4
Interrogazione delle mappe
Tutte le mappe visualizzate in JGrass, siano esse in formato raster o vettoriale, possono essere
interrogate, ovvero di ogni mappa è possibile conoscere il valore in un punto preciso.
5.4.1
Interrogazione di mappe raster
Il comando usato per interrogare mappe raster è d.what.rast che si trova nel menu Raster alla
voce Interrogazioni di mappe raster (Figura 5.18).
Figura 5.18: Menu per la scelta del comando per interrogare mappe raster.
Il comando di interrogazione di mappe raster ha una comoda interfaccia grafica che permette
di scegliere la mappa e interrogarla semplicemente cliccando con il mouse sul punto di cui si vuole
conoscere il valore. Con questo comando si possono interrogare anche mappe non visualizzate e
si possono interrogare più mappe contemporaneamente selezionandole contemporaneamente dal
menu delle mappe disponibili. Ad ogni clic del mouse sulla mappa apparirà il valore del punto
selezionato, eventualmente anche più valori, se si interrogano più mappe. Rimane rappresentato
anche il valore cliccato precedentemente con le rispettive coordinate e la distanza tra i due punti
(il punto cliccato precedentemente e quello attuale). L’interfaccia grafica è presentata in Figura
5.19 dove vengono interrogate contemporaneamente le mappe elevation.dem e geology (che non è
visualizzata). Per chiudere il comando cliccare sul pulsante uscita.
63
5. Primi passi con JGrass
Figura 5.19: Interfaccia grafica del comando per l’interrogazione di mappe raster.
5.4.2
Interrogazione di mappe vettoriali
Il comando per interrogare le mappe vettoriali è l’unico comando di analisi vettoriale al momento
integrato in JGrass e si trova nel menu Vettoriali (come mostrato in Figura 4.14). Anche per il
comando d.what.vect è stata implementata un’interfaccia grafica simile a quella vista per il comando
d.what.rast (Figura 5.20) in cui sono contenute le mappe disponibili (in questo caso solamente le
mappe caricate visto che il comando interroga shapefile) le coordinate e gli attributi del punto
cliccato e la distanze tra due punti selezionati successivamente.
L’unica particolarità del comando per i vettoriali rispetto a quello dedicato ai raster è il numero
scritto in alto a sinistra che viene chiamato snap. Questo rappresenta la distanza massima a cui
è possibile cliccare per poter selezionare l’oggetto. Il valore di snap è particolare per ogni mappa,
anche se indicativamente vi si può assegnare come valore di partenza la risoluzione di lavoro.
Quando si clicca in un punto e vengono visualizzati i dati relativi a due entità diverse significa
che entrambe distano meno dello snap dal punto cliccato. A questo punto per selezionarne una in
particolare sarà sufficiente diminuire il valore dello snap.
Nel caso del comando di interrogazione di mappe vettoriali non è possibile selezionare più mappe
dall’elenco: si può interrogare solo una mappa alla volta. Per uscire dal comando premere il pulsante
uscita.
Come ripasso di una parte di ciò che è stato visto nei paragrafi precedenti si può visualiz64
5. Primi passi con JGrass
Figura 5.20: Interfaccia grafica del comando per l’interrogazione di mappe vettoriali.
zare la mappa elevation.dem come in Figura 5.21 modificando le impostazioni standard per la
visualizzazione della scala della mappa e le impostazioni di trasparenza delle mappe visualizzate.
Figura 5.21: Visualizzazione in JGrass della scala della mappa con configurazioni particolari dell’utente.
65
5. Primi passi con JGrass
5.5
Tracciamento del profilo delle mappe
In JGrass è possibile ottenere il profilo di una mappa in una sezione disegnata a video semplicemente con il comando r.profile che si trova nel menu Raster - Elaborazioni su raster
.
L’interfaccia grafica è presentata in Figura 5.22 e contiene sia le informazioni sui dati di input
che quelle sui dati di output del comando. Per quanto riguarda i dati di input, questi si trovano
nella parte sinistra dell’interfaccia e riguardano la scelta del mapset (tra quelli caricati in fase di
creazione dell’ambiente di lavoro) e della mappa di cui si vuole tracciare il profilo (nell’esempio si
traccia un profilo sulla mappa elevation.dem).
Figura 5.22: Interfaccia grafica del comando per il tracciamento dei profili in JGrass.
A questo punto è sufficiente spostare la finestra di lavoro in modo che sia visibile la porzione
di mappa su cui si desidera tracciare la sezione e con il mouse tracciare a video la sezione sulla
mappa. Il puntatore del mouse durante questa operazione cambierà d’aspetto in modo che sia chiaro
all’utente che si è in modalità disegno. Quindi sarà sufficiente cliccare con il tasto sinistro del mouse
sul punto iniziale e finale della sezione e apparirà una linea blu sul monitor in corrispondenza della
quale verrà tracciato il profilo (Figura 5.23). Nell’interfaccia grafica, più o meno velocemente
a seconda della risoluzione della mappa e della lunghezza della sezione, verranno visualizzate le
informazioni relative al profilo, come mostrato in Figura 5.24.
L’output del comando r.profile per la parte grafica è il profilo della mappa sulla sezione con
evidenziati il massimo e il minimo, nonché il profilo relativo. Le altre informazioni contenute sono
di tipo numerico e sono:
66
5. Primi passi con JGrass
Figura 5.23: Visualizzazione a video della sezione di cui si richiede il profilo.
Figura 5.24: Output del comando per il tracciamento dei profili in JGrass.
1. coordinate del primo punto della sezione
2. coordinate dell’ultimo punto della sezione
3. lunghezza della sezione
67
5. Primi passi con JGrass
4. dati del profilo (distanza progressiva e quota)
I dati relativi al profilo si possono copiare e incollare direttamente in un foglio excel prendendoli
dall’interfaccia grafica, mentre per modificare le informazioni grafiche basta cliccare sul tipo di
informazione nella parte inferiore dell’interfaccia grafica e deselezionare l’informazione che non si
vuole visualizzare.
È anche possibile fare un ingrandimento del grafico selezionando con il mouse la parte di grafico
che si desidera ingrandire. La finestra selezionata sarà quella visualizzata nell’ingrandimento. Per
tornare allo zoom di partenza basta tenere cliccato il tasto sinistro del mouse e spostare il cursore
verso l’alto.
Per uscire dal comando Cliccare sul pulsante ok. Lasciare il comando attivo mentre si fanno altre operazioni comporta un malfunzionamento del programma stesso che continua a caricare
nuove sezioni di cui tracciare il profilo ogni volta che si clicca sulla mappa. Si può notare che
uscendo dal comando rimane comunque visualizzata a video la sezione tracciata, questo è diventato un nuovo elemento che viene visualizzato nella sezione della legenda - Proprietà come
elevation.dem-profile-1 e può essere cancellato dallo schermo semplicemente puntando il quadratino corrispondente, oppure cancellato del tutto con l’opzione Cancella che si visualizza cliccando
sul nome della mappa con il tasto destro del mouse.
5.6
Gestione delle mappe raster
Nella sezione dedicata ai raster troviamo anche i comandi di gestione delle mappe, ovvero i
comandi che permettono di copiare mappe da mapset o cartelle particolari, di rinominare le mappe
oppure di cancellarle dal filesystem. Questi comandi seguono tutti una stessa logica e le interfacce
grafiche sono molto simili.
5.6.1
Copiare una mappa
Per copiare una mappa da un altro mapset o da una delle cartelle in cui ci sono i dati nel
formato nativo indicato dal nome della cartella il comando è r.copy
che si presenta con una
prima interfaccia nella quale viene chiesto di selezionare la cartella d’origine (GRASS di default e
le altre cartelle accessibili da JGrass) della mappa da copiare. Premere Avanti per continuare.
Una volta selezionata la cartella di origine è possibile scegliere la mappa da copiare dall’elenco
relativo ai mapset caricati. Nell’esempio di Figura 5.26 si sta copiando la mappa elevation.dem.
Dopo aver cliccato sul pulsante Fine apparirà ora una schermata dello stesso tipo della prima
68
5. Primi passi con JGrass
Figura 5.25: Prima schermata della procedura guidata per copiare una mappa in JGrass.
Figura 5.26: Seconda schermata della procedura guidata per copiare una mappa in JGrass.
nella quale deve essere scelta la cartella di destinazione. Si è scelto di copiare la mappa nella cartella
esriasciigrid (Figura 5.27). Cliccare su Avanti per proseguire.
69
5. Primi passi con JGrass
Figura 5.27: Terza schermata della procedura guidata per copiare una mappa in JGrass.
Nell’ultima schermata viene chiesto di definire il mapset in cui copiare la mappa e di scrivere il
nome della mappa di destinazione. Nell’esempio l’unico mapset caricato è PERMANENT e quindi
una volta selezionato il mapset e scritto il nuovo nome della mappa, dem, si può cliccare su Fine
per terminare la procedura. È molto importante selezionare il nome del mapset di destinazione
anche se è l’unico della lista, altrimenti la mappa non verrà copiata e si dovrà ripetere l’operazione
da principio. Se la procedura è andata a buon fine e la mappa è stata copiata a video apparirà il
messaggio di creazione della nuova mappa riportato in Figura 5.29. Cliccando su ok si termina la
procedura.
Figura 5.28: Ultima schermata della procedura guidata per copiare una mappa in JGrass.
La mappa creata può essere visualizzata con il comando di visualizzazione oppure utilizzata per
l’elaborazione di nuove mappe. Si ricorda che la mappa dem si trova nella cartella esriasciigrid e
quindi è già scritta in formato ASCII della ESRI e può essere utilizzata come mappa di interscambio
con altri programmi.
70
5. Primi passi con JGrass
Figura 5.29: Messaggio di chiusura della procedura guidata per copiare una mappa in JGrass.
Per fissare il concetto di copiatura di una mappa da una cartella all’altra si propone di copiare
anche le altre mappe contenute nel set di dati di Spearfish rispettivamente:
• aspect in grassascii con il nome esposizione
• geology nel formato standard di GRASS con il nome geologia
5.6.2
Rinominare una mappa
Il comando da utilizzare per rinominare una mappa, o per spostarla in un’altra cartella o in un
altro mapset, è r.rename
. La procedura guidata per eseguire il comando è molto simile a quella
per copiare le mappe. Le prime due schermate dove viene scelta la mappa di partenza sono le stesse
(Figura 5.25 e 5.26). In questo caso però l’esempio prevede di scegliere la mappa appena creata
esposizione e di rinominarla in esposizione new nella cartella esriasciigrid. Il comando r.rename
infatti sposta la mappa nella nuova mappa specificata nelle schermate successive (Figura 5.30 e 5.31)
eliminando la mappa sorgente, al contrario del comando r.copy che mantiene la mappa originale.
Anche alla fine di questo comando, se tutto è andato per il meglio, apparirà un messaggio di avviso
(Figura 5.32).
Figura 5.30: Terza schermata della procedura guidata per rinominare una mappa in JGrass.
71
5. Primi passi con JGrass
Figura 5.31: Ultima schermata della procedura guidata per rinominare una mappa in JGrass.
Figura 5.32: Messaggio di chiusura della procedura guidata per rinominare una mappa in JGrass.
5.6.3
Cancellare una mappa
Per eliminare una mappa dal filesystem in modo che non sia più disponibile per le elaborazioni
e che venga liberata la memoria su disco occupata il comando da usare è r.remove
, che si
presenta con l’interfaccia grafica di Figura 5.33.
Figura 5.33: Prima schermata della procedura guidata per eliminare una mappa in JGrass.
La cancellazione di una mappa è possibile, per il momento, solo per mappe salvate nel formato
72
5. Primi passi con JGrass
Figura 5.34: Messaggio di avviso per la cancellazione di una mappa dal filesystem in JGrass.
di GRASS/JGrass. Se si sceglie di eliminare la mappa geology cliccare poi su Avanti e Fine per
procedere con l’operazione. Prima di eliminare la mappa viene chiesta conferma all’utente tramite
un messaggio d’avviso come quello mostrato in Figura 5.341 .
5.7
Creazione della tavola dei colori di una mappa raster
Le mappe raster a cui non è associata una tavola dei colori vengono visualizzate con la colorazione
standard che prevede la divisione dell’intervallo dei valori della mappa in 5 sotto-intervalli a cui
vengono assegnati i colori:
• primo intervallo:
• secondo intervallo:
• terzo intervallo:
• quarto intervallo:
• quinto intervallo:
Le tavole dei colori sono contenute nella cartella colr del mapset relativo alla mappa considerata.
Per creare o modificare la tavola dei colori di una mappa, nell’esempio di elevation.dem, si usa il
comando r.colors
. L’interfaccia grafica del comando è quella mostrata in Figura 5.35 dove,
come negli altri casi, è possibile selezionare il mapset e il nome della mappa di cui si vogliono
modificare i colori2 . Per la mappa usata nell’esempio elevation.dem l’intervallo di variazione è
1066 − 1840 m s.m.m..
1
In Windows è possibile cancellare una mappa solamente se non è mai stata visualizzata nella sessione in corso per
problemi di gestione degli accessi ai file in uso nel sistema. Quindi se si desidera cancellare una mappa precedentemente
visualizzata occorre riavviare JGrass e procedere alla cancellazione.
2
Per un motivo ancora a noi sconosciuto, purtroppo, è necessario cliccare due volte sul nome della mappa per
visualizzarne, nella parte sottostante, l’intervallo di variazione dei dati
73
5. Primi passi con JGrass
Figura 5.35: Interfaccia grafica per la creazione o modifica della tavola dei colori di una mappa raster in JGrass.
La prima cosa da fare a questo punto è quella di caricare la tavola dei colori esistente, se questa
dovesse esistere, carica tavola dei colori. Se appare il messaggio che non è stata trovata
nessuna tavola dei colori, si può procedere cliccando su ok, altrimenti verrà caricata la tavola dei
colori che apparirà nella sezione di sinistra della finestra. Nell’esempio non è stata trovata nessuna
tavola dei colori per la mappa elevation.dem e quindi tutto rimane invariato e possiamo procedere
a creare la tavola dei colori a nostro piacimento.
Per creare la tavola dei colori di una mappa occorre selezionare aggiungi regola finché non
ci sono un numero sufficiente di intervalli di suddivisione dei dati (nell’esempio di Figura 5.36 si è
scelto di suddividere i dati in quattro intervalli).
Figura 5.36: Interfaccia grafica per la creazione della tavola dei colori di una mappa raster in JGrass - Creazione
degli intervalli di suddivisione dei dati.
74
5. Primi passi con JGrass
È necessario ora riempire le caselle bianche con il valore più piccolo e più grande dell’intervallo
dei dati e assegnare un colore di partenza e uno finale all’intervallo. Per caricare il colore occorre
prima selezionarlo nella schermata dei colori sulla destra e successivamente cliccare con il mouse sul
pulsante SELECT corrispondente a quel colore. Il colore attivo al momento viene visualizzato anche
nel riquadro Recent sulla parte più a destra della finestra di lavoro. Al termine delle operazioni si
deve selezionare il pulsante crea tavola dei colori al quale segue un messaggio di avvertimento
della creazione che contiene l’indicazione del percorso in cui il file contenente le indicazioni appena
fornite è stato salvato. L’uscita dal comando avviene semplicemente chiudendo la finestra relativa.
Un esempio di definizione della tavola dei colori è riportato in Figura 5.37 e il risultato grafico
ottenuto semplicemente ricaricando la mappa con il pulsante
è mostrato in Figura 5.38.
Figura 5.37: Interfaccia grafica per la creazione della tavola dei colori di una mappa raster in JGrass - Definizione
dei valori degli intervalli e dei colori corrispondenti.
Se il risultato non dovesse essere soddisfacente sarà sufficiente richiamare il comando e caricare
la mappa dei colori precedentemente creata e modificare tutto quello che si ritiene poco valido, sia
cancellando o modificando gli intervalli dei dati, sia modificando i colori. Modificando unicamente
il colore relativo al secondo intervallo dei dati e ricreando la tavola dei colori si ottiene l’immagine
di Figura 5.393 .
3
Se per la visualizzazione della mappa con la nuova tavola dei colori non dovesse bastare ridisegnare la mappa caricata, si dovrà cancellare la mappa dalla visualizzazione (Paragrafo 5.3.1) e poi procedere a rivisualizzarla (Paragrafo
5.3.1)
75
5. Primi passi con JGrass
Figura 5.38: Visualizzazione della mappa elevation.dem con la nuova tavola dei colori.
Figura 5.39: Visualizzazione della mappa elevation.dem con la tavola dei colori modificata.
76
5. Primi passi con JGrass
5.8
Calcoli con mappe raster
Il comando che permette di eseguire operazioni matematiche di diverso tipo con mappe raster
è il comando r.mapcalc
. Eseguire operazioni su raster significa che per ogni cella del raster
viene eseguita l’operazione specificata.
La sintassi del comando è molto simile a quella di GRASS ma dall’interfaccia grafica è molto
semplice da usare. Con r.mapcalc è possibile eseguire operazioni semplici come quelle di addizione
e moltiplicazione fra mappe diverse o su valori di una stessa mappa, ma anche operazioni più
complesse che richiamano funzioni trigonometriche.
L’interfaccia di Figura 5.40 mostra la creazione di una mappa raster (prova.dem) ottenuta
sottraendo alla mappa elevation.dem un valore di 50 m. Tutte le operazioni su mappe raster
possono essere fatte scegliendo la mappa nei diversi mapset caricati nel workspace e dalle cartelle
accessorie della location di JGrass. La selezione di questi fattori fa cambiare l’elenco delle mappe
che si trova nella parte in basso a sinistra della finestra. L’utente sceglie dal menu a tendina le
mappe ogni volta che deve inserirle nella formula di calcolo È indispensabile che venga specificato
il nome della mappa creata altrimenti appare un messaggio d’errore che richiede di completare
tutti i campi richiesti. Anche per la mappa creata è possibile specificare la cartella di destinazione,
l’opzione di default prevede di salvare la nuova mappa nel formato di GRASS nel mapset di default,
che comunque viene visualizzato accanto al nome della mappa4 . Premendo sul pulsante ok parte
l’elaborazione che potrà essere più o meno lenta a seconda delle dimensioni e della risoluzione della
regione di lavoro, cancel invece chiude il comando senza eseguire l’operazione.
Figura 5.40: Interfaccia grafica del comando per eseguire calcoli su mappe raster.
A fine elaborazione sarà possibile visualizzare la mappa creata e controllare che il conto sia
corretto utilizzando un d.what.rast (Paragrafo 5.4.1) sulle due mappe di riferimento elevation.dem
e prova.dem. La differenza di valore in ogni punto del raster dovrà essere di 50m.
4
Il comando r.mapcalc, per il momento, permette di lavorare con mapset diversi e usare mappe in cartelle diverse
ma tutte le mappe utilizzate in ogni singolo comando devono appartenere alla stessa cartella, salvo il raster di output.
77
5. Primi passi con JGrass
Un’operazione molto utilizzata per eseguire calcoli su raster è l’operatore if, ovvero se. Attraverso
questo operatore è possibile effettuare calcoli combinati su mappe considerando valori particolari
di una mappa.
Per fare un esempio si può aver bisogno di delimitare le zone con formazione geologica “sabbia
argillosa” che corrispondono al numero otto della mappa “geologia” creata ai punti precedenti e di
estrarne le relative quote dal dem (elevation.dem).
Per ottenere questo risultato sarà necessario ricopiare la mappa geologia dalla cartella grassascii
in geology nel formato standard, oppure copiare la mappa elevation.dem nel formato grassascii. In
questo esempio si procederà utilizzando le due mappe nel formato standard. Si faccia attenzione
però, nel ricreare la mappa geology che avendo cancellato l’originale si è cancellata anche la tavola
dei colori ad essa associata e quindi la visualizzazione sarà ben diversa da quella di partenza.
Il comando che permette di fare le operazioni appena descritte è r.mapcalc. Tale comando,
mutuato da GRASS, è molto potente e una sua descrizione può essere trovata sul Tutorial di
GRASS5 .
Per fare questa operazione è possibile utilizzare l’operatore if di r.mapcalc. Per seguire la sintassi
propria del costrutto if è sufficiente selezionare dall’interfaccia grafica il pulsante if e apparirà una
stringa del tipo
if(,,)
che significa:
if(condizione,azione per condizione vera,azione per condizione falsa)
Per completare la stringa di comando si deve cliccare in corrispondenza del valore che si vuole
inserire e scegliere la mappa o scrivere la condizione/azione.
Si consiglia di usare sempre il construtto if anche per i calcoli che interessano un’unica mappa
introducendo il valore null per i punti esterni in quanto alcune funzioni, per esempio quelle trigonometriche, non riconoscono come non valido il valore corrispondente a null e quindi calcolano un
dato anche per i punti esterni alla mappa ma interni alla regione di lavoro (area che normalmente
rimane bianca durante la visualizzazione delle mappe).
L’operazione di creazione di un nuovo raster, claysand, isolando i punti corrispondenti dalla
mappa geology e associando a questi il valore della quota corrispondente in elevation.dem è riportato
in Figura 5.41. Il risultato dell’elaborazione invece è riportato in Figura 5.42 dove si è visualizzata,
5
http://www.gdf-hannover.de/media.php?id=0&lg=en
78
5. Primi passi con JGrass
con fattore di trasparenza 0.2, la mappa geology originale, mentre la mappa claysand è visualizzata
con un fattore di trasparenza di 0.8.
Figura 5.41: Utilizzo del construtto if nelle operazioni su raster.
Figura 5.42: Visualizzazione di una mappa creata con il comando di elaborazione di mappe raster.
Il valore null introdotto nella sintassi per il calcolo della mappa claysand è il valore corrispondente al NODATA ovvero il valore da sostituire all’esterno delle zone interessate perché non siano
considerate celle valide del raster.
5.9
Creazione della lista delle categorie
La lista delle categorie permette di associare a dei valori particolari di una mappa raster una
descrizione. Le categorie si creano con il comando r.cats
79
.
5. Primi passi con JGrass
Supponendo di voler ricreare le categorie della mappa geology originale quanto si dovrà inserire
nel comando è riassunto in Tabella 5.1.
VALORE
1
2
3
4
5
6
7
8
9
DESCRIZIONE
metamorphic
transition
igneous
sandstone
limestone
shale
sandy shale
claysand
sand
Tabella 5.1: Tabella riassuntiva per la creazione dell’elenco delle categorie della mappa geology.
L’interfaccia grafica iniziale del comando è quella di Figura 5.43 dove già si è scelta la mappa
geology per la creazione delle categorie.
Figura 5.43: Interfaccia grafica del comando per la creazione delle categorie in JGrass.
Anche in questo caso, come per la creazione della tavola dei colori è necessario selezionare due
volte la mappa per caricare i valori limite e poi carica le categorie originali per caricare
la lista delle categorie preesistente. Se per la mappa non sono state create ancora delle categorie
dei valori allora la schermata rimarrà come quella iniziale e si potrà procedere con l’operazione
di creazione. Innanzitutto si devono decidere gli intervalli delle categorie, nell’esempio si vuole
assegnare una descrizione ad ogni valore della mappa, quindi si devono creare 9 caselle in cui
inserire quanto riportato in Tabella 5.1 (Figura 5.44).
Al termine dell’inserimento dati è sufficiente cliccare sul pulsante crea le categorie per creare
la lista appena definita. Se la procedura è andata a buon fine apparirà un messaggio di avvertimento
per la creazione del file relativo nella cartella cats nel mapset corrente. Si chiude il comando
chiudendo la finestra di inserimento dati e si procede alla visualizzazione della mappa e della legenda
(come mostrato in Figura 5.11) per verificare che le categorie siano effettivamente riconosciute da
JGrass.
80
5. Primi passi con JGrass
Figura 5.44: Creazione della lista delle categorie per la mappa geology in JGrass.
Il comando r.cats funziona solamente con mappe già discretizzate il che significa che se si volessero assegnare, per esempio, le categorie alla mappa dell’esposizione che è una mappa continua,
si dovrebbe prima creare un nuovo raster contenente un valore per ogni intervallo di dati rappresentativo e successivamente assegnare le categorie. Come forse sarà noto i valori contenuti nella
mappa dell’esposizione rappresentano l’angolo che il gradiente forma rispetto all’est geografico, e
quindi si avrà:
• NORD - 90o
• OVEST - 180o
• SUD - 270o
• EST - 360o o 0o
Introducendo anche i gradi di inclinazione intermedi (NE - NO - SO - SE) si può suddividere la
mappa negli intervalli riportati in Tabella 5.2. I passi da fare per risolvere questo problema sono
due:
1. creare una nuova mappa dell’esposizione esposizione.new contenente invece dei valori in gradi
della mappa di partenza, il numero assegnato all’intervallo nella Tabella 5.2 (Figura 5.45) con
il comando r.mapcalc;
2. creare l’elenco delle categorie per la nuova mappa e associare la legenda di questa nuova
mappa alla mappa di partenza con il comando r.cats.
81
5. Primi passi con JGrass
CATEGORIA
EST
NORD EST
NORD
NORD OVEST
OVEST
SUD OVEST
SUD
SUD EST
EST
NUMERO
1
2
3
4
5
6
7
8
9
INTERVALLO
0 - 22.5
22.5 - 67.5
67.5 - 112.5
112.5 - 157.5
157.5 - 202.5
202.5 - 247.5
247.5 - 292.5
292.5 - 337.5
337.5 - 360
Tabella 5.2: Tabella riportante i valori dell’angolo di esposizione per la creazione delle categorie della mappa.
Figura 5.45: Comando per la creazione di una nuova mappa raster sulla base di aspect con i dati di Tabella 5.2.
5.10
Modifica dei valori di mappe raster
Spesso ci si trova a dover in qualche modo modificare una mappa raster per i motivi più disparati.
Se dovesse capitare di doverlo fare il comando da usare in quell’occasione sarebbe il comando
r.correct. In realtà ci sono due versioni del comando:
• r.correct
: permette di editare tutte le celle di una mappa raster
• r.correct.polygon
: permette di disegnare un’area sulla mappa che verrà riempita con un
valore a scelta.
5.10.1
Editing manuale di mappe raster
Il comando per modificare manualmente le mappe raster, r.correct, permette di visualizzare
i dati contenuti nella mappa selezionata dalla lista delle mappe disponibili per quel mapset e di
modificarne il valore manualmente. Il comando mostrato in Figura 5.46, si riferisce ad una porzione
della mappa elevation.dem. Utilizzando le opzioni standard del comando è possibile visualizzare
solo un numero di cinque caselle, in verticale e in orizzontale, intorno alla cella selezionata con
82
5. Primi passi con JGrass
il mouse. Per modificare il numero di celle visualizzate nell’interfaccia grafica si deve cambiare
l’opzione del comando nel file .../etc/prop/r correct it.properties e sostituire nella seconda
riga al cinque un valore maggiore sempre dispari.
Figura 5.46: Interfaccia grafica del comando per la modifica manuale di mappe raster in JGrass.
Si possono variare alcuni valori presenti nella finestra e poi cliccare su un’altra zona della mappa
aprendo una nuova finestra e cosı̀ via. Prima di terminare si possono salvare tutte le modifiche
in un’unica operazione. Viene lasciata all’utente la possibilità di cambiare il nome della mappa
modificata o di mantenere il nome originale. Una volta definiti tutti i parametri e terminate le
operazioni di modifica si prema su Accetta i cambiamenti per creare la nuova mappa.
Il comando permette di incollare nella finestra dei dati alcuni valori copiati da una finestra, delle
stesse dimensioni, creata in excel e quindi di velocizzare le operazioni se si devono assegnare dei
valori noti a un’intera area.
5.10.2
Modifica di mappe raster attraverso la creazione di poligoni
Quando si devono modificare delle porzioni grandi di mappa, per esempio se si devono escludere
delle zone di un bacino idrografico che vengono fatte artificialmente drenare in un altro bacino, è
utile il comando r.correct.polygon. Attraverso questo comando si traccia un poligono sulla superficie
della mappa che si vuole modificare e si delimita la zona a cui si vuole assegnare un valore particolare, o anche il valore null (nell’esempio di Figura 5.47 si assegna proprio null all’area contenuta
nel poligono).
Il poligono disegnato in blu con il mouse è visibile in .
Per creare la nuova mappa è necessario premere l’ok dopo aver disegnato il poligono per l’elabo83
5. Primi passi con JGrass
Figura 5.47: Interfaccia grafica del comando per la modifica di mappe raster attraverso l’uso di poligoni in JGrass.
Figura 5.48: Poligono di delimitazione dei valori null nelle nuova mappa creata.
razione dei calcoli. La visualizzazione esatta riportata in Figura 5.49 è stata ottenuta cancellando
il poligono disegnato dalle opzioni del menu della legenda.
84
5. Primi passi con JGrass
Figura 5.49: Mappa raster creata con il comando r.correct.polygon.
85
5. Primi passi con JGrass
86
6
Creazione di un nuovo ambiente di lavoro
6.1
Creazione di una location
Per creare un nuovo ambiente di lavoro si deve richiamare il comando Nuovo ambiente di lavoro
dal menu File, come mostrato in Figura 4.6. In realtà quello che in JGrass viene chiamato workspace
o ambiente di lavoro riprende il concetto di location di GRASS (Paragrafo 3.5). La location è la
cartella di riferimento per tutti i dati e le impostazioni di lavoro per il progetto facenti parti di un
determinato workspace di JGrass, la sua struttura è quella definita nel Paragrafo 3.5.
Dopo aver selezionato l’opzione corrispondente alla creazione di un nuovo ambiente di lavoro
apparirà una schermata di presentazione (Figura 6.1) del comando e basterà cliccare sul pulsante
Successivo per continuare con l’operazione.
Figura 6.1: Finestra iniziale per la creazione di una location.
Nella schermata seguente si presenta l’opzione per la creazione di un ambiente di lavoro del
tipo compatibile con GRASS. Allo stato dell’arte è possibile creare solo workspace del tipo location/mapset di GRASS, è in fase di sviluppo lo sviluppo di un’alternativa per la gestione dei
dati. È quindi sufficiente selezionare l’opzione GRASS location workspace dal menu e premere
Successivo.
6. Creazione di un nuovo ambiente di lavoro
Figura 6.2: Finestra per la scelta del tipo di ambiente di lavoro da creare.
A questo punto apparirà una finestra in cui l’utente dovrà scegliere il percorso su disco in cui
creare il nuovo ambiente di lavoro. Il percorso dove salvare il nuovo workspace non è semplicemente
il DATABASE di GRASS bensı̀ deve essere completo e contenere anche il nome della nuova
location.
Se il percorso non è completo o se viene selezionata una cartella non valida, perché vuota o
perché contenente altro materiale, apparirà il messaggio d’errore mostrato in Figura 6.3. Si fa
notare che ciò non accade se viene selezionata una location preesistente, ma in questo caso non
verrebbe creata una nuova location bensı̀ caricato un ambiente di lavoro partendo da una location
preesistente (Paragrafo 6.1.1).
88
6. Creazione di un nuovo ambiente di lavoro
Figura 6.3: Messaggio di avvertimento per la scelta di un percorso incompleto o già esistente ma non valido per il
salvataggio dei dati del workspace che si sta creando.
Una volta definito un percorso valido è possibile definire una breve descrizione dell’ambiente di
lavoro (Figura 6.4) e proseguire con l’operazione cliccando sul pulsante Successivo.
Figura 6.4: Finestra per la scelta del percorso in cui caricare il nuovo ambiente di lavoro.
Creando un nuovo ambiente di lavoro verrà avvertito l’utente della creazione di una nuova
cartella sul filesystem, messaggio al quale sarà sufficiente rispondere con ok per proseguire.
89
6. Creazione di un nuovo ambiente di lavoro
Figura 6.5: Finestra di avvertimento per la creazione di una nuova cartella sul filesystem.
La procedura di caricamento di un nuovo workspace richiede di specificare i settaggi della regione
di lavoro cominciando dal sistema di riferimento e dalla proiezione cartografica. Se non è nota la
dicitura da utilizzare è sufficiente scrivere le iniziali della nazione a cui si riferiscono i dati che si
vogliono trattare e automaticamente verrà fatta una scelta della proiezione da utilizzare. Basterà
poi selezionare l’opzione corretta tra quelle proposte, aiutandosi con le note che compaiono al solo
passaggio del mouse sopra il nome, come mostrato in Figura 6.6. Nell’esempio proposto viene
creata una location in proiezione Gauss Boaga Fuso Ovest.
Figura 6.6: Finestra per la scelta dei parametri del sistema di riferimento e della proiezione cartografica in cui creare
il nuovo ambiente di lavoro.
90
6. Creazione di un nuovo ambiente di lavoro
Nella schermata successiva si presenta un riassunto dei parametri del sistema di riferimento
e della proiezione cartografica considerati. Tutti i parametri sono già predefiniti a un valore di
default, gli unici che si consiglia di variare per poter gestire al meglio l’ambiente di lavoro, sono
quelli relativi ai limiti della regione e alla risoluzione spaziale.
Ad esempio i parametri riportati in Figura 6.7 sono caratteristici per il Trentino. Per proseguire
basta confermare con un clic su Successivo.
Figura 6.7: Finestra riassuntiva dei parametri del workspace creato.
Si procede con la creazione del mapset, ovvero la sotto-cartella in cui effettivamente lavorare. Di
default viene proposto il mapset PERMANENT. È consigliabile creare nuovi mapset, scrivendo
il nome nello spazio in basso e cliccando sul pulsante Create. I mapset caricati nell’ambiente di
lavoro saranno quelli spuntati (mettendo la x nel riquadro che precede il nome del mapset).
In JGrass è possibile salvare o fare operazioni su mappe appartenenti a mapset diversi, tuttavia
si fa notare che nell’elaborazione dei comandi nativi di GRASS non è possibile fornire il mapset
utilizzato e quindi viene preso come riferimento quello di default, ovvero il primo della lista dei
mapset caricati. Si consiglia pertanto di usare normalmente workspace con un unico mapset attivo
e di ricorrere alla modalità multi-mapset sono per operazioni transitorie in modo da poter sfruttare
anche le elaborazioni con i comandi nativi di GRASS1 .
1
Per comandi Nativi di GRASS si intendono i comandi che vengono eseguiti all’interno di JGrass ricorrendo al
comando originale di GRASS. Questa operazione viene fatta in modo trasparente per l’utente dotando questi comandi
di un’interfaccia grafica del tipo standard di JGrass.
91
6. Creazione di un nuovo ambiente di lavoro
Figura 6.8: Finestra per la selezione dei mapset da caricare nel workspace creato.
Nella schermata successiva viene chiesto infine di assegnare il nome del workspace e una sua
breve descrizione come ad esempio quanto riportato in Figura 6.9.
Figura 6.9: Finestra per la scelta del nome dell’ambiente di lavoro da visualizzare in fase di caricamento.
Come ultima operazione è possibile decidere quali barre degli strumenti caricare di default nel
nuovo workspace in funzione delle elaborazioni che si dovranno fare sui dati (Figura 6.10).
92
6. Creazione di un nuovo ambiente di lavoro
Figura 6.10: Finestra per la scelta delle barre degli strumenti del nuovo ambiente di lavoro.
Cliccare su Successivo per terminare la creazione del nuovo ambiente di lavoro. Se la creazione
è andata a buon fine verrà visualizzata la schermata di Figura 6.11. Cliccare ancora una volta su
Fine per terminare il processo.
Figura 6.11: Finestra di chiusura della procedura guidata per la creazione di un nuovo ambiente di lavoro.
A questo punto il nuovo ambiente di lavoro sarà disponibile nella schermata di caricamento
93
6. Creazione di un nuovo ambiente di lavoro
dell’ambiente di lavoro (Figura 6.12) che appare cliccando sul primo pulsante a sinistra della barra
degli strumenti oppure selezionando la voce relativa nel menu File.
Figura 6.12: Finestra per il caricamento di un ambiente di lavoro in JGrass.
6.1.1
Caricamento di una location preesistente
Per il caricamento di un ambiente di lavoro precedentemente creato con GRASS o con versioni
precedenti di JGrass è necessario seguire la procedura descritta nel paragrafo precedente fino alla
scelta del percorso in cui creare il nuovo ambiente di lavoro (Figura 6.4) e selezionare la cartella
relativa a una location esistente. A questo punto l’utente viene mandato direttamente alla schermata dove avviene la scelta del mapset di lavoro (Figura 6.8). È possibile, anche in questo caso,
caricare uno o più mapset esistenti oppure crearne di nuovi e caricarli nel workspace creato.
Anche in questo caso il nuovo workspace creato sarà visualizzato nella lista dei possibili ambienti
di lavoro in fase di caricamento.
6.2
Scelta del sistema di riferimento e della proiezione
cartografica
La scelta del sistema di riferimento e della proiezione cartografica da utilizzare è estremamente
importante, di seguito sono riportate alcune informazioni essenziali ma probabilmente non esaustive. Scegliere il sistema di riferimento significa specificare l’ellissoide di riferimento e il suo
orientamento che definiscono la superficie planimetrica di riferimento della porzione di territorio
rilevato.
La proiezione cartografica definisce le regole proiettive che consentono di passare dalla rappresentazione sulla superficie di riferimento curva (ellissoide-Datum) alla superficie di riferimento piana
(carta).
94
6. Creazione di un nuovo ambiente di lavoro
In generale, per un dato Stato, la cartografia viene prodotta in un particolare sistema di riferimento al quale è associata una proiezione cartografica. Cosı̀, per l’Italia, generalmente si utilizza
cartografia nel sistema di riferimento Roma 1940 e proiezione cartografica di Gauss-Boaga. Più
recentemente, in analogia con gli altri stati dell’UE, si utilizza la proiezione UTM e il sistema
ETRF89. Spesso si tilizza impropriamente il termine WGS84 per indicare il sistema di riferimento
di dati le cui posizioni derivano dal post-processamento di misure GPS. Per le applicazioni GIS
questa improprietá non comporta effetti significativi sui valori delle coordinate dei dati a patto di
utilizzare sistemi di riferimento globali, come l’ITRF89, lo stesso WGS84 o, per l’Europa, l’ETRF89.
L’European Petroleum Survey Group (EPSG) ha standardizzato dei codici che rispettano questi
tipi di associazione e permettono una individuazione più agevole del sistema di riferimento e la
proiezione adottata nei vari Stati.
Per carte digitali codificate in un certi formati di file è possibile, attraverso alcuni comandi che
verranno illustrati in seguito, creare, a partire dal file stesso, una nuova location coerente con la
carta in termini di sistema di riferimento e proiezione. Questa operazione è possibile esclusivamente
per quei formati di file che includono al loro interno, oltre alla carta, anche le metainformazioni
che ne specificano il sistema di riferimento e la proiezione. Per i formati di file che non includono
queste informazioni (ad esempio i formati ASCII) è necessario creare manualmente una location
coerente con la carta che si vuole importare. In questi casi è possibile fare riferimento ai codici
EPSG che permettono la creazione di una location senza richiedere l’inserimento manuale di tutti
i parametri che definiscono il sistema di riferimento e la proiezione cartografica della carta.
In particolare in JGrass, nella schermata di selezione del sistema di riferimento e della proiezione (Figura 6.6) è possibile selezionare il codice EPSG opportuno e caricare automaticamente i
parametri specificati dall’EPSG.
Con riferimento all’Italia, tra le opzioni date per la scelta del sistema di riferimento e della
proiezione non compare la dizione Gauss-Boaga su Roma 1940. Questa associazione viene internazionalmente indicata attraverso due diciture, diverse a seconda della longitudine associata al
meridiano di riferimento italiano, quello che passa per Roma - Monte Mario.
• Italy zone 1 e Italy zone 2 (a seconda del fuso da utilizzare) se la longitudine del meridiano di riferimento è data rispetto al meridiano di Greenwich. In questo caso il valore della
longitudine del meridiano di riferimento è: 12 gradi 27 primi 08.4 secondi. La longitudine del
meridiano centrale del fuso ovest (o fuso 1) è: 9 gradi, mentre quella del fuso est (o fuso 2) è
15 gradi.
• Monte Mario / Italy zone 1 e Monte Mario / Italy zone 2 (a seconda del fuso da utilizzare) se la longitudine del meridiano di riferimento è posta uguale a 0 gradi. La longitudine
95
6. Creazione di un nuovo ambiente di lavoro
del meridiano centrale del fuso ovest (o fuso 1) è: -3 gradi 27 primi 8.399 secondi, mentre
quella del fuso est (o fuso 2) è 2 gradi 32 primi 51.6 secondi.
Si riportano di seguito le diciture e i codici corrispondenti validi per la proiezione cartografica e il
sistema di riferimento Gauss-Boaga su Roma 1940 utilizzati in Italia.
3003: Monte Mario / Italy zone 1
3004: Monte Mario / Italy zone 2
26591: Monte Mario (Rome) / Italy zone 1
26592: Monte Mario (Rome) / Italy zone 2
Nei casi in cui sia necessario lavorare in coordinate geografiche (φ e λ), riferite all’ellissoide di
riferimento, e non cartografiche (N e E), è comunque possibile specificare esclusivamente l’ellissoide
di riferimento e il suo orientamento (Datum). In questo caso il codice EPSG per creare una location
in coordinate geografiche riferite al sistema di riferimento Roma 1940 è:
4806: Monte Mario (Rome)
Nel caso sia necessario creare una location nella quale importare dati acquisiti con strumenti GPS
commerciali che non vengano quindi post-processati oppure dati provenienti da cartografia ufficiale
i codici EPSG di riferimento sono:
• per coordinate geografiche
4326: WGS 84 / latlong
• per coordinate cartografiche in UTM (zone italiane)
32632: WGS 84 / UTM zone 32N
32633: WGS 84 / UTM zone 33N
Nel caso di dati GPS post-processati e inquadrati nel sistema ETRF89:
• per coordinate geografiche
4258: ETRS89
• per coordinate cartografiche in UTM (zone italiane)
25832: ETRS89 / UTM zone 32N
25833: ETRS89 / UTM zone 33N
96
6. Creazione di un nuovo ambiente di lavoro
Nel caso di coordinate nel sistema di riferimento ED50 (EuropeanDatum 1950):
• per coordinate geografiche
4230: ED50
• per coordinate cartografiche in UTM (zone italiane)
23032: ED50 / UTM zone 32N
23033: ED50 / UTM zone 33N
Un esempio di cartografia in UTM su ED50 è quella di tipo escursionistico delle mappe edite di
Tabacco o Compass.
NOTA BENE
1. Per tutte le applicazioni di tipo GIS la differenza di coordinate tra il sistema WGS84 e la sua
materializzazione ETRF89 non è apprezzabile e quindi trascurabile. Risulta equivalente la
creazione di una location in uno dei due sistemi.
2. Non risulta significativa in questo contesto la differenza tra la dicitura ETRF89 ed ETRS89.
3. La differenza tra coordinate espresse nel sistema ED50 e il sistema ETRF89 o WGS84 è
mediamente pari a circa 200 metri per l’intero territorio italiano.
6.3
Importazione di dati raster
Una volta creato l’ambiente di lavoro nel giusto sistema di riferimento è indispensabile importare
i dati su cui effettuare le elaborazioni. Si può partire sia da mappe raster che da mappe vettoriali.
6.3.1
Import di mappe raster
Per importare una mappa raster ci sono diverse possibilità, a seconda del formato della mappa
che si deve importare in JGrass:
1. usare il comando r.in.ascii
2. usare il comando r.in.lidar
3. usare il comando r.in.gdal
97
6. Creazione di un nuovo ambiente di lavoro
4. copiare il file in una delle cartelle di JGrass 2 .
Il comando r.in.ascii
Attraverso il comando r.in.ascii
è possibile importare file ASCII nel formato di caratteristico
di GRASS o in quello ESRI GRID.
Figura 6.13: Interfaccia grafica del comando r.in.ascii di JGrass.
L’interfaccia grafica del comando è quella di Figura 6.13 e contiene:
• il nome e il percorso del file da importare, selezionato cliccando sul pulsante browse;
• il valore contenuto nella mappa che rappresenta i NOVALUE (per saperlo occorre aprire il
file con un qualsiasi editor di testo e di solito c’è già indicato il valoe della matrice dei dati
che rappresenta il NOVALUE);
• il nome della nuova mappa importata (eventualmente si può scegliere anche il mapset di
destinazione).
La mappa creata è dem e può essere visualizzata come mostrato in Figura 6.14. In questo caso la
risoluzione di lavoro è di 10 m, esattamente come quella della mappa importata, ma la regione di
calcolo è decisamente più grande. Lavorare con una regione di calcolo molto più grande di quella
delle mappe su cui vengono fatte le elaborazioni comporta un maggior dispendio di memoria e di
tempo, è quindi consigliabile ridefinire i parametri della regione.
2
È sufficiente copiare esternamente a JGrass il file nella cartella del mapset con il nome corrispondente al formato
del file, se questo è tra quelli supportati. La mappa diventa cosı̀ accessibile per le elaborazioni in JGrass.
98
6. Creazione di un nuovo ambiente di lavoro
Figura 6.14: Visualizzazione della mappa importata con il comando r.in.ascii.
Per definire i parametri della regione di calcolo si possono usare i due metodi illustrati nel
Paragrafo 5.2. In questo primo esempio vengono riportate, in Figura 6.15, tutte le informazioni
da definire per impostare la regione attiva alle dimensioni della mappa importata. È stato sufficiente selezionare la mappa nella casella seleziona una mappa e poi cliccare sul pulsante setta ad
una mappa. Facendo questa operazione ci si accorge che i limiti della regione vengono stabiliti
automaticamente.
Figura 6.15: Interfaccia grafica del comando per settare i parametri della regione attiva alle dimensioni della mappa
importata.
La visualizzazione della mappa con i nuovi parametri della regione è riportata in Figura 6.16.
Si fa notare che per una visualizzazione migliore si sono aggiustati i parametri dello zoom e si è
ridisegnata la mappa alla risoluzione di visualizzazione corrente con l’apposito pulsante nella barra
99
6. Creazione di un nuovo ambiente di lavoro
degli strumenti di visualizzazione
.
Figura 6.16: Visualizzazione della mappa importata con il comando r.in.ascii.
In questo modo è possibile importare tutte le mappe raster, nei formati ASCII della ESRI o di
GRASS, di cui si ha bisogno per le elaborazioni future.
Il comando r.in.lidar
Con il comando r.in.lidar si possono importare in JGrass i dati salvati nel formato di triplette
di punti a cui corrispondono le coordinate x,y,z. Il nome del comando deriva dal fatto che spesso i
dati dei rilievi laser altimetrici vengono forniti in questo formato. Ovviamente si possano importare
anche dati provenienti da altri software o da rilievi di altro tipo purché mantengano questo formato.
L’interfaccia grafica del comando è presentata in Figura 6.17 e richiede come valori:
1. il nome del file da importare;
2. la specifica se i dati si trovano già su un grigliato regolare o se sono dati sparsi irregolarmente
sul territorio;
3. il nome della nuova mappa creata
4. la specifica per l’importazione dei soli dati appartenenti alla regione attiva o di tutti i dati
del file (procedura che in molti casi può richiedere molto tempo)
5. la specifica di cosa fare con eventuali punti doppi, se considerare il minimo, il massimo o una
media dei valori relativi ad un unico punto (questo è per scegliere eventualmente se tener
100
6. Creazione di un nuovo ambiente di lavoro
conto della vegetazione o del suolo). Questa opzione non viene considerata se non ci sono
punti doppi nella mappa.
Figura 6.17: Interfaccia grafica del comando r.in.lidar di JGrass.
Il comando r.in.gdal
Questo comando è uno dei comandi della serie dei comandi nativi di GRASS e permette di
importare tutti i formati supportati dalle librerie GDAL3 . L’interfaccia è molto semplice e permette
di scegliere il file di input in qualsiasi cartella attraverso il pulsante browse e di definire le operazioni
che si possono fare:
1. scegliere la banda di colore da importare nel caso di importazione di file di immagini, se non
viene specificato un colore vengono importate tutte le bande di colore e viene creato un raster
per ogni banda (aggiungendo al nome il suffisso relativo al colore, ad esempio .red);
2. definire il nome della location dalla quale leggere la proiezione del dato
3. definire il nome della nuova location eventualmente da creare se le caratteristiche della
proiezione non dovessero essere congruenti con quelle dell’ambiente di lavoro corrente
4. trascurare le informazioni relative ai limiti della regione per poter importare anche mappe
esterne alla regione attiva
5. estendere i limiti della regione a quelli della mappa importata
6. elencare la lista dei formati supportati
3
www.gdal.org
101
6. Creazione di un nuovo ambiente di lavoro
7. considerare il numero della banda anziché il nome del colore nell’importazione di immagini.
Nell’esempio riportato viene selezionata l’opzione che permette di importare mappe anche esterne
alla regione attiva, la mappa che si è scelto di importare è una carta tecnica relativa ad una zona
prossima a quella del dem ma non coincidente.
Figura 6.18: Interfaccia grafica del comando r.in.gdal di JGrass.
Definiti i parametri da utilizzare in fase di elaborazione sarà sufficiente premere su ok per
eseguire i calcoli. L’evoluzione della procedura di calcolo viene visualizzata nell’interfaccia grafica
come output del comando originale di GRASS, se per qualche motivo ci si dovesse accorgere che
ci sono dei dati sbagliati o se comunque si dovesse interrompere il programma, basterà cliccare sul
pulsante interrompi per terminare l’operazione prima di raggiungere il risultato finale.
102
6. Creazione di un nuovo ambiente di lavoro
Figura 6.19: Output del comando r.in.gdal di JGrass.
Se ora si prova a visualizzare la mappa importata apparirà il messaggio d’avvertimento che la
mappa è completamente esterna alla regione visualizzata. Occorre quindi ridefinire i parametri
della regione, o estendendo la regione alla nuova mappa (Figura 6.20), oppure settando la regione
di lavoro in modo che contenga la mappa appena importata (Figura 6.21). In quest’ultimo caso sarà
necessario modificare anche la regione di default e settare anch’essa alla stessa mappa o estendere
quella esistente perché altrimenti si incorre nell’incongruenza data dal fatto che la regione attiva
rimane esterna alla regione di default.
103
6. Creazione di un nuovo ambiente di lavoro
Figura 6.20: Estensione della regione attiva alla nuova mappa importata con il comando r.in.gdal.
Figura 6.21: Definizione della regione attiva alla nuova mappa importata con il comando r.in.gdal.
Nel caso mostrato se si ingrandisce un riquadro della mappa si possono vedere molto bene i
dettagli della carta tecnica provinciale del Trentino (Figura 6.22). La risoluzione dell’ambiente di
lavoro, se si setta la regione sulla nuova mappa importata, passa da 10 m a 1 m. I dettagli della
scala della mappa e della risoluzione di lavoro si trovano nella parte inferiore del monitor. Se si
effettuano ingrandimenti cosı̀ spinti con uno zoom a finestra su una parte della mappa è meglio
ridisegnare la mappa per poterla visualizzare adeguatamente.
104
6. Creazione di un nuovo ambiente di lavoro
Figura 6.22: Ingrandimento di una porzione della carta tecnica della provincia di Trento importata con r.in.gdal.
6.3.2
Import di mappe vettoriali
Per importare mappe vettoriali è sufficiente visualizzarle con il comando d.shapefile (Paragrafo
) e scegliere la cartella di provenienza. In JGrass si mantiene come formato di scambio il formato
shapefile e si effettuano tutte le elaborazioni partendo da questo. Se si usano i comandi nativi di
GRASS, che ha un suo formato specifico per le mappe vettoriali, sarà il comando stesso ad effettuare tutte le elaborazioni ulteriori per passare da un formato all’altro e l’utente dovrà specificare
solamente i nomi della mappa di partenza e di arrivo sempre in formato shapefile.
6.4
Riproiezione dei dati
In questa sezione verrà spiegato il comando r.proj che permette di riproiettare mappe raster da
un sistema di riferimento all’altro. Anche questo comando fa parte del set di comandi nativi di
GRASS implementati in JGrass. Ne esiste anche la versione per il formato di dati vettoriale, ma
per ora non è ancora stata creata l’interfaccia grafica. Tutti i comandi nativi di GRASS per i quali
non è stata ancora creata l’interfaccia grafica sono eseguibili da console (Capitolo 9).
Per quanto concerne i dati raster, per riproiettare una mappa da una location ad un’altra
caratterizzata da una proiezione cartografica diversa. Si procede come segue. Si supponga di dover
per passare dei dati dalla proiezione Gauss Boaga Fuso Ovest alla UTM-WGS84. Sono necessarie
due operazioni:
105
6. Creazione di un nuovo ambiente di lavoro
1. creazione di una location nella proiezione desiderata (in questo caso UTM-WGS84)
2. riproiettare i dati necessari con il comando r.proj
La prima operazione consiste nel ripetere quanto riportato nel Paragrafo 6.1: Creazione di
una location variando i parametri della proiezione e inserendo quelli corrispondenti alla proiezione
UTM-WGS84 (Paragrafo 6.2). Le operazioni sono esattamente le stesse del caso precedentemente
illustrato salvo la definizione dei parametri della proiezione.
I parametri della proiezione da inserire nella finestra di Figura 6.6 per la creazione di una location
in proiezione UTM-WGS84 sono riportati di seguito. Si ricorda che l’Italia si trova in parte nella
zona 32 e in parte nella zona 33 dell’emisfero nord della rappresentazione utilizzata nella proiezione
UTM. Si dovrà quindi scegliere dal file dell’EPSG, sempre tramite l’interfaccia grafica, i parametri
corrispondenti a:
32632: WGS 84 / UTM zone 32N
Inserendo nell’apposita casella il nome UTM WGS84 e scorrendo dal menu a tendina i risultati
trovati si riuscirà a identificare la proiezione desiderata come riportato in Figura 6.23.
Figura 6.23: Scelta dei parametri della proiezione UTM-WGS84 nella procedura guidata di creazione di un nuovo
ambiente di lavoro.
Per una miglior gestione dei dati si inseriscono dei valori nei limiti della regione, anche in questo
caso i valori sono tipici del Trentino. Il risultato è riportato in Figura 6.24. Premendo sul pulsante
106
6. Creazione di un nuovo ambiente di lavoro
avanti si accede ai passi successivi che permettono di definire il mapset di lavoro e le barre degli
strumenti da caricare.
Figura 6.24: Finestra riassuntiva dei parametri della proiezione UTM-WGS84 nella procedura guidata di creazione
di un nuovo ambiente di lavoro.
La scelta del nome da visualizzare nell’interfaccia iniziale di caricamento dell’ambiente di lavoro,
quando si hanno dati in più proiezioni, dovrebbe contenere anche un’indicazione del nome della
proiezione, in questo caso si può inserire per esempio trentino utm.
Una volta creato il nuovo ambiente di lavoro nella proiezione UTM si può accedervi e, tramite
il comando r.proj, riproiettare i dati della location in Gauss Boaga Fuso Ovest. Questo comando
richiede come dati di input:
• il nome del mapset della mappa di input che viene scelto attraverso il pulsante browse
• il nome della mappa di input, che deve inserire l’utente manualmente
• il nome della mappa di output
• la risoluzione della mappa di output, che viene già settata al valore della risoluzione corrente
dell’ambiente di lavoro
• il metodo di interpolazione da usare
• di elencare le mappe presenti nella location di input
107
6. Creazione di un nuovo ambiente di lavoro
• di non ottimizzare il ritaglio della mappa ai confini della regione attiva
Il comando si presenta come mostrato in Figura 6.25 dove si è scelto di riproiettare la mappa dem
nel nuovo sistema di riferimento.
Figura 6.25: Interfaccia grafica del comando r.proj in JGrass.
Quando l’esecuzione è stata completata sarà possibile visualizzare la mappa dem e continuare con
le operazioni indifferentemente nella location Gauss Boaga Fuso Ovest o in quella UTM-WGS84.
108
7
Elaborazioni particolari
In questo paragrafo vengono riportate alcune soluzioni utili per le elaborazioni su mappe raster
e vettoriali. Si tratta di soluzioni preconfezionate per l’utente ma potrebbero non essere l’unica
strada per raggiungere il risultato voluto.
7.1
Creazione delle linee di livello partendo dal dem
Nelle elaborazioni geomorfologiche è necessario avere a disposizione un dem in formato raster,
tuttavia spesso si devono esportare i dati per le elaborazioni grafiche in altri programmi, risulta
quindi utile avere un file con le linee di livello creato a partire dal dem. Il comando da usare in
questo caso è r.dem2contour la cui interfaccia grafica è quella di Figura 7.1.
Figura 7.1: Interfaccia grafica del comando r.dem2contour in JGrass.
I dati da inserire sono:
1. nome della mappa raster da cui creare le linee di livello,
2. nome della cartella in cui salvare il file di output in formato shapefile,
3. nome del file di output,
4. intervallo tra le linee di livello1 ,
5. formato del file di output: shapefile o dxf.
Anche in questo caso l’elaborazione del comando viene fatta all’interno dell’interfaccia grafica,
si può in ogni momento interrompere il programma oppure a fine elaborazione scorrere i messaggi
1
Il passo tra le linee di livello deve essere superiore alla risoluzione della mappa di partenza altrimenti si rischia
di forzare le linee di livello su dati non reali.
7. Elaborazioni particolari
di output. Il fatto che in alcuni casi ci siano degli errori segnalati durante l’elaborazione non
compromette necessariamente la buona riuscita del programma. Se si prova a visualizzare il file
creato si ottiene quanto riportato in Figura 7.2.
Figura 7.2: Risultato dell’elaborazione del comando r.dem2contour sovrapposto al modello del terreno originale.
7.2
Creazione di un dem partendo dalle curve di livello
Altrettanto utile è la possibilità di creare un dem partendo dalle linee di livello. Se il dato è
in formato shapefile è possibile leggere il file e interpolare le linee di livello per la creazione della
mappa del modello del terreno. Il comando da utilizzare in questo caso è v.contour2dem nel menu
Vettoriale (Figura 7.3). Questo comando è molto semplice e richiede come dati di input il nome
dello shapefile contenente le linee di livello e il nome e la cartella della mappa di output. La
risoluzione della mappa di output è quella del mapset corrente, ovvero quella visualizzata nella
parte inferiore del monitor.
Figura 7.3: Interfaccia grafica del comando v.contour2dem di JGrass.
110
7. Elaborazioni particolari
L’operazione di interpolazione di linee di livello per la creazione di un raster richiede molto
tempo, l’evoluzione della procedura è comunque visualizzata nella finestra del comando. Qui è
anche possibile verificare l’andamento del procedimento di calcolo e la presenza di eventuali errori
che non potranno essere modificati mentre l’operazione è in corso, bensı̀ di dovrà interrompere
l’elaborazione, rimediare all’errore segnalato e ripetere l’operazione da zero.
Nell’uso dei comandi nativi di GRASS è fondamentale che le mappe di output non esistano
già. Se esiste una mappa con lo stesso nome di quella risultante l’elaborazione verrà interrotta
con un errore del tipo “mappa già esistente”. In particolare nel comando v.contour2dem sono
stati incorporati diversi comandi di GRASS, per questo l’output del comando è molto ricco di
informazioni. Il risultato dell’interpolazione è mostrato in Figura 7.4 con in trasparenza le curve di
livello originali. Naturalmente è possibile effettuare dei calcoli sulla mappa risultante per eliminare
le eventuali incongruenze o per isolare una sola parte della regione. Ad esempio si potrebbe eliminare
tutta la parte gialla nella zona nord della mappa di Figura 7.4 con un semplice mapcalc assegnado
a null il valore corrispondente al numero in giallo.
Figura 7.4: Risultato dell’interpolazione con il comando v.contour2dem di JGrass.
111
7. Elaborazioni particolari
112
8
Database ambientali
Gran parte delle informazioni di monitoraggio ambientale messe a disposizione dagli enti preposti
hanno associata l’informazione spaziale. Per questo vengono utilizzati i GIS come contenitori e
visualizzatori di dati ambientali di diverso tipo.
Se la mole di dati a disposizione supera un limite critico per il funzionamento dei pc, o se,
comunque, i dati devono essere condivisi tra più utenti, si ricorre all’uso dei database. Ci sono
diverse categorie di database, in ambito ambientale ci si riferisce principalmente a due tipologie di
database, i database di punti e i database spaziali. La distinzione tra database di punti e database
spaziali è proprio nel contenuto del database.
I database di punti contengono le informazioni rilevate in punti noti sul territorio e quindi
contengono “tabelle” con le coordinate dei punti, la quota e le misure effettuate inserite sottoforma
di attributo della tabella (tutti questi dati sono dei campi nelle tabelle del database).
I database spaziali invece hanno un campo riservato alla geografia e geometria della forma
inserita che fa riferimento a una tabella apposita che ne contiene la descrizione geometrica. In
questi dati si tiene conto anche della proiezione e del datum nonché della relazione tra le forme
(topologia).
Per la connessione ai database da JGrass è necessario definire il nome e la posizione del database
e la connessione avverrà attraverso un client per database.
8.1
Installazione e utilizzo del client di database
Il client per i database che viene usato in questa sede si chiama SQuirreL SQL1 ed è anch’esso
distribuito con licenza Open Source, sarà sufficiente quindi scaricare il software dal sito e installarlo.
Il file scaricato è sempre un file di estensione .jar e quindi l’installazione e i problemi che si possono
incontrare in funzione del diverso sistema operativo sono molto simili a quelli illustrati nel Capitolo
3: Installazione2 .
SQuirreL SQL Client è un programma con interfaccia grafica in Java che permette all’utente
di vedere le strutture, consultare le tabelle e i dati contenuti in un database attraverso le librerie
JDBC.
Il client si può interfacciare a diversi tipi di database semplicemente caricandone i drivers che si
1
http://squirrel-sql.sourceforge.net/
Alcune note pratiche per l’installazione di questo software in particolare sono riportate anche al link:
http://squirrel-sql.sourceforge.net/
2
8. Database ambientali
possono scaricare direttamente dal sito, nel caso illustrato di seguito viene mostrata la connessione
con il database Open Source PostgreSQL. Una volta installato il software di base è sufficiente copiare
il file jar corrispondente all’estensione desiderata nella cartella lib. Per il database PostgreSQL il
driver da installare si chiama postgresql-8.0-314.jdbc3.jar.
8.1.1
Creazione delle connessioni a database remoti
Per definire le caratteristiche di connessione al database è necessario avviare SQuirreL e creare
una nuova connessione “alias”. La prima schermata di avvio di SQuirreL è riportata in Figura 8.1.
Figura 8.1: La schermata di avvio di SQuirreL.
Le cose importanti da notare sono le due finestre visualizzate dal programma che contengono
la lista dei drivers disponibili e installati, sulla sinistra, e l’elenco dei database ai quali è possibile
connettersi in centro. Nell’esempio riportato è importante controllare che tra i drivers sia stato
caricato quello relativo a PostgreSQL. A questo punto è possibile creare una nuova connessione a
database cliccando sul pulsante + della tabella aliases (Figura 8.2). Le informazioni che vengono
richiese nella creazione di una nuova connessione sono:
1. nome della connessione
2. driver utilizzato (tipo di database al quale connettersi)
3. URL del database, scritto secondo la sintassi specifica che viene suggerita all’avvio della
procedura
4. username
114
8. Database ambientali
5. password
Tutte le altre informazioni richieste possono essere lasciate con l’impostazione di partenza.
Figura 8.2: Creazione di una nuova connessione a database in SQuirreL.
In questo modo è possibile connettersi a database di punti, come il flanginec (Trentino), e a
database spaziali indifferentemente, specificando il nome della connessione e l’URL d’origine. Per
esempio è possibile connettersi al database spaziale di osnabrueck (Figura 8.3) o a quello di spearfish
(Figura 8.4).
Figura 8.3: Creazione di una nuova connessione a database spaziale in SQuirreL.
115
8. Database ambientali
Figura 8.4: Creazione di una nuova connessione a database spaziale in SQuirreL.
8.1.2
Connessione e visualizzazione dei dati
Per accedere al database da JGrass è necessario stabilire prima una connessione al database in
SQuirreL. Questa connessione deve rimanere attiva durante la visualizzazione e l’utilizzo dei dati
del database.
Per connettersi a un database creato è sufficiente un doppio clic sul nome del database o scegliere
l’opzione dal menu a tendina. Confermati tutti i dati di connessione è possibile visualizzare la
struttura del database. Se al primo accesso non compare la struttura completa (Figura 8.5) scegliere
refresh dal menu a tendina visualizzato cliccando con il tasto destro del mouse in corrispondenza
del nome del database.
In questa sede non è possibile indagare nel dettaglio la struttura di un database e tutte le
informazioni collegate, pur essendo questo un database molto semplice in quanto database di punti.
Le uniche informazioni strettamente necessarie per capire i dati contenuti sono quelle che si trovano
nella cartella public - TABLE. In ognuna delle schede relative alle tabelle presenti nel database
(nell’esempio c’è solo la tabella datizinco) si possono trovare informazioni di diverso tipo sui dati.
Le informazioni più importanti sono quelle che si trovano nella scheda Columns e Content. Le
informazioni relative ai dati di concentrazione di zinco misurati al suolo contenuti nella tabella
datizinco sono riportate in Figura 8.6 e 8.7.
116
8. Database ambientali
Figura 8.5: Struttura del database flanginec in SQuirreL.
Figura 8.6: Tipo di dati contenuti nel database flanginec (cartella Columns) visualizzati in SQuirreL.
117
8. Database ambientali
Figura 8.7: Visualizzazione dei dati del flanginec (cartella Content) in SQuirreL.
A questo punto si possiedono tutte le informazioni necessarie per l’elaborazione dei dati in
JGrass.
8.2
Come interfacciare JGrass ai database
La connessione creata attraverso SQuirreL non è sufficiente perché JGrass possa accedere ai
dati. Essa rappresenta il punto di partenza e sicuramente la condizione necessaria per l’utilizzo
dei dati. Per l’accesso ai dati è necessario dare delle informazioni a JGrass sul tipo di database al
quale collegarsi e queste sono diverse a seconda si tratti di un database di punti o di un database
spaziale.
8.2.1
Interfaccia per database di punti
I database di punti, non contenendo le informazioni geometriche, hanno bisogno di essere integrati all’interno di un ambiente di lavoro di JGrass. Le informazioni relative ai database di punti
sono contenute in un file della cartella sql del mapset (Paragrafo 3.5). Se questa cartella non fosse
già stata creata da JGrass in fase di creazione del nuovo ambiente di lavoro sarà sufficiente crearla
esternamente a JGrass con i comandi classici di creazione di cartelle sul filesystem.
Per la creazione di questo file non esistono modalità grafiche, è necessario che l’utente scriva il
118
8. Database ambientali
file, secondo le specifiche riportate nell’esempio, con un editor di testo e lo salvi nella cartella sql
del mapset con estensione .sql. L’estensione in questo caso è di fondamentale importanza in quanto
per la connessione JGrass utilizza questo tipo di file.
Le informazioni che devono essere contenute nel file di connessione sono sostanzialmente le stesse
che vengono utilizzate nella connessione da SQuirreL con la sintassi tipica dei linguaggio xml. Il
file deve contenere:
• nome del dataset
– tipo di driver utilizzato per la connessione con le JDBC
– indirizzo url del database (lo stesso utilizzato in SQuirreL)
– nome utente
– password
• le informazioni (campi) da leggere
– nome della colonna
– tipo di dato contenuto nella colonna
• la query da fare al database per l’estrazione dei dati
L’esempio del file sql per la connessione al database di flanginec è riportato in Figura 8.8, ovviamente
le specifiche possono variare a seconda dei casi specifici, e in particolare se ci si interfaccia al database
flanginec i dati rimarranno gli stessi ma sarà necessario specificare l’indirizzo corretto del database.
Figura 8.8: Esempio di file sql per la connessione a un database di punti in JGrass.
119
8. Database ambientali
Come mostrato in Figura 8.8 è importantissima la sintassi con cui vengono inseriti i dati. Si fa
notare che ogni campo del file deve essere aperto con i simboli <> e chiuso con < / >.
Le query da database
Le interrogazioni che vengono inviate al database per estrarre i dati desiderati sono chiamate
query. Per scrivere le query è necessario rispettare parametri e sintassi specifiche. In SQuirreL
è possibile eseguire query direttamente usando l’editor grafico. Questo permette di controllare i
risultati della query ed eventualmente modificarla per ottenere i parametri necessari alle successive
elaborazioni. In Figura 8.9 e Figura 8.10 sono riportate due query d’esempio. Nella prima vengono
estratti tutti i campi dalla tabella datizinco, mentre nella seconda vengono estratti solo i campi est
e nord dalla stessa tabella.
Figura 8.9: Esempio query al database di punti in SQuirreL.
120
8. Database ambientali
Figura 8.10: Esempio di file query al database di punti in SQuirreL.
La query che è stata scritta nel file di JGrass è quella riportata in Figura 8.11 che estrae dal
database i campi east, north, elevation e sample di punti che hanno un valore di concentrazione di
zinco al suolo (colonna sample) maggiore di 500.
121
8. Database ambientali
Figura 8.11: Query al database di punti in SQuirreL.
Ora sarà possibile visualizzare i dati contenuti nel database corrispondente alla configurazione
salvata nel file sql direttamente da JGrass. Per fare questo è necessario visualizzare i dati come
punti (sites) ovvero dal menu di visualizzazione scegliere l’icona
. La procedura di visualizzazione
integrata nel comando prevede che nella prima schermata sia possibile scegliere la fonte dei dati da
visualizzare, in questo caso (Figura 8.12) si devono visualizzare dati nel formato sqldatabase.
122
8. Database ambientali
Figura 8.12: Prima schermata della procedura di visualizzazione di dati puntuali da un database PostgreSQL.
Cliccando sul pulsante Avanti si possono scegliere le mappe da visualizzare. Ognuna di queste
mappe corrisponde ad una query specifica al database che è contenuta nel file sql corrispondente.
Per questo nell’interfaccia grafica in realtà non compaiono i nomi delle mappe di punti bensı̀ i nomi
dei file contenuti nella cartella sql (Figura 8.13).
Figura 8.13: Prima schermata della procedura di visualizzazione di dati puntuali da un database PostgreSQL.
Dopo aver selezionato la mappa desiderata premere sul pulsante Avanti e successivamente Fine
per visualizzare i punti. A questo punto tutte le operazioni che si possono effettuare sui sites propri
di JGrass si possono fare anche sui punti estratti da un database. In particolare molto interessanti
sono le elaborazioni geostatistiche di cui si parlerà nei paragrafi successivi.
123
8. Database ambientali
8.2.2
Interfaccia per database spaziali
Un database spaziale, come già anticipato sopra, contiene tutte le informazioni sulla geometria e
sul sistema di riferimento e proiezione cartografica. In esso possono essere contenute potenzialmente
tutte le features che un GIS può supportare: punti, linee, polilinee e poligoni.
Anche per la connessione di JGrass a un database di questo tipo è necessario scrivere un file
di impostazione della connessione. Paradossalmente questo file, ovvero questo tipo di connessione
è molto più semplice di quella usata per i dati puntuali perchè nei database spaziali le tabelle
contengono tutte le informazioni necessarie per la visualizzazione. Si tratta quindi di aggiungere
una fonte di dati che è denominata Postgis. Postgis fa riferimento alla visualizzazione di dati in un
database di tipo PostgreSQL con estensione spaziale Postgis.
Prima di passare al lato JGrass vengono visualizzati i dati del database spaziale di Spearfish. Come si può osservare in Figura 8.14 in questo caso oltre alle tabelle contenenti i dati (roads, archsites,
bugsites e streams) sono presenti delle altre tabelle che contengono le informazioni spaziali:
• geometry column: contiene la descrizione della geometria in formato binario di tutte le forme
geometriche contenute nel database. Ad essa fanno riferimento tutti i dati del campo the geom
delle tabelle di dati.
• spatial ref sys: contiene le informazioni sul sistema di riferimento e proiezione cartografica
Figura 8.14: Visualizzazione dei dati del database spaziale Spearfish in SQuirreL.
In ogni tabella dati sono contenuti, oltre ai dati propri della tabella, anche dei campi che fanno
riferimento alla geometria e alla posizione di ogni entità.
124
8. Database ambientali
Il database di prova FRIDA
Un esempio di connessione a database spaziale contenente entità di diverso tipo come punti, linee
e poligoni è il set di dati vettoriali libero chiamato FRIDA che si riferisce alla città di Osnabrueck
in Germania.
Per poter visualizzare questi dati è necessario creare un nuovo ambiente di lavoro che faccia
riferimento a una location nel sistema di riferimento e proiezione cartografica del set di dati. Il
meccanismo di creazione di un nuovo ambiente di lavoro è analogo a quello riportato nel Paragrafo
6.1: Creazione di una location. I dati vengono forniti nel sistema di riferimento UTM con datum
Potsdam ed ellissoide di bessel. Cercando tra le opzioni contenute nel file EPSG si trova che il
codice di riferimento è:
31463: DHDN / 3 - degree Gauss zone 3
Questa operazione non è però del tutto sufficiente per definire tutti i parametri della proiezione.
Nella schermata successiva è necessario inserire i dati dei limiti della regione e del parametro towgs84
che vengono riportati di seguito.
• towgs84: 606.0,23.0,413.0
• north: 5801000
• south: 5787000
• east: 3445000
• west: 3427000
Per finalizzare la connessione con il database è ora necessario scrivere il file di configurazione
che dovrà essere messo nella cartella relativa alla location. Il file deve avere estensione xml e, in
particolare, nome postgis.xml. La sintassi di creazione del file è la stessa di quella utilizzata per la
creazione del file di connessione ai database di punti, ma in questo caso, Figura 8.15, deve contenere
solamente l’informazione di connessione al database:
• denominazione del database
• nome del database sul server
• indirizzo del server “host”
• utente
• password
125
8. Database ambientali
Figura 8.15: Esempio del file di connessione di JGrass al database spaziale Osnabrueck.
Dopo la creazione del file di connessione si può avviare JGrass e procedere con la visualizzazione
dei dati. In JGrass deve essere aperto l’ambiente di lavoro FRIDA creato precedentemente. Per
visualizzare i dati da PostgreSQL - Postgis si utilizza l’icona apposita dal menu Visualizza
.
Se non è stato scritto il file di configurazione della connessione verrà visualizzato un messaggio di
errore (Figura 8.16) dove viene indicato il percorso e il nome del file di configurazione necessario
per la definizione del database.
Figura 8.16: Messaggio d’errore di connessione al database spaziale con Postgis.
Se invece il file postgis.xml è stato creato correttamente e salvato nella cartella della location di
JGrass si potrà procedere con la visualizzazione dei dati. La finestra per la visualizzazione dei dati
da Postgis è molto diversa da quelle standard di visualizzazione di JGrass e permette di scegliere
il database al quale connettersi e la tabella da visualizzare (Figura 8.17).
126
8. Database ambientali
Figura 8.17: Prima finestra per la visualizzazione di dati dal database spaziale con Postgis.
Scorrendo il menu a tendina dei due campi, quello contenente l’elenco dei database disponibili
per quell’ambiente di lavoro e quello con la lista delle tabelle contenute, si può scegliere la mappa
da visualizzare (Figura 8.18).
Figura 8.18: Finestra per la scelta della mappa da visualizzare dall’elenco dei dati del database spaziale.
In questo caso si possono visualizzare poligoni, linee e punti come riportato in Figura 8.19
Figura 8.19: Visualizzazione dei dati del database spaziale FRIDA.
127
8. Database ambientali
128
9
Uso della console
JGrass, nato originariamente come interfaccia grafica di GRASS, si propone di rendere acces-
sibili agli utenti meno esperti comandi e algoritmi molto avanzati sviluppati in ambito scientifico.
JGrass d’altra parte è quindi anche uno strumento di sviluppo di moduli in ambiente accademico
e quindi uno strumento usato per fare ricerca. Una delle particolarità di JGrass è quella di conciliare queste due tendenze fornendo sia un ambiente completamente grafico che un ambiente di
“programmazione” non grafico. La console è uno strumento che permette di eseguire un comando
o una sequenza di comandi inserendo a mano tutti i dati necessari per l’elaborazione.
La console di JGrass per il momento non è cosı̀ ben strutturata come quella di GRASS ma
consente di avere:
• completamento del nome del comando
• visualizzazione dei parametri necessari per l’elaborazione
• esecuzione di script per l’elaborazione in serie di diversi comandi
9.1
Esecuzione in console dei comandi di JGrass
Per visualizzare la console l’icona da selezionare è
e l’interfaccia di JGrass si modifica
visualizzando la console nella parte inferiore del monitor. La console cosı̀ come è mostrata in
Figura 9.1 è nella sua configurazione standard.
Figura 9.1: La console di JGrass in configurazione standard.
La console contiene:
• prompt: ovvero una scritta che definische lo stato di attesa di inserimento dati nella console
•
comando per ingrandire la console
•
comando per rimpicciolire la console
•
comando per visualizzare tutte le informazioni dell’esecuzione dei comandi
9. Uso della console
Quando in console appare la scritta JGrass: significa che è possibile inserire un nuovo comando,
altrimenti la console è occupata e sarà necessario attendere la fine dell’esecuzione del comando
scritto precedentemente per poterne digitare uno nuovo.
Se si desidera eseguire un comando da console è necessario sapere, anche solo indicativamente,
il nome del comando da eseguire. ANche nella console di JGrass esiste infatti la possibilità di
completare il comando automaticamente digitando le prime lettere del comando e premendo il
tasto tab. Per esempio se si prova a cercare il comando d.rast è possibile scrivere solamente le
prime due lettere e poi premere il tasto tab una volta per visualizzare la lista dei comandi di
JGrass che cominciano per le lettere digitate. Ovviamente più lettere si digitano e meno saranno i
comandi visualizzati.
Per eseguire un comando da console è necessario inserire tutti i parametri del comando (quelli
che normalmente vengono inseriti da interfaccia grafica) preceduti da una stringa che ne definisce
il tipo. Per capire cosa si deve scrivere a console per eseguire il comando è sufficiente scrivere il
comando seguito dalla stringa –usage. Per esempio per quanto il comando h.slope:
JGrass:
h.slope --usage
premere invio
Usage:
h.slope [--quiet] [--verbose] [--version] [--usage] --pit <pit> --pitmapset
<pitmapset> [--pitformat <pitformat>] --flow <flow> --flowmapset <flowmapset>
[--flowformat <flowformat>] --slope <slope> [--slopemapset <slopemapset>]
[--slopeformat <slopeformat>] [--usegui]
Il comando fa parte dei comandi di analisi geomorfologica integrati in JGrass e richiede come
input la mappa del modello digitale del terreno depittato (pit), la mappa delle direzioni di drenaggio
(flow) e da come output la mappa delle pendenze (slope). Le opzioni che sono contenute tra
parentesi quadrate non sono indispensabili per l’esecuzione del comando e possono essere omesse,
mentre quelle che non sono contenute da parentesi quadrate devono essere specificate.
Alcune opzioni sono particolari e sono presenti per tutti i comandi:
• –quiet che permette di seguire l’evoluzione del comando, in realtà in JGrass non è un’opzione
molto significativa
• –verbose che mostra tutto l’evoluzione del comando e i messaggi interni a console, questa
opzione si può attivare anche con l’icona delle informazioni relative alla console
• –usage che permette di visualizzare la stringa delle opzioni riportata sopra
130
9. Uso della console
• –usegui che fa partire l’interfaccia grafica direttamente da console, è l’analogo di cliccare
sull’icona del comando.
Per eseguire il comando h.slope da console si dovrà scrivere quindi:
h.slope --pit pit --pitmapset trentino --flow flow --flowmapset trentino --slope
slope --slopemapset trentino
e per visualizzare la mappa creata il comando:
d.rast slope
9.2
Scripting
JGrass utilizza come linguaggio di scripting il linguaggio Java Beanshell. Il linguaggio BeanShell
è un ambiente di interpretazione del linguaggio Java piccolo, libero e utilizzabile all’interno di sistemi
più complessi con le caratteristiche di un linguaggio di scripting a oggetti ma scritto in Java. Il
pregio maggiore di Beanshell è che in esso si possono eseguire sia comandi ed espressioni standard
di Java che utilizzare comandi e sintassi di shell scripting.
Gli scripts in JGrass si devono creare all’esterno del programma in files di testo con apposita
formattazione. Per la loro esecuzione è sufficiente che essi vengano salvati nella sotto cartella
etc/scripts/ della cartella di installazione di JGrass con l’estensione .bsh.
Nella cartella scripts con l’installazione di JGrass viene automaticamente creato uno script di
prova dal nome test.bsh. In questo script di esempio sono stati inseriti i comandi base per cui si
potrebbe voler utilizzare uno script e in particolare la sintassi per eseguire i comandi propri di
JGrass. In uno script è possibile inserire anche cicli per la lettura o scrittura di mappe e opportuni
filtri per estrarre solo alcuni elementi da una lista di oggetti in memoria.
Esempi di sintassi di script di JGrass sono riportati di seguito:
Scrittura di stringhe di testo a video
I comandi da eseguire sono caratterizzati dalla sigla jg prima del comando di scripting, per
esempio quello che in linguaggio bash classico è il comando echo in JGrass diventa jg.echo. Attraverso questo comando si possono visualizzare delle stringhe di testo direttamente nella console di
JGrass. La sintassi da seguire è la seguente:
jg.echo(Testo che si desidera visualizzare a video);
è estremamente importante inserire il punto e virgola alla fine di ogni stringa di comando come
richiesto dal linguaggio Beanshell.
131
9. Uso della console
Utilizzo dei comandi di JGrass
Si possono utilizzare i moduli utilizzati nella programmazione base di JGrass per avere delle
informazioni più specifiche per esempio informazioni sull’ambiente di lavoro, come ad esempio il
nome del mapset e della location di lavoro:
jg.getLocation().getName()
e inserire il risultato in una variabile definita nello script:
mapsetNames =jg.getMapsetNames()
Per leggere le mappe contenute all’interno del mapset si può utilizzare un ciclo del tipo di quello
riportato di seguito:
String[] mapnames;
inizializzazione della variabile mapnames
for(int i = 0; i ¡ mapsetNames.length; i++)
definizione del ciclo
{
jg.echo(mapset: + mapsetNames[i]);
scrittura a video del nome del mapset
mapnames = jg.getMapnames(mapsetNames[i]);
salvataggio nella variabile mapnames del nome della mappa i-esima
for(int j = 0; j ¡ mapnames.length; j++ )
}
jg.echo( map + j + : + mapnames[j]);
scrittura a video del nome delle mappe
}
}
Per conoscere i limiti della regione attiva si utilizza il comando:
active = jg.getActiveRegion();
inizializzata la variabile active è possibile accedere singolarmente a ciascun limite della regione. Se
si desidera conoscere il limite nord della regione attiva quindi sarà sufficiente scrivere:
north = active.getNorth();
Per eseguire un comando di JGrass è necessario importare il comando nello script. Per esempio
per il comando d.rast:
import bsh.commands.d.rast.*;
e successivamente eseguirlo seguendo la sintassi che si utilizzerebbe per eseguire il comando da
console con due accorgimenti:
132
9. Uso della console
• il comando verrà sostituito da un nuovo comando che si ottiene sostituendo nel nome del
comando originale al punto il trattino basso
e aggiungendo la parola .invoke.
• al comando seguiranno gli argomenti necessari in fase di esecuzione
• in coda si devono sempre inserire le due parole this.interpreter, this.namespace
Per visualizzare la prima mappa contenuta nel mapset si dovrà scrivere dunque:
import bsh.commands.d.rast.*;
d rast.invoke(mapnames[0], this.interpreter, this.namespace);
9.3
Esecuzione in console dei comandi di GRASS
I comandi nativi di GRASS che non sono ancora stati dotati di interfaccia grafica possono essere
eseguiti direttamente da console. La modalità di esecuzione è la stessa usata in GRASS, se non è
nota la sintassi è sufficiente scrivere il comando e premere invio e verrà visualizzata in console la
pagina del manuale di GRASS relativa.
Purtroppo per i comandi nativi di GRASS non funziona il completamento del comando, è quindi
necessario conoscerne almeno il nome e digitarlo a video per l’esecuzione diretta o la visualizzazione
della pagina di auito.
In JGrass si possono eseguire tutti i comandi di GRASS che non richiedono interazione con
l’utente e questo significa che possono essere eseguiti tutti i comandi sia raster che vettoriali di cui
si possono inserire i parametri necessari già al momento della definizione del comando. Una lista
di tutti i comandi di GRASS. L’output del comando se sono mappe vengono create nel mapset
presente, se invece si trata di una serie di informazioni a video, queste vengono visualizzate nella
console.
Potenzialmente tutti i comandi di GRASS possono essere eseguiti in JGrass, ancora non sono
stati testati e suddivisi i comandi definiti interattivi e quelli che invece non lo sono e non sono
stati provati i comandi per la verifica del risultato. Nel paragrafo successivo è riportato l’elenco
completo dei comandi di GRASS1 con la spiegazione di massima del comando. Purtroppo in questa
sede, non essendo ancora stato completato il testing e la verifica, i comandi sono stati riportati in
lingua inglese. Sono sicuramente tutti attivi per gli utenti di JGrass nei sistemi operativi Linux
e MacOsX, mentre potranno mancarne alcuni (in particolare quelli dedicati all’analisi dei dati
satellitari identificati con la letterea i.* ) per gli utenti Windows. Per controllare se effettivamente
1
http://www.gdf-hannover.de/media.php?id=7&lg=en
133
9. Uso della console
ci sia il comando nel sistema operativo Windows è sufficiente cercare l’eseguibile nella cartella
grasscommands dell’installazione di JGrass.
9.4
Indice dei comandi GRASS
The following index is a complete list of all GRASS-commands. An up-to-date list can be found
at the official GRASS-GIS website at under the section manuals.
g.* commands:
Command
g.access
g.ask
g.copy
g.filename
g.findfile
g.gisenv
g.list
g.manual
g.mapset
g.mapsets
g.mlist
g.mremove
g.parser
g.proj
g.region
g.remove
g.rename
g.setproj
g.tempfile
g.version
Description
Prompts the user for the names of GRASS data base files.
Copies available data files in the user’s current mapset search path and location to the appropriate element directories under the
user’s current mapset.
Prints GRASS data base file names.
Searches for GRASS data base files and sets variables for the shell.
Outputs the user’s current GRASS variable settings.
Lists available GRASS data base files of the user-specified data
type to standard output.
display the HTML man pages of GRASS
Change current mapset
Modifies the user’s current mapset search path, affecting the user’s
access to data existing under the other GRASS mapsets in the
current location.
Apply regular expressions and wildcards to g.list
Apply regular expressions and wildcards to g.remove
g.parser
Prints and manipulates GRASS projection information files.
Program to manage the boundary definitions for the geographic
region.
Removes data base element files from the user’s current mapset.
To rename data base element files in the user’s current mapset.
g.setproj
Creates a temporary file and prints the file name.
Displays version and copyright information.
134
9. Uso della console
i.* commands:
Command
i.cca
i.class
i.cluster
Description
Canonical components analysis (cca) program for image
processing.
i.class
An imagery function that generates spectral signatures for land
cover types in an image using a clustering algorithm. The resulting signature file is used as input for i.maxlik, to generate an
unsupervised image classification.
Prosecution on next side
Prosecution
Command
i.fft
i.fusion.brovey
i.gensig
i.gensigset
i.group
i.his.rgb
i.ifft
i.image.mosaic
i.maxlik
i.oif
i.ortho.photo
i.pca
i.points
i.rectify
i.rgb.his
i.smap
i.spectral
i.target
i.tasscap
i.vpoints
i.zc
Description
Fast Fourier Transform (FFT) for image processing.
Brovey transform to merge multispectral and high-res panchromatic channels
Generates statistics for i.maxlik from raster map layer.
Generate statistics for i.smap from raster map layer.
Creates and edits groups and subgroups of imagery files.
Hue-intensity-saturation (his) to red-green-blue (rgb) raster map
color transformation function.
Inverse Fast Fourier Transform (ifft) for image processing.
Mosaics up to 4 images and extends colormap; creates map
*.mosaic
An imagery function that classifies the cell spectral reflectances in imagery data based on the spectral signature information
generated by either i.cluster, i.class, or i.gensig.
Calculates Optimum-Index-Factor table for LANDSAT TM bands
1-5, & 7
i.ortho.photo
Principal components analysis (pca) program for image processing.
Rectifies an image by computing a coordinate transformation for
each pixel in the image based on the control points
Red-green-blue (rgb) to hue-intensity-saturation (his) raster map
color transformation function.
Performs contextual image classification using sequential maximum a posteriori (SMAP) estimation.
displays spectral response at user specified locations in images
Targets an imagery group to a GRASS location and mapset.
Tasseled Cap (Kauth Thomas) transformation for LANDSAT-TM
data
i.vpoints
Zero-crossing “edge detection” raster function for image
processing.
135
9. Uso della console
p.* commands:
Command
p.out.vrml
Description
module to output GRASS data in the format of Virtual Reality
Modeling Language (VRML)
pg.* commands:
Command
pg.postgisdb
Description
pg.postgisdb
photo.* commands:
Command
photo.2image
photo.2target
photo.camera
photo.init
photo.rectify
Description
photo.2image
photo.2target
photo.init
photo.rectify
ps.* commands:
Command
ps.map
Description
Hardcopy PostScript map output utility.
136
9. Uso della console
r.* commands:
Command
r.average
r.basins.fill
r.bilinear
r.blend
r.buffer
r.cats
r.circle
r.clump
r.coin
r.colors
r.composite
r.compress
r.contour
r.cost
Description
Finds the average of values in a cover map within areas assigned
the same category value in a user-specified base map.
Generates a raster map layer showing watershed subbasins.
Bilinear interpolation utility for raster map layers.
Blends color components of 2 raster maps by a given % first map’
Creates a raster map layer showing buffer zones surrounding cells
that contain non-NULL category values.
Prints category values and labels associated with user-specified
raster map layers.
Creates a raster map containing concentric rings around a given
point.
Recategorizes data in a raster map layer by grouping cells that
form physically discrete areas into unique categories.
Tabulates the mutual occurrence (coincidence) of categories for
two raster map layers.
Creates/Modifies the color table associated with a raster map
layer.
Combines red, green and blue map layers into a single composite
map layer.
Compresses and decompresses raster files.
Produces a GRASS binary vector map of specified contours from
GRASS raster map layer.
Outputs a raster map layer showing the cumulative cost of moving between different geographic locations on an input raster map
layer whose cell category values represent cost.
Prosecution on next side
137
9. Uso della console
Prosecution
Command
r.covar
r.cross
r.describe
r.digit
r.distance
r.drain
r.fill.dir
r.fillnulls
r.flow
r.grow
r.his
r.in.arc
r.in.ascii
r.in.bin
r.in.gdal
r.in.gridatb
r.in.mat
r.in.poly
r.in.srtm
r.info
r.kappa
r.le.patch
r.le.pixel
r.le.setup
r.le.trace
r.los
r.mapcalc
r.mapcalculator
r.median
r.mfilter
Description
Outputs a covariance/correlation matrix for user-specified raster
map layer(s).
Creates a cross product of the category values from multiple raster
map layers.
Prints terse list of category values found in a raster map layer.
r.digit
Locates the closest points between objects in two raster maps.
Traces a flow through an elevation model on a raster map layer.
Filters and generates a depressionless elevation map and a flow
direction map from a given elevation layer
Fills no-data areas in raster maps using v.surf.rst splines
interpolation
Construction of slope curves (flowlines), flowpath lengths, and
flowline densities (upslope areas) from a raster digital elevation
model(DEM).
Generates a raster map layerwith contiguous areas grown by one
cell.
Generates red, green and blue raster map layers combining hue, intensity, and saturation (his) values from user-specified input raster
map layers.
Convert an ESRI ARC/INFO ascii raster file (GRID) into a
(binary) raster map layer.
Convert an ASCII raster text file into a (binary) raster map layer.
Import a binary raster file into a GRASS raster map layer.
Import GDAL supported raster file into a binary raster map layer.
Imports GRIDATB.FOR map file (TOPMODEL) into GRASS
raster map
Import a binary MAT-File(v4) to a GRASS raster.
Create raster maps from ascii polygon/line data files in the current
directory.
Import SRTM90 HGT files into GRASS
Outputs basic information about a user-specified raster map layer.
Calculate error matrix and kappa parameter for accuracy
assessment of classification result.
r.le.setup
Line-of-sight raster analysis program.
r.mapcalc
r.mapcalculator - Calculates new raster map from r.mapcalc
expression
Finds the median of values in a cover map within areas assigned
the same category value in a user-specified base map.
Raster file matrix filter.
Prosecution on next side
138
9. Uso della console
Prosecution
Command
r.mode
r.neighbors
r.null
r.out.arc
r.out.ascii
r.out.bin
r.out.gdal
r.out.gridatb
r.out.mat
r.out.mpeg
r.out.png
r.out.pov
r.out.ppm
r.out.ppm3
r.out.tiff
r.param.scale
r.patch
r.plane
r.profile
r.proj
r.quant
r.random.cells
r.random
r.random.surface
r.reclass.area
r.reclass
r.recode
Description
Finds the mode of values in a cover map within areas assigned the
same category value in a user-specified base map.
Makes each cell category value a function of the category values
assigned to the cells around it, and stores new cell values in an
output raster map layer.
The function of r.null is to explicitly create the NULL-value
bitmap file.
Converts a raster map layer into an ESRI ARCGRID file.
Converts a raster map layer into an ASCII text file.
Exports a GRASS raster to a binary array.
Exports GRASS raster data into various formats (requires GDAL)
Exports GRASS raster map to GRIDATB.FOR map file
(TOPMODEL)
Exports a GRASS raster to a binary MAT-File.
Raster File Series to MPEG Conversion Program.
Export GRASS raster as non-georeferenced PNG image format.
Converts a raster map layer into a height-field file for POVRAY.
Converts a GRASS raster file to a PPM image file at the pixel
resolution of the CURRENTLY DEFINED REGION.
Converts 3 GRASS raster layers (R,G,B) to a PPM image file at
the pixel resolution of the CURRENTLY DEFINED REGION.
Exports a GRASS raster file to a 8/24bit TIFF image file at the
pixel resolution of the currently defined region.
Extracts terrain parameters from a DEM. Uses a multi-scalar approach by taking fitting quadratic parameters to any size window
(via least squares)
Creates a composite raster map layer by using known category
values from one (or more) map layer(s) to fill in areas of “no data”
in another map layer.
Creates raster plane map given dip (inclination), aspect (azimuth),
and one point
Outputs the raster map layer values lying on user-defined line(s).
Re-project a raster map from one location to the current location.
This routine produces the quantization file for a floating-point
map.
Generates random cell values with spatial dependence.
Creates a raster map layer and vector point map containing
randomly located sites.
Generates random surface(s) with spatial dependence.
Reclasses a raster map greater or less than user specified area size
(in hectares)
Creates a new map layer whose category values are based upon
the user’s reclassification of categories in an existing raster map
layer.
Recode raster maps.
Prosecution on next side
139
9. Uso della console
Prosecution
Command
r.region
r.regression.line
r.report
r.resamp.rst
r.resample
r.rescale.eq
r.rescale
r.ros
r.series
r.shaded.relief
r.slope.aspect
r.spread
r.spreadpath
r.statistics
r.stats
r.sum
r.sun
r.sunmask
r.surf.area
r.surf.contour
Description
Sets the boundary definitions for a raster map.
Calculates linear regression from two raster maps: y = a + b*x
Reports statistics for raster map layers.
Reinterpolates and computes topographic analysis from input raster file to a new raster file (possibly with different resolution)
using regularized spline with tension and smoothing.
GRASS raster map layer data resampling capability.
Rescales histogram equalized the range of categoryvalues in a
raster map layer.
Rescales the range of category values in a raster map layer.
Generates three, or four raster map layers showing 1) the base
(perpendicular) rate of spread (ROS), 2) the maximum (forward)
ROS, 3) the direction of the maximum ROS, and optionally 4) the
maximum potential spotting distance.
Makes each output cell value a function of the values assigned to
the corresponding cells in the input raster map layers.
Creates shaded relief map from an elevation map (DEM).
Generates raster map layers of slope, aspect, curvatures and partial derivatives from a raster map layer of true elevation values.
Aspect is calculated counterclockwise from east.
Simulates elliptically anisotropic spread on a graphics window and
generates a raster map of the cumulative time of spread, given
raster maps containing the rates of spread (ROS), the ROS directions and the spread origins. It optionally produces raster maps
to contain backlink UTM coordinates for tracing spread paths.
Recursively traces the least cost path backwards to cells from
which the cumulative cost was determined.
Category or object oriented statistics.
Generates area statistics for raster map layers.
Sums up the raster cell values.
Computes direct (beam), diffuse and reflected solar irradiation
raster maps for given day, latitude, surface and atmospheric conditions. Solar parameters (e.g. sunrise, sunset times, declination,
extraterrestrial irradiance, daylight length) are saved in a local
text file. Alternatively, a local time can be specified to compute solar incidence angle and/or irradiance raster maps. The shadowing
effect of the topography is optionally incorporated.
Calculates cast shadow areas from sun position and DEM. Either
A: exact sun position is specified, or B: date/time to calculate the
sun position by r.sunmask itself.
Surface area estimation for rasters.
Surface generation program from rasterized contours.
Prosecution on next side
140
9. Uso della console
Prosecution
Command
r.surf.fractal
r.surf.gauss
r.surf.idw
r.surf.random
r.terraflow
r.texture
r.thin
r.timestamp
r.to.vect
r.topidx
r.topmodel
r.transect
r.univar
r.univar.sh
r.water.outlet
r.watershed
r.what
Description
GRASS module to create a fractal surface of a given fractal dimension. Uses spectral synthesis method. Can create intermediate layers showing the build up of different spectral coefficients (see
Saupe, pp.106-107 for an example of this). Use this module to
generate naturally looking synthetical elevation models (DEM).
GRASS module to produce a raster map layer of gaussian deviates
whose mean and standard deviation can be expressed by the user.
It uses a gaussian random number generator.
Surface interpolation utility for raster map layers.
Produces a raster map layer of uniform random deviates whose
range can be expressed by the user.
Flow computation for massive grids (Float version).
Generate images with textural features from a raster map
Thins non-zero cells that denote linear features in a raster map
layer.
Print/add/remove a timestamp for a raster map.
Converts a raster map into a vector map layer.
Creates topographic index, ln(a/tan(beta)), map from elevation
map.
Simulates TOPMODEL which is physically based hydrologic
model.
Outputs raster map layer values lying along user defined transect
line(s).
Calculates univariate statistics from the non-null cells of a raster
map.
calculates univariate statistics from a GRASS raster map
Watershed basin creation program.
Watershed basin analysis program.
Queries raster map layers on their category values and category
labels.
141
9. Uso della console
r3.* commands:
Command
r3.in.ascii
r3.in.v5d
r3.info
r3.mapcalc
r3.mask
r3.mkdspf
r3.null
r3.out.ascii
r3.out.v5d
r3.timestamp
Description
Convert a 3D ASCII raster text file into a (binary) 3D raster map
layer
import of 3-dimensional Vis5D files (i.e. the v5d file with 1 variable
and 1 time step)
Outputs basic information about a user-specified 3D raster map
layer.
r3.mapcalc
Establishes or removes the current working 3D raster mask.
Explicitly create the 3D NULL-value bitmap file.
Converts a 3D raster map layer into an ASCII text file
Export of GRASS 3D raster file to 3-dimensional Vis5D file.
print/add/remove a timestamp for a 3D raster map
v.* commands:
Command
v.buffer
v.build.all
v.build
v.build.polylines
v.category
v.clean
v.convert.all
v.convert
v.db.connect
v.db.select
v.delaunay
v.digit
v.distance
v.external
v.extract
v.hull
v.in.ascii
Description
Create a buffer around features of given type (areas must contain
centroid).
v.build.all
Creates topology for GRASS vector data.
Build polylines from lines.
Attach, delete or report vector categories to map geometry.
Toolset to clean vector topology.
Imports older versions of GRASS vectors.
prints/sets DB connection for a vector map
Print vector attributes
Create a Delaunay triangulation from an input vector of points or
centroids.
Find the nearest element in vector ’to’ for elements in vector
’from’. Various information about this relation may be uploaded
to the attribute table of input vector ’from’ or printed to stdout.
Create a new vector as a read-only link to OGR layer. Available
drivers:
Selects vector objects from an existing vector map and creates a
new map containing only the selected objects. If ’list’, ’file’ and
’where’ options are not specified, all features of given type and
layer are extracted, categories are not changed in that case.
Uses a GRASS vector points map to produce a convex hull vector
map
Convert GRASS ascii file or points file to binary vector.
Prosecution on next side
142
9. Uso della console
Prosecution
Command
v.in.db
v.in.e00
v.in.garmin
v.in.ogr
v.in.region
v.in.sites.all
v.in.sites
v.info
v.kcv
v.kernel
v.label
v.mkgrid
v.neighbors
v.net.alloc
v.net
v.net.iso
v.net.path
v.net.salesman
v.net.steiner
v.normal
v.out.ascii
v.out.dxf
v.out.ogr
v.out.pov
v.overlay
v.patch
Description
Create new vector (points) from database table containing
coordinates.
Import of E00 file into a vector map.
Upload Waypoints, Routes, and Tracks from a Garmin GPS
receiver into a vector map.
Convert OGR vectors to GRASS.
Create a new vector from current region.
Converts a GRASS site lists file into a vector file.
Outputs basic information about a user-specified vector map layer.
Randomly partition points into test/train sets.
Generates a raster density map from vector points data using a moving 2D isotropic Gaussian kernel or optionally generates a vector
density map on vector network with a 1D kernel
Create paint labels for GRASS vector file and attached attributes.
Creates a (binary) GRASS vector map of a user-defined grid.
Makes each cell value a function of the attribute values assigned
to the vector points or centroids around it, and stores new cell
values in an output raster map layer.
Allocate subnets for nearest centres (direction from centre). Centre node must be opened (costs >= 0). Costs of centre node are
used in calculation
Network maintenance.
Split net to bands between cost isolines (direction from centre).
Centre node must be opened (costs >= 0). Costs of centre node
are used in calculation
Find shortest path on vector network. Reads start/end pointsfrom
standard input in 2 possible formats:
Create a cycle connecting given nodes (Traveling salesman problem). Note that TSP is NP-hard, heuristic algorithm is used by
this module and created cycle may be sub optimal.
Create Steiner tree for the network and given terminals. Note
that ’Minimum Steiner Tree’ problem is NP-hard and heuristic
algorithm is used in this module so the result may be sub optimal.
tests for normality for points.
Convert a GRASS binary vector map to a GRASS ASCII vector
map
Exports GRASS vector files to DXF file format.
Convert to OGR format.
Convert to POV-Ray format, GRASS x,y,z -> POV-Ray x,z,y
Overlay 2 vector maps.
Creates a new binary vector map layer by combining other binary
vector map layers.
Prosecution on next side
143
9. Uso della console
Prosecution
Command
v.perturb
v.proj
v.qcount
v.random
v.reclass
v.sample
v.segment
v.select
v.surf.idw
v.surf.rst
v.to.db
v.to.points
v.to.rast
v.transform
v.type
v.univar
v.vol.rst
v.voronoi
v.what.rast
Description
Random location perturbations of GRASS sites.
Allows projection conversion of vector files.
indices for quadrat counts of sites lists
Randomly generate a GRASS vector points map.
Changes vector category values for an existing vector map according to results of SQL queries or a value in attribute table
column.
Sample a raster file at site locations.
Create points/segments from input lines, and positions read from
stdin in format:
Select features from ainput by features from binput.
Surface interpolation from sites data by Inverse Distance Squared
Weighting.
Interpolation and topographic analysis from given point or contour
data in vector format to GRASS floating point raster format using
regularized spline with tension.
Load values from vector to database. In uploaded/printed category values ’-1’ is used for ’no category’ and ’null’/’-’ if category
cannot be found or multiple categories were found.
Create points along input lines.
Converts a binary GRASS vector map layer into a GRASS raster
map layer.
Transforms an vector map layer from one coordinate system into
another coordinate system.
Change the type of geometry elements.
Calculates univariate statistics for attribute.
Variance and
standard deviation is calculated only for points.
Interpolates point data to a G3D grid volume using regularized
spline with tension (RST) algorithm
Create a Delaunay triangulation from an input vector of points or
centroids.
Upload raster values at positions of vector points to the table.
144
10
Elaborazione statistica
In JGrass sono stati implementati alcuni comandi di elaborazione statistica attraverso la connessione al programma Open Source di calcolo statistico R. Questi comandi sono contenuti in:
• r.in.lidar: relativamente all’importazione di triplette di dati e alla loro interpolazione per la
creazione di un raster partendo dalle informazioni contenute nella colonna z delle triplette.
• g.statistics: contiene alcuni comandi per l’elaborazione statistica di mappe di punti
10.1
Elaborazioni statistiche di mappe di punti
Il comando g.statistics permette di visualizzare report statistici, contenenti i valori significativi
di un set di dati come la media, la mediana, la varianza e i valori massimi e minimi, di calcolare e graficare le funzioni densità di probabilità e la funzione densità di probabilità cumulata.
L’algoritmo sicuramente più importante in questo set di comandi è comunque il comando che permette di effettuare l’interpolazione statistica attraverso l’uso dell’interpolatore geostatistico kriging.
L’interfaccia grafica del comando è riportata in Figura 10.1
Figura 10.1: Interfaccia grafica del comando g.statistics.
I parametri che si possono scegliere sono:
1. parametri da calcolare (nella parte superiore della finestra)
10. Elaborazione statistica
2. mappa dei punti di cui fare le elaborazioni
3. numero di righe da visualizzare nei report grafici
4. colonna da considerare nei calcoli statistici nel caso siano stati specificati più attributi
5. numero di intervalli in cui dividere l’intervallo completo dei dati per la visualizzazione della
funzione densità di probabilità
Come anticipato il comando lavora solamente con mappe di punti importati in JGrass come
sites. Per fare questo è sufficiente scrivere un file nel formato descritto di seguito e salvarlo nella
cartella site lists del mapset di lavoro. Il file non deve avere estensione e deve essere scritto con
un’intestazione contenente il nome del file e la descrizione di quanto contenuto e poi una sezione
interamente dedicata ai dati relativi ai punti: coordinate x - y e i diversi attributi. Il separatore
delle colonne è il — come mostrato di seguito:
name|siti flanginec
desc|Cd nel suolo
1639705|5114025 |#8.2 @stazione1
1639355|5114005 |#2.4 @stazione2
1639485|5113725 |#3.0 @stazione3
1638745|5113585 |#1.6 @stazione4
1639105|5113505 |#4.2 @stazione5
Per visualizzare una mappa di punti è sufficiente scegliere l’opzione Visualizza una mappa di
punti dal menu Visualizza o cliccare sull’icona
. Apparirà la schermata riportata in Figura
10.2 dove è possibile scegliere il formato della mappa di punti da visualizzare. Nel caso generale si
scelga il formato di GRASS in quanto gli altri formati sono in fase di sostituzione con gli appositi
comandi. Cliccare sul tasto Avanti per proseguire.
146
10. Elaborazione statistica
Figura 10.2: Prima finestra del comando per visualizzare mappe di punti in JGrass.
La seconda interfaccia (Figura 10.3) permette la scelta del mapset in cui cercare i dati da
visualizzare, nell’esempio si seleziona il mapset trentino che è il mapset corrente in cui è stato
salvato il file contenente le informazioni puntuali. Cliccando su Avanti si prosegue con l’operazione.
Figura 10.3: Seconda finestra del comando per visualizzare mappe di punti in JGrass.
La finestra successiva permette di scegliere le opzioni di visualizzazione dei punti, il simbolo
usato, il colore e la dimensione dei punti. Selezionare la configurazione desiderata e premere su
Avanti per terminare l’operazione.
147
10. Elaborazione statistica
Figura 10.4: Terza finestra del comando per visualizzare mappe di punti in JGrass.
La mappa di punti risultante, sovrapposta al dem è riportata in Figura 10.5 dove è stato cambiato
anche il colore di visualizzazione dei punti ricorrendo all’opzione proprietà nel tasto destro del mouse
sul nome della mappa nella sezione legenda.
Figura 10.5: Visualizzazione di una mappa di punti del formato GRASS in JGrass.
Data la mappa di punti è possibile eseguire il comando g.statistics nelle sue diverse opzioni.
148
10. Elaborazione statistica
10.2
Report statistico del set di dati
È possibile visualizzare un report statistico, oltre ad una selezione dei dati contenuti nel file
(specificando il numero di righe da visualizzare nell’interfaccia grafica), selezionando le prime due
opzioni del comando (Figura 10.6).
Figura 10.6: Interfaccia grafica del comando g.statistics di JGrass per la visualizzazione del report statistico.
Nel cosiddetto report statistico sono riportati i dati più importanti del set di dati contenuti nella
mappa (Figura 10.7):
• numero di dati
• valore minimo
• 25o percentile
• mediana
• media
• 75o percentile
• massimo
• varianza
149
10. Elaborazione statistica
Figura 10.7: Report html del comando g.statistics di JGrass per la visualizzazione del report statistico.
10.3
Funzione densità di probabilità
Per disegnare la funzione densità di probabilità dei dati contenuti nella mappa, che per definizione è una funzione che permette di esprimere la probabilità che il valore assunto dalla variabile
casuale Z ricada nell’intervallo di estremi z e (z+dz) attraverso la relazione:
P (z min Z min z + dz) = f (z) · · · dz
L’opzione da scegliere in questo caso è la terza tra quelle presentate (Figura 10.8).
150
10. Elaborazione statistica
Figura 10.8: Interfaccia grafica del comando g.statistics di JGrass per la della funzione densità di probabilità.
Il risultato è riportato in Figura 10.9.
Figura 10.9: Risultato del comando g.statistics di JGrass per la della funzione densità di probabilità.
10.4
Funzione densità di probabilità cumulata
È stato implementato anche l’algoritmo per il calcolo della funzione densità di probabilità cumulata e della sua interpolazione attraverso la funzione normale standard (modello gaussiano). Per
definizione la funzione densitè di probabilità cumulata è la funzione che esprime la porzione di dati
che non eccede un valore assegnato di soglia z.
F (z) = P (Z ≤ z)
151
10. Elaborazione statistica
Figura 10.10: Risultato del comando g.statistics di JGrass per la della funzione densità di probabilità cumulata.
10.5
Interpolazione geostatistica con l’interpolatore kriging
In JGrass è stato implementato, tramite la connessione con R l’algoritmo di interpolazione dei
dati puntuali kriging. Il kriging è un interpolatore geostatistico, ovvero un algoritmo di regressione
lineare ai minimi quadrati che partendo da valori noti permette di calcolare il valore della variabile
negli altri punti di una griglia regolare.
La correlazione spaziale dei dati viene descritta sulla base delle misure disponibili attraverso
modelli specifici che permettono di stimare il valore di un attributo continuo in punti non di
misura. Tale stima avviene attraverso l’interpolazione dei dati disponibili.
Per dare un’idea della correlazione esistente tra le misure disponibili, o meglio della variabilità spaziale dei dati, si utilizza il concetto di semivariogramma. Il semivariogramma solitamente
presenta un andamento crescente con la distanza, che riflette la diminuzione della correlazione all’aumentare della distanza tra le coppie di punti. Esso rappresenta la differenza media del valore
della superficie interpolante tra due punti di distanza h. Esistono vari tipi di semivariogramma che
ben si possono adattare a quello reale, i principali sono riportati in Figura 10.11.
Se si utilizza il comando g.statistics per l’interpolazione di un set di dati puntuali si dovrà
innanzitutto creare il semivariogramma dei dati reali e poi cercare il modello che meglio si adatta
al caso. Una volta definito il modello da usare come semivariogramma si potrà procedere con
l’interpolazione dei dati. Quindi selezionando l’opzione interpolazione geostatistica e la mappa
di punti da interpolare sarà sufficiente proseguire cliccando su ok. A questo punto apparirà la
schermata di Figura 10.12 dove viene chiesto di inserire il numero di intervalli da usare e la distanza
152
10. Elaborazione statistica
Figura 10.11: Tabella contenente le formule e la tipologia di impiego dei principali tipi di semivariogramma usati
abitualmente in geostatistica.
massima di correlazione tra i punti espressa in metri. Premendo il tasto ok si potrà procedere con
i calcoli.
Figura 10.12: Seconda finestra della procedura per l’interpolazione geostatistica dei dati puntuali.
Al termine dell’elaborazione una finestra di avviso avvertià del numero di bins che sono stati
effettivamente creati e della distanza massima tra i punti trovata. È molto importante che tutti
gli intervalli in cui si decide di dividere il set di dati (Figura 10.12) siano effettivamente creati,
altrimenti si incorre in un errore nella procedura e si perde la connessione con R.
Figura 10.13: Messaggio di avvertimento per la suddivisione del set di dati in intervalli per l’interpolazione
geostatistica.
Per continuare basterà confermare questa suddivisione dei dati e verrà visualizzato il grafico di
153
10. Elaborazione statistica
Figura 10.14, ovvero il semivariogramma calcolato con i dati reali.
Figura 10.14: Variogramma dei dati contenuti nella mappa di punti.
Per continuare con l’operazione è sufficiente chiudere la finestra del grafico e comaprirà una
schermata che permette di scegliere il modello per il semivariogramma creato e i parametri per
rappresentarlo al meglio (Figura 10.15). In questo modo verrà assegnata una formula matematica
al semivariogramma che verrà poi utilizzata nell’interpolazione vera e propria.
Figura 10.15: Schermata per la scelta del modello di semivariogramma da utilizzare per descrivere al meglio il
semivariogramma reale e definizione dei parametri per il modello gaussiano.
154
10. Elaborazione statistica
Figura 10.16: Grafico contenente la sovrapposizione del semivariogramma reale e di quello ottenuto dal modello
gaussiano con i parametri definiti nell’interfaccia di Figura 10.15.
Per proseguire sarà sufficiente chiudere la finestra del grafico e apparirà un messaggio che chiede
all’utente se si vuole proseguire con l’interpolazione oppure se si vogliono ridefinire i parametri del
modello per una miglior rappresentazione dei dati reali.
Figura 10.17: Messaggio di avvertimento per la prosecuzione della procedura di interpolazione e la creazione della
mappa interpolata partendo dalla mappa di punti.
Lo stesso procedimento, inserendo dei dati diversi in base a quanto riportato in Figura 10.18 si
può ripetere con il modello esponenziale. In questo caso la differenza tra i due modelli non è molto
marcata, ma nella maggior parte dei casi un modello rappresenta meglio i dati dell’altro.
155
10. Elaborazione statistica
Figura 10.18: Schema per la valutazione dei coefficienti del modello di semivariogramma.
Inserendo il nome della mappa di output e confermando con ok si procede all’interpolazione
vera e propria. Verranno create due mappe, una con i valori interpolati su una griglia regolare e
l’altra con la stima dell’errore, sempre facendo riferimento alla griglia regolare. La stima dell’errore
è molto utile per la validazione della procedura di interpolazione, quanto più la stima dell’errore si
avvicina al valore del valore interpolato quanto meno significativo è il valore interpolato e quindi
tanto meno valida l’interpolazione. Certo che la stima dell’errore è tanto maggiore quanto più ci
si allontana dai valori misurati. Al termine dell’operazione un messaggio avvertirà l’utente della
creazione delle due mappe.
Figura 10.19: Messaggio finale della procedura di interpolazione contenente l’indicazione del nome delle due mappe
create.
Se la procedura di scelta del modello di variogramma non fosse andata a buon fine o i parametri
scelti non dovessero essere ottimali a video si visualizzerebbe una riga orizzontale o verticale (Figura
10.20). Il semivariogramma cosı̀ ottenuto, chiaramente, non è utilizzabile nell’interpolazione con il
kriging.
156
10. Elaborazione statistica
Figura 10.20: Grafico contenente la sovrapposizione del semivariogramma reale e di quello ottenuto dal modello
esponenziale con dei parametri sbagliati.
Le due mappe avranno dei valori validi in tutta la regione attiva, per ritagliarle sulla superficie
di una mappa di dimensioni minori di quelle della regione attiva sarà sufficiente usare il comando
r.mapcalc.
Figura 10.21: Visualizzazione della mappa dei punti interpolata con il kriging.
157
10. Elaborazione statistica
158
11
Stampa
La stampa è da sempre uno dei principali problemi dei GIS Open Source. Stampare il risultato
delle operazioni è di fondamentale importanza per la divulgazione e la presentazione dei risultati.
In JGrass è in fase di sviluppo un comodo editor di stampa che permette di stampare le mappe
che sono visualizzate sullo schermo sui diversi formati di carta. È anche possibile predisporre una
tavola con un template predefinito, oppure disegnare e inserire nuovi oggetti e del testo.
Prima di procedere alla descrizione delle operazioni che si devono fare in fase di stampa è
importante precisare che allo stato dell’arte il modulo per la stampa non è ottimizzato. Questo
non significa che non funzioni o che sia del tutto inutilizzabile, ma solamente si consiglia di fare
stampe solamente su formati A4 o al massimo A3 perchè la stampa “in grande” delle mappe non
è di buona qualità. La parte di modulo in fase di sviluppo prevede la possibilità di ridisegnare la
mappa alla scala del foglio in modo da avere sempre la massima risoluzione possibile per la stampa.
Purtroppo allo stato attuale non è stato ancora possibile sviluppare completamente l’algoritmo.
Per la stampa è sufficiente cliccare sull’icona rappresentativa del comando
e si aprirà l’editor
di stampa (Figura 11.1). L’editor è diviso in due parti, sulla sinistra ci sono tutte le opzioni di
stampa, mentre sulla destra viene visualizzato il foglio cosı̀ come sarà stampato.
Figura 11.1: Apertura dell’editor di stampa di JGrass.
11. Stampa
Tra le opzioni di stampa si trovano:
• draw: che permette di inserire nel foglio disegni come linee, rettangoli, ellissi e immagini
esterne (che si possono utilizzare nei cartigli delle tavole di progetto, ad esempio);
• text: per definire il tipo di carattere e le impostazioni del testo;
• maps and legends: per inserire le mappe visualizzate a video e la relativa legenda (opzione
per il momento non attiva);
• utils: per modificare le impostazioni degli oggetti disegnati (permette di gestire le sovrapposizioni e di cancellare uno o più oggetti disegnati);
• zoom: per ingrandimenti del foglio necessari per la definizione degli oggetti;
• templates: per caricare o salvare un template di stampa (Paragrafo 4.3);
• format: per scegliere il formato e l’orientazione del foglio;
• printer selection: che per il momento permette solamente la stampa su file pdf;
• submit: per avviare la procedura di stampa o annullare il lavoro creato.
Per inserire un oggetto nel foglio di stampa è sufficiente selezionare l’oggetto, o l’immagine, dal
menu e poi selezionare l’area che l’oggetto dovrà occupare sul foglio, con il mouse. Per oggetto si
intendono sia le entità come linee e poligoni, sia il testo e la mappa visualizzata a video.
Un esempio di stampa di una mappa con la relativa legenda, presa dalla visualizzazione in JGrass
è riportato in Figura 11.2.
Attenzione: per alcune configurazioni particolari di sistema operativo e scheda video la visualizzazione delle mappe sul foglio di stampa può non funzionare e dare a video una finestra tutta
nera.
Si precisa che la stampa di cartine in JGrass avviene alla stessa scala di visualizzazione a video.
È quindi necessario fissare la scala di visualizzazione che verrà poi riportata sui fogli.
160
11. Stampa
Figura 11.2: Apertura dell’editor di stampa di JGrass.
161
11. Stampa
162
12
Disinstallazione
Per disinstallare il programma è sufficiente cliccare sull’icona di disinstallazione e si avvierà
la procedura guidata per la disinstallazione che darà anche la possibilità di eliminare la cartella
contenente JGrass dal filesystem.
Un’altra opzione per disinstallare il programma è quella di eliminare direttamente la cartella
dove si era precedetemente installato JGrass. JGrass infatti viene installato completamente nella
cartella di installazione e non ha bisogno di altri file nelle cartelle di sistema.
Naturalmente per gli utenti più esperti è anche possibile disinstallare il programma da console
eseguendo il file jar di disinstallazione contenuto nella cartella Uninstaller dove è installato JGrass.
12. Disinstallazione
164