Introduzione ai GIS GRASS e QGIS - Laboratorio di Geomatica

Introduzione ai GIS GRASS e QGIS
(dati supportati e funzionalità)
Roberto Antolín
Politecnico di Milano
Cos'è GRASS?
“Geographic Resources Analysis Support System”
GIS sviluppato per:
trattamento di dati,
analisi d'immagini,
modellizzazione spaziale, e
visualizzazione di dati.
Software Libero e codice aperto (FOSS)
http://grass.itc.it
2
Tipi di dati supportati
Raster 2d e analisi d'immagini
3d voxel per dati volumetrici
Dati vettoriali 2d/3d con topologia
Dati multidimensionali
3
Geometria e topologia
Geometria è veramente 3D
Punti
Centroidi
Linee
Bordi ('boundary')
Aree* = bordi + centroide
Faccia* = area 3D
'Kernel'* = centroide 3D
Volume* = faccia + kernel
Linea
Area
(*) Non i tutti i GIS
Faccia
4
Interoperabilità
Proj.4: Programma proiezioni
Ogr/gdal: Libreria conversioni dati
Database:
PostgreSQL/PostGIS
MySQL
SQLite
ODBC: PostgreSQL, MySQL, ORACLE, MS-Access, MS-SQL Server, ecc.
QGIS
R-stats
5
Struttura dei dati
DATABASE: Contiene tutti i dati di GRASS
Tutti proietti in GRASS sono organizzati in “Location” con
seguenti sottocartelle chiamate “Mapset”
LOCATION: Contiene tutti i dati spaziali di una regione
geografica.
MAPSET: Utilizzato per l'organizzazione dei dati e distribuirli
secondo utenti, gruppi di utenti o sotto-regioni
PERMANENT: Mapset che contiene i dati geografici della
location a cui appartiene.
6
Struttura dei dati
Database di GRASS
Location
Mapset
Geometria ed attributi
7
Struttura raster
Memorizzati in matrice numerica in cui ogni elemento
rappresenta un pixel con valori interi oppure virgola
mobile
I diversi dati di una carta raster si distribuiscono in più
file residenti in sottodirectory tematiche del mapset:
cat: contiene il file con l'elenco delle categorie
cell – fcell: contiene i file delle matrice numerica in formato
binario
cellhd: contiene i file con l'intestazione della carta
colr: contiene i file con l'informazione sui colori della carta
hist: contiene i file con l'informazione storica della carta:
autore, data, ecc...
8
Struttura vettoriali
Ogni carta vettoriale è contenuta in una directory
(all'interno della cartella 'vector') con lo stesso nome
della carta.
I diversi dati si distribuiscono in diversi file:
cidx: file che contiene l'indice per gestire la topologia
coor: file binario con i dati vettoriali e le categorie associate
dbln: contiene l'informazione sul tipo di connessione al DB
(driver, database, tabella, colonna, ecc...)
head: contiene l'intestazione del vettoriale
hist: contiene i file con l'informazione storica della carta:
autore, data, ecc...
topo: file binario con la topologia
9
Database in GRASS
Moduli
Geometria
Attributi
Librerie vettoriali
Librerie vettoriali
Nativo
ESRI Shapefile,
Arc/Info,
DGN, SDTS,
TIGER/Line,
MapInfo,
GML, ecc.
OGR
PostgreSQL
PostGIS
ODBC
MySQL
PostgreSQL
PostgreSQL
File
MySQL
MySQL
RDBMS
dbf
DBMI
ecc...
Oracle
Oracle
File
10
Come cominciare con GRASS?
Schermata di inizio di GRASS
(modo grafico)
11
Come cominciare con GRASS?
Schermata di inizio di GRASS (modo testo)
12
Creare una nuova location
Mediante un file di dati
georeferenziati
Codici EPSG
13
File EPSG
14
Creare nuova location
15
Creare nuova location
16
Creare nuova location
17
Creare nuova location
18
Creare nuova location
19
Creare nuova location
20
Creare nuova location
21
Creare nuova location
22
Creare nuova location
23
Struttura dei comandi
prefisso funzione tipo di commando
esempio
d.*
display
visualizzazione
d.rast: visualizare raster
db.*
database
gestione di database
db.select: ricavare valori da un DB
g.*
general
opzioni generali
g.rename: rinominare un
i.*
imagery
proccessamento immagini
i.smap: classifica immagini
ps.*
postscript
creazioni di carte in postscript
ps.map: creazione di una mapa
r.*
raster
proccessamento di raster
r.buffer: creazione di un orlo intorno un oggetto
r3.*
voxel
proccessamento di voxel
r3.mapcalc: algebra raster 3d
v.*
vector
proccessamento di vettoriali
v.overlay: intersezioni di mape
24
Visualizzazione ed interfaccia utente
Linea di comando - Monitor
GIS manager (predefinita)
NVIZ
QGIS
JavaGRASS (JGRASS)
25
Linea di comando - Monitor
Per visualizzare una carta si deve aprire un monitor
Si possono aprire più di uno
Quando si lancia un comando
si visualizza nel monitor
corrente
Avviare un monitor
d.mon x0
Cambiare monitor corrente
d.mon select=x0
Cancellare il contenuto
d.erase
26
GIS manager
L'altro visualizzatore di GRASS:
gis.m &
Visualizzare
zoom in & out
Cancellare
zoom a...
Agiungere legenda
agiungere vettoriale
agiungere raster
Layer vettoriali e raster
Monitor
Opzioni di visualizzazione
27
NVIZ
NVIZ include supporto a raster, vettoriali, volumi,
animazioni, profili, ecc...
28
QGIS:
http://www.qgis.org
Potente visualizzatore geospaziale che provvede supporto
a GRASS.
29
JGRASS: http://www.jgrass.org/cgi-bin/moin.cgi/MainPage
30
Cos'è una 'region'
Si intende per regione (oppure 'region') a ciò che
fornisce l'informazione su la risoluzione e le dimensioni
della carta.
predeterminata: definita nella 'location' indipendente di ogni carta
corrente: modificata dall'utente mediante zoom, cambio risoluzione,
ecc...
I moduli vettoriali lavorano su tutta la carta
I moduli raster lavorano soltanto sulla regione corrente
Come modificare una regione:
g.region: Cambia la risoluzione, le coordinate e fissa la regione a
quella predefinita.
d.zoom: Permette fare zoom
31
Importando i dati in GRASS
Sempre importa la carta complessiva
Supporta molti tipi di formati raster e vettoriali
Vettoriali (v.in.*)
OGR: ESRI Shapefile, UK .NTF,
SDTS, TIGER, S57, MapInfo File,
DGN, VRT, AVCBin, REC,
Memory, CSV, GML, ODBC, Pgeo,
PostgreSQL/PostGIS, OGDI, ecc...
ArcInfo E00
ASCII
GPS
DXF
Raster (r.in.*)
GDAL: ArcInfo, CEOS, DOQ,
DTED, ENVI, Envisat, Erdas
Img/LAN, FAST, (Geo)TIFF, HDF4,
SAR, SDTS, ecc...
ASCII
Bin: binary, BIL, GMT, ecc...
Matlab file
SRTM
32
Importare vettoriali con OGR
http://www.gdal.org/ogr
33
Importare: v.in.ogr
Esempio di importazione di un shape file ESRI
v.in.ogr \
dsn=”/home3/roberto/grassdb/lago_como/como/vettoriali/strade.shp”
\ output=strade snap=-1 min_area=0.0001
input
output
34
Visualizzare vettoriali: d.vect
Visualizzare:
d.mon x0
d.vect strade
d.vect comuni
d.vect laghi
d.vect urbaree
35
Digitalizzare
GRASS ha il suo modulo per digitalizzare
g.region rast=strade
d.vect strade
digitalizzare
v.digit map=strade -n
36
Network analysis
Metodi:
Trovare il percorso minimo: v.net.path
Connessione ottimale fra nodi: v.net.steiner
Calcolare iso-distanze: v.net.iso
Problema del 'travelling salesman': v.net.salesman
ecc...
Permettono lavorare con valori su
una tabella di attributi
aperto
chiuso
37
Network analysis
Percorso minimo:
d.vect strade
d.path strade
# oppure
# v.net.path
38
Comunicazione con DB
Permette importare da un db
v.in.db
Permette di leggere un vettoriale da una db in modo
'read-only'
v.external
Permette fare delle 'query'
v.select
Permette di gestire la tabella di attributi
v.db.connet: collega una carta ad una tabella di attributi
v.db.addcol, v.db.dropcol: crea/ancella tabella di attributi
v.db.addtable, v.db.droptable: crea/cancella tabella di attributi
39
Filtraggio di dati LiDAR
GRASS permette il filtraggio di dati LiDAR
v.outlier
v.lidar.edgedetection
v.lidar.growing
v.lidar.correction
40
Metodi di interpolazione
C'è la possibilità di creare raster da carte vettoriali
mediante:
Inverso della distanza pesata in 2D: v.surf.idw
Spline regolarizate con tensione 2D (con cross validazione): v.surf.rst
Spline regolarizate con tensione 3D (con cross validazione): v.vol.rst
Spline bilineari e bicubiche con regolarizate di Tychonov: v.surf.bspline
Densità del kernel 2D/3D: v.kernel
Kriging, modelli predittivi (mediante R-Stats)
41
Importare raster con GDAL
http://www.gdal.org/gdal
42
Importare: r.in.dgal
43
Lavorando con raster
Visualizzare raster
d.rast como_gtiff
Carte di aspetto e pendenze
r.slope.aspect como_gtiff
44
Algebra con carte raster
GRASS lavora in modo algebraico per ogni pixel
Si può filtrare DSM
r.mapcalc "dsm_400 = if(como_gtiff < 400.0, como_gtiff, null())”
Si possono sostrarre due raster
r.mapcalc “diff = como_dsm – como_dtm”
Si può fare un filtro
r.mapcalc “filtro = (diff[0,0] + diff[1,0] + diff[-1,0] + diff[0,1]
\ > + diff[1,1] + diff[-1,1] + diff[0,-1] + diff[1,-1] + diff[-1,1])””
Il suo utilizzo può essere
itterativo: Si lancia il comando e poi si lavora
si specifica l'espresione di seguito al comando
si utilizza un file di testo: r.mapcalc < nome_file
45
Algebra con carte raster
Operatori logici
Funzioni matematiche
46
Analisi raster: altre funzionalità
Analisi di DEM:
Riempimento di aree di depressione: r.fill.dir
Calcolo di linee di flusso: r.flow
Tracciamento di flusso: r.drain
Analisi di bacini fluviali: r.watershed e r.terraflow
Superfici di costo: r.cost
Energia:
Calcolo della posizione astronomica del sole e calcolo di umbre: r.sunmask
Calcolo della quantità di energia: r.sun
Linea di visione:
r.los
Metodi di interpolazione:
Da curve di livello 2D: r.surf.contour
Bilineare: r.bilinear
47
Esempio
Visualizzazione con NVIZ:
48
Processamento di volumi
GRASS può lavorare e visualizzare con “volumi” (3D
voxel)
Funzionalità
Importazione/esportazione 3D
Interpolazione con spline
regolarizzate 3D con tensione
Algebra 3D
Visualizzazione di volumi con
NVIZ: Iso-superfici e profili
49
Un po' di aiuto...
Aiuto on-line in HTML
g.manual entry=<commando> &
Aiuto on-line in formato MAN
g.manual -m entry=<commando>
50
Chi utilizza GRASS?
51
Cos'è QGIS?
'Quantum GIS' è un visualizzatore di dati geospaziali:
Qualsiasi tipo di formato fornito da GDAL/OGR
Formato GRASS
Basi di dati
WMS (Web Map Service)
Non fornisce nessuna funzionalità di analisi
L'analisi si fornisce mediante il software GRASS GIS
52
GRASS e QGIS
Avviare QGIS dalla linea di comando di GRASS
qgis
53
QGIS: interfacia di GRASS
modulo di
GRASS
54
QGIS: importando da GRASS
55
Visualizzare formato GRASS
vettoriale GRASS
raster GRASS
'shaded' GRASS
56
Altri tipi di dati
Visualizzare diversi layer
57
Altri tipi di dati
Vettoriali
Raster
PostgreSQL/PostGIS
Web Map Service
58
Altre funzionalità: GRASS
Toolbox di GRASS
59
Altre funzionalità: GRASS
Importare/esportare
Buffer vettoriale
estrazioni di oggeti
Gestione di geometria
triangolazione 'delaunay, diagrami di
'voronoi' e convex-hull
ecc...
60
Altre funzionalità
query
tabella di attributi
61
Altre funzionalità
62
Grazie tante per l'atenzione!
Roberto Antolín
Politecnico di Milano
roberto antolin at polimi it
http://geomatica.como.polimi.it
Licenza di questo documento
Questo lavoro ha licenza 'Creative Commons License'
http://creativecommons.org/licenses/by-sa/2.5/deed.en
“Introduzione ai GIS GRASS e QGIS”
© 2007 Roberto Antolín, Italia
http://geomatica.como.polimi.it
“GIS Seminar: The GRASS GIS software”
© 2006 Markus Neter, Italia
http://mpa.itc.it/markus/
64