Il Software Open Source per la Geomatica Francesco Pirotti CIRGEO -Dipto TESAF GIS (Geographic Information System) SIT (Sistema Informativo Territoriale) Le componenti essenziali di un GIS: Immagazzinamento e gestione dati Analisi geografica e geo-statistica Visualizzazione e interattività desktop Visualizzazione e interattività web È possibile realizzare un sistema GIS open source? non solo per ricerca applicazioni commerciali applicazioni istituzionali GIS OS per: Gestione dati Peculiarità del modello GIS raster + vettori + alfanumerico + metadata + proiezioni topologia (digitalizzazione) dimensioni interoperabilità standard (OGC: WMS, WFS, SF, ecc.) La soluzione OS: GDAL/OGR Formati proprietari? shapefile (aperto, documentato) problemi: DWG, DWF, ECW, GML3.0? GIS OS per: Analisi geografica Elemento cruciale in un SIT - produzione del dato GRASS: Geographic Resources Analysis and Support System molto potente - raster e vettoriale (2D, 3D, 4D) complesso ben integrato con l'altro GFOSS come tutti i programmi di analisi PostgreSQL, MySQL, SQLlite, OGR, MapServer GvSIG, OpenJUMP etc... ormai molte librerie (sextante project) forniscono moduli per analisi. R – Software statistico con moduli spatial per analisi geo-spaziali. GRASS raster vector NVIZ Gps Topologia elaborazione immagini un GIS completo Manca la parte di stampa avanzata Digitalizzazione poco user friendly GRASS - 3D GRASS + NVIZ – visualizzazione ed analisi in 3D GRASS - Geostatistica GRASS + R + modulo di interazione le funzioni di R possono essere chiamate all'interno di GRASS la struttura aperta dà un vantaggio strutturale rispetto ai sistemi proprietari GIS OS per: Analisi geografica R – Software per la statistica con un modulo spatial molto ricco – non user friendly library(sp) library(lattice) # required for trellis.par.set(): trellis.par.set(sp.theme()) # sets color ramp to bpy.colors() data(meuse) coordinates(meuse)=~x+y data(meuse.riv) meuse.sr = SpatialPolygons(list(Polygons(list(Polygon(meuse.riv)),"meuse.riv"))) rv = list("sp.polygons", meuse.sr, fill = "lightblue") ## multi-panel plot, scales + north arrow only in last plot: ## using the "which" argument in a layout component ## (if which=4 was set as list component of sp.layout, the river ## would as well be drawn only in that (last) panel) scale = list("SpatialPolygonsRescale", layout.scale.bar(), offset = c(180500,329800), scale = 500, fill=c("transparent","black"), which = 4) text1 = list("sp.text", c(180500,329900), "0", cex = .5, which = 4) text2 = list("sp.text", c(181000,329900), "500 m", cex = .5, which = 4) arrow = list("SpatialPolygonsRescale", layout.north.arrow(), offset = c(181300,329800), scale = 400, which = 4) cuts = c(.2,.5,1,2,5,10,20,50,100,200,500,1000,2000) spplot(meuse, c("cadmium", "copper", "lead", "zinc"), do.log = TRUE, key.space = "right", as.table = TRUE, sp.layout=list(rv, scale, text1, text2, arrow), # note that rv is up front! main = "Heavy metals (top soil), ppm", cex = .7, cuts = cuts) Desktop: QGIS Punti forti Semplicità Geobrowser Digitalizzazione dei vettori Plugin (GPS, Python, Postgis, Conversione, Georeferenzazione) Interfaccia semplice di GRASS Desktop: gvSIG Semplicità Sextante Gestore di processi Plugin ( metadata, pubblicazione, network analisys) Simile ad Arcview gvSIG Mobile (palmari) Database e geodatabase Vantaggi univocità del dato affidabilità anche in caso di banche dati molto grandi possibilità di correlare in gruppi di lavoro grandi e articolati gestione della sicurezza e dei privilegi GEOS! Il cuore di un vero SIT PostGIS Gestione delle proiezioni EPSG proj.4 Interagisce bene con tutto GFOSS anche client non geografici Importa/esporta shapefiles Elaborazioni geografiche dirette buffer, overlay, intersect, ecc. Mancano i raster Gestione topologia (sperimentale) Web mapping: UMN MapServer / Mapguide OS Standard OGC Web Map Service Web Feature Service Web Coverage Service Web Map Context Documents Geography Markup Language Styled Layer Descriptor Ottime prestazioni di rendering Interazione con tutto il GFOSS Interfaccia a DB e geoDB Web mapping: GeoServer Interfaccia web per la configurazione WFS, WMS e WCS Anche WFS-T! editing online Web mapping framework: p.mapper Caratteristiche: UMN Mapserver PHP/ MapScript Ottimi strumenti per la stampa, la ricerca di elementi.. W3C XHTML 1.0 Curva apprendimento... Web mapping framework: ka-Map! Caratteristiche: UMN Mapserver PHP/ MapScript Sistema di cache per ridurre il carico sul server Tiling system per migliorare l'esperienza di navigazione. Web mapping framework: OpenLayers Caratteristiche: Libreria Javascript Simile alle API di Google Maps ma LIBERA! Compatibile con gli standard OGC Interazione con sorgenti dati proprietarie: Google, Yahoo, ecc.. Web mapping framework: Fusion Caratteristiche: Libreria Javascript - Per UMN MS e MapGuide OpensourceWidgets di stampa e ricerca LIBRERIE – GDAL/OGR/liblas Caratteristiche: Librerie e API in linguaggi di programmazione Permettono lo sviluppo software senza reinventare la ruota Mettono a disposizione “utilities” estremamente utili: ie gdal_translate, gdal_merge etc.... LIBRERIE – GDAL Caratteristiche: Accesso in lettura / scrittura di praticamente tutti i formati immagine Possibilità di creare nuovi driver per formati non supportati Utilities utilizzate in script tipo batch per automatizzare operazioni su numerose immagini LIBRERIE – OGR Caratteristiche: Accesso in lettura / scrittura di praticamente tutti i formati vettoriali (NO DWG ...) Possibilità di creare nuovi driver per formati non supportati Utilities utilizzate in script tipo batch per automatizzare operazioni su numerose immagini LIBRERIE – liblas Caratteristiche: Accesso in lettura / scrittura dei formati lidar LAS Possibilità di modificare il codice per eseguire operazioni sui punti Utilities – txt2las, las2tin, las2las etc molto versatili – anche un lasview (3D viewer) Conclusioni Insieme di programmi Interoperatività: ok formati! politica di distribuzione dei dati INSPIRE WMS/WFS Geodatabase: ok Analisi: ok Desktop: quasi Web: ok Lidar: OK Gfoss.it Ha lo scopo di favorire - sviluppo, diffusione, tutela del software esclusivamente libero ed open source standard aperti La comunità può interagire tramite diversi strumenti: - sito internet[1] - mailing list - wiki - canale irc [1] www.gfoss.it