Upload
dangcong
View
218
Download
0
Embed Size (px)
Citation preview
GRASS GISgeneralità ed approfondimento
Marco Ciolli - Paolo ZatelliDipartimento 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 InteroperabilityQGIS GRASS PostgreSQL/PostGIS UMN Mapserver GDAL/OGRThuban GRASS/R-stats MySQL GeoServer PROJ4OpenEV JGRASS
JUMPuDIG
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
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).
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
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.
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
La storia 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.
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
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.
Diffusione di GRASS
Storia di GRASS e release1989: Civil Internet1994: WWW bornGRASS 1.0
GRASS 4.2.1/4.3
GRASS 5.0
GRASS 5.1/5.7
GPL'ed
GRASS 4.2Manual code management
Automated code management (CVS)
PD
1993
1997
1998
1999
1997 University of Baylor
1998 Universität Hannover
2001 ITC-irst
GRASS 6.0
2001
2005
U.S. Army (19841995)
GRASS Development Team (1997 oggi)
1984 GRASS 4.1
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
GRASS 6.2.1
2006
Costo di GRASSUseless, but interesting.
GRASS 5.0.3:Total Physical Source Lines of Code (SLOC) = 772,827Development 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,816Development 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,939Development Effort Estimate, Person-Years (Person-Months) = 89.31 (1,071.67)Total Estimated Cost to Develop = $ 12,064,022
Linux Kernel 2.4.27:Total Physical Source Lines of Code (SLOC) = 3,511,066Development 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,526Development Effort Estimate, Person-Years (Person-Months) = 14,005.78 (168,069.41)Total Estimated Cost to Develop = $1.9 billion
modificato da:http://grass.itc.it/pipermail/grass5/2004-August/015127.html
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
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 X-Windows;●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.
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
Binario o sorgente?●GRASS è distribuito come binario linux (in vari formati: Debian-.deb, SuSE-.rpm),MacOSX, MS Windows/Cygwin oppure come sorgente.
Vantaggi SvantaggiBinario Facilità e velocità di installazione Usa parametri standard,
è generato periodicamenteSorgente 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.
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
Live CDE' 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 XP1. 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 CDhttps://www.geographie.uni-freiburg.de/~mlechner/CygwinGRASS/
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
GRASS sotto Linux
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
GRASS sotto Windows/Cygnus
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
GRASS sotto Mac OS X
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
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.
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
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).
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
http://grass.itc.it/
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
Documentazione
http://grass.itc.it/gdp/index.html
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
GRASS Documentation Projecthttp://grass.itc.it/gdp/general.php
Tutorial
Dipartimento di Ingegneria Civile e AmbientaleMarco 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 AmbientaleMarco Ciolli - Paolo Zatelli
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
Documentazione in italiano
Documentazione in italiano
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
Documentazione in italiano
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
Documentazione in italiano
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
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!
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/XY/FOTODARETTIFICARE/ /HOME/MARCO/TRENTINO/ORTOFOTO/
LOCATION.1 LOCATION.2 LOCATION.3 LOCATION.n
GISDBASE
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
Location e MapsetOgni 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.
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
Struttura di un MAPSET in GRASS 6.0-6.2Un mapset nativo 6.0-6.1 si presenta attualmente come segue
element contenutovector/ contiene la geometria dei vectordbf/ contiene gli attributi dei vectorcell/ file raster cellhd/ headers dei file raster cats/ categorie dei file raster colr/ tabella dei colori per file raster cell_misc/ file di supporto statistiche dei raster fcell/ gestisce i file raster floating pointhist/ informazioni su file raster icons/ icone usate da p.map paint/ label usate da p.map arc/ file Arc/Info ungenerate
PATH WIND CELL ...
MIOMAPSETPERMANENT
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
SessioneSi 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.
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
6.0 6.2.1
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.
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
Per creare una location in Roma40/Gauss Boaga vedi http://www.ing.unitn.it/~grass/docs/Gauss-Boaga_in_GRASS6.0.pdf
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 sub-argomento; alcuni comandi hanno dei sub-sub-identificatori.
d.* - display commands for graphical screen output g.* - general file management commands i.* - image processing commands r.* - raster processing commands v.* - vector processing commands s.* - site processing commands (point data) m.* - miscellaneous commands p.* / ps.* - map creation commands ... - unix scripts
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
Esempi di comandi di GRASS
d.mon consente la gestione di monitor;
d.rast visualizza un raster;
d.vect visualizza un vettoriale;
i.rectify rettifica di immagini raster ;
g.rename rinomina un file;
v.digit digitalizza un oggetto vettoriale;
r.digit digitalizza un oggetto raster;
v.to.rast trasforma un vector in raster;
v.in.e00 legge dati in formato Arcinfo .e00;
g.manual visualizza i manuali.
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
Interfaccia 6.2
E' possibile usare:●pulsanti dell'interfaccia grafica gis.m e dei display;●menù dell'interfaccia grafica gis.m;●linea di comando.
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
I pulsanti sul gis.m sono attivi, inoltre sono presenti pulsanti sui display di visualizzazione.
gis.m (GIS Manager) Map Display
InterfacciaAd esempio per visualizzare un raster:
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
InterfacciaIn entrambi i casi il risultato è:
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
Script
E' possibile lavorare con script che lanciano comandi di GRASS, automatizzando molte funzioni.
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
Interfaccia
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
La regione attivaGRASS 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.
Dipartimento di Ingegneria Civile e AmbientaleMarco Ciolli - Paolo Zatelli
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 AmbientaleMarco Ciolli - Paolo Zatelli
La regione attiva
La regione attiva può, nella versione 6.1, essere modificata anche dal sottomenù dei pulsanti del Map Display attivo
I settaggi della regione sono consultabili da console