I GIS liberi
Paolo Cavallini
presidente GFOSS.IT
[email protected]
Flavio Rigolon
socio GFOSS.IT
[email protected]
www.gfoss.it
Grazie a: Emilia Venturato, Leonardo Lami, Walter Lorenzetti, la comunità
GIS
­ Geographic Information System (software)
­ sul “mercato” ci sono svariati prodotti
­ costi delle licenze alti
­ 1 software per fare molte cose diverse → ma le fa davvero bene?
­ è possibile realizzare un SIT soltanto con software FOSS?
­ desktop­gis, database, web­gis?
GIS FOSS:
cosa offre?
­ Desktop gis:
­ Geo­database:
­ Web­gis:
­ GRASS (analisi);
­ PostGIS ­ UMN Mapserver;
­ Quantum GIS;
(estensione spaziale di ­ Geoserver;
­ gvSIG (java);
postgreSQL)
­ JGRASS (java);
­ Applicazioni di ­ Kosmo (java);
web­mapping:
­ OpenJUMP (java);
­ pmapper;
­ Thuban;
­ ka­map!;
­ Ossim;
­ openlayers...
­ OpenEV
GRASS
Geographic Resources Analysis Support System
GRASS
Geographic Resources Analysis Support System
­ 1982 – 1995: sviluppato dal U.S. Army Corps of Engineers Construction Engineering Research Laboratory (CERL) in Illinois.
­ Fine anni '80: pubblicazione del codice sorgente in internet.
­ 1998: GRASS 4.2.1 coordinata da Markus Neteler (università di Hannover).
­ dal 2001 quartier generale alla Fondazione Bruno Kessler (ex I.T.C.) di Trento (http://grass.itc.it/).
La versione attuale è la 6.3.
GRASS
Geographic Resources Analysis Support System
Molto potente: possibilità di fare elaborazioni molto complesse di map algebra su file di grosse dimensioni.
Dalla versione 5.3 pieno supporto ai vettori tridimensionali.
Possibilità di connettersi a db esterno (PostgreSQL, MySQL, SQLlite) mediante opportuni comandi (db.connect, db.tables,....), connessione a R.
Importazione ed esportazione di svariati formati di file vettoriali e raster mediante librerie GDAL/OGR.
Molto specialistico/ingegneristico: approccio poco user­
friendly per “cominciare”.
GRASS
Geographic Resources Analysis Support System
GRASS consente di fare operazioni di map­algebra su strati raster anche molto complessi.
Esempio:
Sommare due raster (“dtm” e “edifici_rast”) per ottenere un dtm realistico che si “estrude” in corrispondenza di ogni edificio di una quantità pari all'altezza dell'edificio stesso.
r.mapcalc "dtm_edifici=if(edifici_rast > 0, dtm+edifici_rast, dtm)"
+
=
GRASS
Geographic Resources Analysis Support System
NVIZ è un modulo di GRASS che consente la visualizzazione dei dati in 3 dimensioni.
Utile per fare analisi di DEM (Digital Elevation Model).
Salvataggio di viste 3d.
“Fly though path” o percorsi a volo d'uccello mediante la creazione di frame (fotogrammi) “montabili” al fine di ottenere video in formato MPEG.
GRASS
Geographic Resources Analysis Support System
QGIS
Quantum GIS
QGIS
Quantum GIS
Progetto giovane: nasce nel giugno 2002 dalla volontà di Gary Sherman.
Sviluppatori di tutto il mondo: in particolare sviluppatori di GRASS (Radim Blazek) hanno contribuito per l'integrazione con GRASS stesso.
User­friendly: ottimo per che si approccia al GIS per la prima volta
Rigorosi riferimenti ai protocolli dell'OpenGis Consortium (OGC): Organizzazione Internazionale per la standardizzazione nei Sistemi Informativi Territoriali.
Versione attuale: 0.10
QGIS
Quantum GIS
­ Multipiattaforma: Linux, Mac OS X, Windows, FreeBSD, NetBSD.
­ Caricamento e creazione file SHP.
­ Caricamento ed editing di strati Postgis.
­ Connessione diretta a vettori e raster di GRASS.
­ Gestione trasparenze su vettori e raster, possibilità di caricamento piramidale dei raster.
­ Caricamento ed esecuzione dei più importanti moduli di GRASS.
­ “Map composer” per la stampa
QGIS
Quantum GIS
­ Modulo interattivo per la georeferenziazione di raster.
­ Gestione semplice delle voci di legenda: creazione di mappe tematiche, applicazione di etichette, creazione di “azioni” (hyperlink, caricamento programmi esterni,...), strutturazione di query semplici ed avanzate.....
­ Numerosi plug­in: esportazione map file per Mapserver, creazione image­map, download e upload dati GPS (via gpsbabel), importazione SHP in Postgis,.....
­ Possibilità di creare plug­in con python (dalla versione 0.9.1).
gvSIG
Generalitat Valenciana Sistema Informativo geografico
gvSIG
Generalitat Valenciana Sistema Informativo geografico
­ Sviluppato in Spagna
­ Java
­ connessione a DB
­ driver per caricamento SHP, DXF, DWG,....
­ Sextante per analisi e operazioni spaziali
Kosmo
Sistema Abierto de Informacion Geografica
Kosmo
Sistema Abierto de Informacion Geografica
­ Sviluppato in Spagna
­ Java
­ connessione a DB
­ driver per caricamento SHP, DXF, DWG,....
­ vestizione grafica avanzata
POSTGIS
Estensione spaziale di PostgreSQL: versione attuale 1.3.2 (dicembre 2007).
Consente di gestire un db PostgreSQL come un insieme di dati geografici.
Rispetta gli standard OGC.
Gestione dei sistemi di riferimento mediante le librerie Proj4 Importazione di SHP direttamente mediante modulo “shp2pgsql”.
POSTGIS
Consente di effettuare query “spaziali” sugli oggetti archiviati nel db: calcolo di distanze, verifica condizioni di appartenenza, adiacenza, creazione di buffer (fasce di rispetto),...
Pgrouting per il calcolo dei minimi percorsi in un grafo (struttura ad archi e nodi; per es. rete stradale o reti di infrastrutture e servizi, fognature, pubbica illuminazione,...) tenendo conto del “peso” di ogni tratta.
Memorizzazione dei dati geometrici in WKT (Well Know Text) e WKB (Well konw Binary).
“SELECT asewkt(the_geom) FROM tabella;” (per ottenere le coordinate in WKT)
POSTGIS
Entità geometriche supportate da Postgis:
­ POINT
­ MULTIPOINT
­ LINESTRING
­ MULTILINESTRING
­ POLYGON
­ MULTIPOLYGON
­ GEOMETRYCOLLECTION(POINT,LINESTRING, ...)
POSTGIS
E' indispensabile un database per il SIT?
­ No. I dati vettoriali (in un GIS) sono collegati sempre a tabelle di attributi (dbf)......
­ ......però gestire i dati geografici mediante database offre moltissimi vantaggi soprattutto quando più utenti devono manipolare gli stessi dati (in consultazione e/o modifica)
Perché usare PostgreSQL­ PostGIS?
­ Perché si interfaccia direttamente a GRASS, QGIS, MAPSERVER e via OGR con svariati programmi.
POSTGIS
Come vengono scritti i dati in PostGIS?
­ SRID
­ Tipo di geometria
­ Serie di coordinate
POSTGIS
WKB – formato binario: più rapido per le elaborazioni, non interpretabile (dalla v. 1.0).
the_geom | 0106000020BB0B000001000000010300000001000000080000007B03A2D5D2BF3941E32124CABA3C5
34147B8BCCBD9BF3941EABB06FFB93C5341C......
WKT – formato testo: più lento ma leggibile (fino alla v. 0.9).
asewkt | SRID=3003;MULTIPOLYGON(((1687506.83450338 5042923.15845534,1687513.79584839 5042919.98478601,1687519.12338959 5042899.76745017,1687512.5664158 5042888.56595328,1687495.76417003 5042886.65350244,1687499.17926055 5042896.62556677,1687492.758..)))
POSTGIS
Lo SRID (Spatial Reference ID):
­ Serve per effettuare la conversione tra sistemi di riferimento diversi;
­ Viene preso tra quelli contenuti nella tabella “spatial_ref_sys”;
­ vale “­1” quando non è noto;
­ Nello stesso database possono coesistere dati con SRID diverso.
POSTGIS
­ geometry_columns
­ spatial_ref_sys
POSTGIS
Alcune funzioni spaziali.
­ ST_Length – calcolo di lunghezze;
­ ST_Area – calcolo di aree;
­ ST_Contains – funzione di contenimento;
­ ST_Intersection – funzione di intersezione;
­ ST_Buffer – calcolo fascia di rispetto;
­ ......
UMN MAPSERVER
Server cartografico per la pubblicazione di dati territoriali via WEB.
Sviluppato dall'Università del Minnesota.
Applicativo CGI: necessita di un web­server per poter essere eseguito.
Rispetta gli standard OGC (anche come WMS e WFS)
Librerie usate: shapelib, freetype, proj4, gdal/ogr
UMN MAPSERVER
Richiesta mappa
da un client
MAPPA risultato
Web server (apache)
dati
Map
file
Mapserver
template
UMN MAPSERVER
Richiesta mappa
da un client
MAPPA risultato
Web server (apache)
dati
Map
file
Mapserver
template
UMN MAPSERVER
Richiesta mappa
da un client
MAPPA risultato
Web server (apache)
dati
Map
file
Mapserver
template
UMN MAPSERVER
Richiesta mappa
da un client
MAPPA risultato
Web server (apache)
dati
Map
file
Mapserver
template
elaborazione
UMN MAPSERVER
Richiesta mappa
da un client
MAPPA risultato
Web server (apache)
dati
Map
file
Mapserver
template
elaborazione
UMN MAPSERVER
Richiesta mappa
da un client
MAPPA risultato
Web server (apache)
dati
Map
file
Mapserver
template
elaborazione
UMN MAPSERVER
Mapserver produce essenzialmente 4 cose:
1. una mappa;
2. una mappa di riferimento;
3. una legenda;
4. una barra di scala;
L'aspetto e la definizione di questi 4 oggetti sono definiti nel MAPFILE (file di testo semplice con estensione “.map”).
UMN MAPSERVER
Il TEMPLATE file (“.html”) è la struttura della pagina di interfaccia con l'utente. Contiene opportune parole chiave (TAG) come [img], [legend], [ref], [scalebar] la cui definizione è contenuta nel MAPFILE.
Alla richiesta di un client (via web­server) Mapserver elabora i DATI visualizzandoli nel TEMPLATE secondo le indicazioni definite nel MAPFILE.
UMN MAPSERVER
mappa
mappa di riferimento
legenda
barra di scala
GEOSERVER
­ Molto forte nel vettoriale
­ Anche WFS­T: editing on­line
p.mapper
Front­end evoluto per Mapserver.
Gestisce Mapserver mediante php_mapscript, javascript.
Altamente personalizzabile pur offrendo degli ottimi tools di default.
Consultazione interattiva dei dati degli oggetti, visualizzaizone in base alla scala, strumenti di misurazione, stampa in scala (html e/o pdf), ricerca di oggetti in base ai loro attributi,...
p.mapper
ka­map!
Front­end evoluto per Mapserver.
Gestisce Mapserver mediante php_mapscript, javascript.
Sfrutta la tecnologia AJAX: Asynchronous JavaScript And XML >> eccezionale gestione dei raster (navigazione “fluida”).
Supporta funzioni per il routing.
ka­map!
Ancora mapping
­ GPSdrive (http://www.gpsdrive.de/) >> consente di rilevare la posizione attuale mediante collegamento a GPS. Effettua download automatico della mappe a seconda della posizione. Possibilità di precaricamento delle carte.
­ GpsBabel (http://www.gpsbabel.org/)>> convertitore di dati rilevati da vari GPS (usato da QGIS e GRASS nei loro moduli).
­ GDAL/OGR (Geospatial Data Abstraction Library) (
www.gdal.org/) >> librerie che consentono la trasformazione in vari formati di dati raster e vettoriali (gdal_info, gdal_translate, ogr2ogr,....)
In sintesi


Tutti i software più importanti hanno una fortissima componente europea, e ancora di più italiana
•
GRASS, QGIS
•
PostGIS
•
MapServer
•
Geoserver
•
p.mapper, ka­map, OpenLayers
Una ricchezza nazionale!
Ci vediamo su....
Sito: http://gfoss.it
Wiki: http://wiki.gfoss.it/index.php/Gfoss_Italia
Mailing­list: http://www.faunalia.com/cgi­bin/mailman/listinfo/gfoss
....happy free mapping! :­)
Licenza di questa presentazione:
Creative Commons 3.0 BY­NC­SA