GRASS GIS
generalità ed approfondimento
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Università degli Studi di Trento
GRASS versione 6.2
I sistemi di trattamento delle informazioni
territoriali Free Software/Open Source
Data viewer
GIS Analysis
DBMS
WebGIS
Interoperability
QGIS
Thuban
OpenEV
GRASS
GRASS/R-stats
JGRASS
JUMP
uDIG
PostgreSQL/PostGIS
MySQL
UMN Mapserver
GeoServer
GDAL/OGR
PROJ4
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
GRASS
GRASS GIS (Geographic Resources Analysis Support System)
è un Geographic Information System (GIS)
o Sistema Informativo Territoriale (SIT)
Ha funzionalità per la gestione di
●raster;
●vettori (con topologia);
●image processing;
●gestione di oggetti grafici.
E' distribuito sotto GNU General Public License (GPL).
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
La storia di GRASS
GRASS ha subito un continuo sviluppo dal 1982 (in realtà è stato distribuito al pubblico solo nel 1989 ma la vera
grande diffusione l’ha avuta con l’avvento di Internet negli anni 90) ed ha coinvolto un gran numero di Uffici federali
degli USA, Università e Compagnie private: NASA, NOAA, USDA, the National Park Service, the U.S. Census
Bureau, USGS.
Lo sviluppo del progetto GRASS e gli aggiornamenti che via via si realizzavano sono stati portati avanti
dall’ideatore originario lo U.S. Army Corps of Engineers e in particolar modo dal CERL (Construction Engineering
Research Laboratory) Champaign, Illinois fino alla versione 4.1 nel 1992, alla quale aggiunse cinque aggiornamenti
e varie patches fino al 1995.
Dal 1997 il progetto è stato portato avanti dal GRASS Research Group della Baylor University, Waco (Texas),
U.S.A. che ha rilasciato la versione la 4.2. Sotto il coordinamento dell’USA-CERL e di altri siti di sviluppo, il GRASS
Research Group ha continuato ad aggiornare GRASS finché ha passato il testimone ad un gruppo di ricercatori
dell’Università di Hannover coordinato da Markus Neteler che ha curato lo sviluppo della versione 5.
Attualmente lo sviluppo continua ad essere coordinato da Neteler presso l’ITC di Trento ed è uscita la versione 6.0.
Continua inoltre lo sviluppo e la versione più aggiornata è la 6.1 che useremo nel corso.
A causa della repentina crescita e popolarità di GRASS, il “Development Team” è diventato un team internazionale
che conta sviluppatori in tutto il mondo. Lo sviluppo sta producendo nuove versioni di GRASS, correzione dei bugs,
nuovi manuali e documentazione.
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Diffusione di GRASS
GRASS si è diffuso nell'ultimo decennio soprattutto in ambito accademico ma la potenza e flessibilità del
sistema e nelle ultime versioni, la migliorata facilità di installazione e di d’uso e ancora l’esistenza di
versioni di Linux di facile installazione ed utilizzo l’hanno reso appetibile anche per gli utilizzatori
professionali e le P.A.
Agli inizi GRASS era disponibile solo in ambiente Unix o Unix like significativamente diffuso in ambito
accademico ed era di indubbio interesse per la possibilità di intervenire direttamente sul codice sorgente.
I primi utilizzatori professionali e delle P.A. non conoscevano Unix (a parte gli utenti ARC/INFO) e
necessitavano invece di strumenti in grado di svolgere un numero limitato di operazioni in ambienti più
conosciuti come Dos o Windows.
La disponibilità del codice sorgente recava loro pochi vantaggi (non erano in grado di manipolarlo od
anche soltanto di interpretarlo);
la documentazione disponibile era in lingua inglese e non c’erano tutorial;
la limitata diffusione dei collegamenti internet spesso non consentiva di consultare la già allora nutrita
mailing list degli utilizzatori di GRASS;
la limitata velocità di collegamento rendeva impensabile scaricare i file di GRASS con i collegamenti
allora esistenti.
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Storia di GRASS e release
1989: Civil Internet
1994: WWW born
GRASS 1.0
1984
U.S. Army (1984­1995)
GRASS 4.1
GRASS 4.2
1993
Ma
n u 1997
al
1998
co
de
m
an
a
Marco Ciolli - Paolo Zatelli
1999
ge
m
en
1997 Universit y of Baylor
GRASS 4.2.1/4.3
1998 Universit ät Hannover
PD
GRASS 5.0
GRASS Development Team
(1997­ oggi)
2001 ITC-irst
GP
L' e
d
t
Au
to
m
at
Dipartimento di Ingegneria Civile e Ambientale
GRASS 5.1/5.7
ed
co
2001
de
m
an
GRASS 6.0
ag
em
en
t(
CV
S)
2005
GRASS 6.2.1
2006
Marco Ciolli - Paolo Zatelli
Costo di GRASS
Useless, but interesting.
GRASS 5.0.3:
Total Physical Source Lines of Code (SLOC)
= 772,827
Development Effort Estimate, Person-Years (Person-Months) = 215.53 (2,586.41)
Total Estimated Cost to Develop
= $ 29,115,753
GRASS 5.3.0:
Total Physical Source Lines of Code (SLOC)
= 918,816
Development Effort Estimate, Person-Years (Person-Months) = 258.48 (3,101.71)
Total Estimated Cost to Develop
= $ 34,916,572
GRASS 5.7.0/6.0:
Total Physical Source Lines of Code (SLOC)
= 333,939
Development Effort Estimate, Person-Years (Person-Months) = 89.31 (1,071.67)
Total Estimated Cost to Develop
= $ 12,064,022
modificato da:
http://grass.itc.it/pipermail/grass5/2004-August/015127.html
Linux Kernel 2.4.27:
Total Physical Source Lines of Code (SLOC)
= 3,511,066
Development Effort Estimate, Person-Years (Person-Months) = 1,056.19 (12,674.25)
Total Estimated Cost to Develop
= $ 142,676,539
Debian 2.2 (Potato) [some time in 2001]:
Total Physical Source Lines of Code (SLOC)
= 55,201,526
Development Effort Estimate, Person-Years (Person-Months) = 14,005.78 (168,069.41)
Total Estimated Cost to Develop
= $1.9 billion
Dipartimento di Ingegneria Civile e Ambientale
GRASS e sistemi operativi
GRASS è sviluppato in ambiente UNIX (Linux) e portato su altri sistemi, tra cui:
●UNIX-like (Solaris, IRIX, Linux, BSD) con interfaccia grafica e terminale in XWindows;
●MS-Windows (NT/2000/XP con Cygwin);
●MacOS X;
●Java (JGRASS, sperimentale).
Le differenze riguardano soprattutto l'efficenza e stabilità dei sistemi operativi a
prescindere da GRASS.
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Binario o sorgente?
GRASS è distribuito come binario linux (in vari formati: Debian-.deb,
SuSE-.rpm),MacOSX, MS Windows/Cygwin oppure come sorgente.
●
Vantaggi
Svantaggi
Binario Facilità e velocità di installazione Usa parametri standard,
è generato periodicamente
Sorgente Possibilità di personalizzazione, Si deve configurare e disporre
uso della versione più aggiornata delle librerie development
Per utenti non esperti è consigliabile il binario precompilato, per chi è in grado di
configurare e personalizzare il codice può essere meglio utilizzare il sorgente.
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Live CD
E' possibile sperimentare l'utilizzo di GRASS sul proprio computer senza installare
nulla, utilizzando un live CD per:
Linux
●GRASS ITA DVD 1.0 The GRASS reference Italian DVD: fornito in questo corso
●GIS Knoppix: http://www.gisix.fukengrueven.com/
●GISIX: http://www.geomancers.net/projects-int.html
●Freeduc-cd: http://www.ofset.org/freeduc-cd
●AIT StarCD: http://www.star.ait.ac.th/~yann/starcd/
●GEOLivre Linux: http://www.geolivre.org.br/
●Geomorphix: http://www.geomorphix.org/modules/news/
Windows XP
1. the XliveGRASS-CD: GRASS 6.0 (dati su HD o penna USB)
https://www.geographie.uni-freiburg.de/~mlechner/xlivegrass/
2. the CygwinGRASS-Install-CD: installa GRASS 6.0 da CD
https://www.geographie.uni-freiburg.de/~mlechner/CygwinGRASS/
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
GRASS sotto Linux
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
GRASS sotto Windows/Cygnus
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
GRASS sotto Mac OS X
Dipartimento di Ingegneria Civile e Ambientale
Requisiti di sistema
Standard PC o workstation con sistema operativo UNIX-like con X-Windows (Openwin,
KDE, GNOME, fvwm2, ...), es:
●Linux (Intel o PowerPC)
●iPAQ/Linux
●Solaris (SPARC o Intel)
●HP-UX (HP PA-RISC)
●FreeBSD (Intel, Alpha AXP)
●Mac OS X (PowerPC)
o MS-Windows (NT/2000/XP con Cygwin).
NB è possibile installare più sistemi operativi su partizioni diverse dello stesso disco (es Linux+Windows).
Lo spazio disco richiesto è
20-180MB per i binari di GRASS, a seconda della piattaforma hardware;
circa 50MB per i sorgenti di GRASS. Al momento della compilazione è necessario avere almeno
600MB circa liberi su disco;
spazio per i dati.
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Altri sistemi
GRASS si interfaccia facilmente con altri sistemi Open Source per avere:
●supporto di un motore di database esterno;
●interfaccia verso internet;
●import/export di dati;
●stampa di mappe;
●elaborazioni 5D
●calcoli statistici (R).
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
http://grass.itc.it/
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
Documentazione
http://grass.itc.it/gdp/index.html
GRASS Documentation Project
http://grass.itc.it/gdp/general.php
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
Tutorial
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
Documentazione in italiano
http://grass-italia.como.polimi.it/
Eventi in Italia e all'estero:
●Lista degli utenti italiani di GRASS
●Materiale didattico in italiano
●Articoli pubblicati dagli utenti italiani
●
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
Documentazione in italiano
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
Documentazione in italiano
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
Documentazione in italiano
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
Documentazione in italiano
Dipartimento di Ingegneria Civile e Ambientale
Organizzazione file dati in GRASS
GISDBASE è la directory principale (radice) sotto la quale risiedono tutti i file dati.
● le sottodirectory di GISDBASE sono chiamate LOCATION. I dati di una location hanno tutti lo stesso sistema di
riferimento e la stessa proiezione. Non è possibile accedere simultaneamente a più locations!
●
GISDBASE
LOCATION.1
LOCATION.n
LOCATION.2 LOCATION.3
N.B.: Per ogni sessione di GRASS si può scegliere un solo GISDBASE e lavorare su una sola LOCATION (si possono però aprire file da location
differenti purché se ne abbiano le permission).
Esempi:
/Directory/GISDBASE/LOCATION/MAPSET
/HOME/MARCO/TRENTINO/MAPPE/
/HOME/MARCO/TRENTINO/ORTOFOTO/
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
/HOME/MARCO/XY/FOTODARETTIFICARE/
Location e Mapset
Ogni LOCATION contiene uno o più MAPSET, insiemi di mappe omogenee (proiezione, luogo, ecc.). Si può
pensare la Location come una specie di “scaffale” che contiene tutte le informazioni per una certa zona di
interesse
In un MAPSET si possono organizzare le mappe tematicamente, geograficamente o per progetto o in
qualsivoglia maniera; è un pò un modo per ordinare i libri nello scaffale.
Ogni sessione viene avviata da un MAPSET e le modifiche avvengono nel Mapset corrente. Un MAPSET
può essere delle stesse dimensioni oppure un subset geografico della LOCATION in cui si trova.
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Struttura di un MAPSET in GRASS 6.0-6.2
Un mapset nativo 6.0-6.1 si presenta attualmente come segue
Marco Ciolli - Paolo Zatelli
element
vector/
dbf/
cell/
cellhd/
cats/
colr/
cell_misc/
fcell/
hist/
icons/
paint/
arc/
contenuto
contiene la geometria dei vector
contiene gli attributi dei vector
file raster
headers dei file raster
categorie dei file raster
tabella dei colori per file raster
file di supporto statistiche dei raster
gestisce i file raster floating point
informazioni su file raster
icone usate da p.map
label usate da p.map
file Arc/Info ungenerate
PERMANENT
PATH
Dipartimento di Ingegneria Civile e Ambientale
MIOMAPSET
WIND
CELL
...
Sessione
Si accede ad una sessione di GRASS digitando:
grass60
oppure
grass62
il programma si "ricorda" (nel file .grassrc6) l'ultima sessione e propone di aprire il
MAPSET nella LOCATION nel GISDBASE corrispondente.
Si può digitare il nome di una nuova LOCATION e/o di un nuovo MAPSET e crearlo/i
Per creare un nuovo MAPSET si deve conoscere alcuni parametri relativi al sistema
di riferimento, alla proiezione ed ai limiti dell'area che si intende rappresentare.
6.0
Marco Ciolli - Paolo Zatelli
6.2.1
Dipartimento di Ingegneria Civile e Ambientale
Nuova location
(1) UTM
Using the UTM-projection the following
information are required:
enter zone (e.g. 30)
enter a one line description (es. Zona di TRENTO)
define the default region (= location): specify your UTM-coordinates
choose the ellipsoid (see list above or enter "list" here).
DEFINE THE DEFAULT REGION
======= DEFAULT REGION ==============
|
NORTH EDGE: 5200000
|
|
|
WEST EDGE |
| EAST EDGE
1621000
|
| 1635000
|
SOUTH EDGE: 5134000
|
=====================================
PROJECTION: 1(UTM)
ZONE: 32
GRID RESOLUTION
East-West:
1______
North-South: 1______
AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE
(OR <Ctrl-C> TO CANCEL)
E' possibile creare delle nuove proiezioni personalizzate.
Per creare una location in Roma40/Gauss Boaga vedi http://www.ing.unitn.it/~grass/docs/Gauss-Boaga_in_GRASS6.0.pdf
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Moduli GRASS
I comandi di GRASS hanno un prefisso utilizzato per identificare il tipo di comando.
La prima lettera identifica il tipo di comando, mentre le parole successive identificano il subargomento; alcuni comandi hanno dei sub-sub-identificatori.
d.*
g.*
i.*
r.*
v.*
s.*
m.*
p.* / ps.*
...
Marco Ciolli - Paolo Zatelli
- display commands for graphical screen output
- general file management commands
- image processing commands
- raster processing commands
- vector processing commands
- site processing commands (point data)
- miscellaneous commands
- map creation commands
- unix scripts
Dipartimento di Ingegneria Civile e Ambientale
Esempi di comandi di GRASS
d.mon
d.rast
d.vect
i.rectify
g.rename
v.digit
r.digit
v.to.rast
v.in.e00
g.manual
Marco Ciolli - Paolo Zatelli
consente la gestione di monitor;
visualizza un raster;
visualizza un vettoriale;
rettifica di immagini raster ;
rinomina un file;
digitalizza un oggetto vettoriale;
digitalizza un oggetto raster;
trasforma un vector in raster;
legge dati in formato Arcinfo .e00;
visualizza i manuali.
Dipartimento di Ingegneria Civile e Ambientale
Interfaccia 6.2
gis.m (GIS Manager)
I pulsanti sul gis.m sono attivi,
inoltre sono presenti pulsanti sui
display di visualizzazione.
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Map Display
E' possibile usare:
●pulsanti dell'interfaccia grafica gis.m e dei display;
●menù dell'interfaccia grafica gis.m;
●linea di comando.
Interfaccia
Ad esempio per visualizzare un raster:
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Interfaccia
In entrambi i casi il risultato è:
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
Script
E' possibile lavorare con script
che lanciano comandi di GRASS,
automatizzando molte funzioni.
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
Interfaccia
Dipartimento di Ingegneria Civile e Ambientale
Marco Ciolli - Paolo Zatelli
La regione attiva
GRASS lavora sempre sulla regione attiva, cioè su quella porzione di
territorio che è selezionata in quel momento.
La regione attiva può essere modificata
esplicitamente con g.region.
Modificando la regione attiva esplicitamente con
g.region è possibile adattare la regione
all'estensione di un file raster o vettoriale oppure
richiamare una regione di estensione nota salvata
con un certo nome.
Dipartimento di Ingegneria Civile e Ambientale
La regione attiva
I settaggi della regione sono
consultabili da console
La regione attiva può, nella versione 6.1, essere modificata anche dal
sottomenù dei pulsanti del Map Display attivo
Marco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e Ambientale
Scarica

GRASS GIS - Università degli Studi di Trento