Post on 03-Jun-2020
1Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Spatial is not Specialcosa sono le tecnologie GeoSpatial e perche' stanno diventando
sempre piu' strategiche e pervasive. Il ruolo del GFOSS (GeoSpatial Free and Open Source Software)
a presidio della liberta' di informazione e di scelta per tutti
Alessandro Furieri - Presidente di GFOSS.it, l'associazione italianaper l'informazione geografica libera
2Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Cartografia storica – Nolli / Piranesi 1748
3Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Cartografia convenzionale
una mappa accurata è il frutto di processo lungo, faticoso e costoso
richiede necessariamente l'impiego di un elevato numero di rilevatori molto qualificati
richiede l'uso di particolari strumentazioni tecniche, ma richiede anche doti artistiche
quindi non stupisce scoprire che il ciclo di produzione e di aggiornamento aveva durata ultra-decenale !!!
4Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
GIS – Geographic Information System
Salto di tecnologia
l'informatica come supporto cartografico intelligente, con capacità di elaborazione: nascono i sistemi informativi territoriali.
strumenti con un taglio decisamente specialistico, rivolti ad un'utenza molto selezionata e professionale.
Pubblica Amministrazione ed indotto; uso praticamente nullo nell'industria privata.
Spatial Is Special !!!
5Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Cartografia: usi professionali e gente comune
6Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Nuovi scenari, nuove opportunità
tablet e smart phones dotati di GPS e connessione WEB integrata.
sono ovviamente la mappa perfetta; la cartografia sbarca sul mercato mass consumer
nel nuovo scenario il vecchio paradigma GIS Spatial Is Special mostra limiti evidenti
ora servono soluzioni aperte, modulari, basate su componenti universali ed interoperabili; Spatial Is Not Special !!!
7Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
ma anche nuove sfide e nuove insidie
applicazioni e dati ormai sono un tutt'uno; vecchie certezze si infrangono.
il codice non è più centrale; ora sono i dati l'elemento strategico; chi controlla i dati ed i servizi web di consultazione controlla il mercato.
lo scenario cloud + mobiles rischia di produrre monopoli globali di dimensioni inaudite
le mappe sono uno dei fronti caldi della guerra per il dominio dei nuovi mercati.
8Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
un nuovo pericolo si affaccia all'orizzonte
walled gardens: splendidi giardini accoglienti ma circondati da un muro chiuso invalicabile
l'ingresso è completamente gratuito per tutti
ma una volta entrati dentro qualsiasi libertà svanisce
il giardiniere decide tutto; l'ospite è totalmente passivo
i servizi cartografici web su scala globale sono belli, comodi e facili da usare: ma sono esattamente walled gardens
9Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
l'alternativa open / free
il Web è lo spazio ideale per la condivisione di dati e servizi su base collaborativa.
è terreno di conquista per i monopoli; ma è anche il terreno ottimale per la crescita delle communities.
è decisamente poco credibile che una multinazionale possa conoscere il territorio locale meglio di chi ci vive.
open data + sw libero + servizi condivisi: non siamo disarmati, abbiamo molte buone frecce nell'arco
10Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
La babele dei formati proprietari
per lunghi decenni il settore GIS / GeoSpatial si è sviluppato dentro ad una nicchia impermeabile chiusa verso l'esterno e dominata da pochissimi vendors.
ne è derivata una nefasta proliferazione di formati e protocolli (spesso chiusi e proprietari): giustificati più da strategie di marketing che da reali esigenze tecnologiche.
spesso l'interoperabilità è solo un vago miraggio.
11Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Gli standard internazionali
OGC: Open GeoSpatial Consortium
dati standard: Spatial SQL
servizi OWS: OGC Web Services; protocolli standard basati su schemi formali XML– GML, WMS, WFS, WFS-T,
WMTS, WCS, WPS, SOS, CSW, SLD/SE ...
il rispetto scrupoloso degli standard garantisce una buona interoperabilità; e tutela gli investimenti sul lungo periodo
12Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
L'ecosistema GFOSS
L'offerta di SW FLOSS è particolarmente ricca in ambito GeoSpatial (GFOSS)
Sono disponibili librerie e packages per i più svariati ambiti applicativi
In molti casi è addirittura possibile scegliere tra più progetti alternativi
Il ruolo delle comunità GFOSS e degli sviluppatori italiani è decisamente rilevante a livello mondiale
13Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Spatial DBMS free sw
Basati su standard Spatial SQL - ISO SQL/MM
PostgreSQL + PostGIS– robusto DBMS client-server
di fascia enterprise– potente e sofisticato:
complesso
SQLite + SpatiaLite– Personal DBMS– semplice e leggero: facile– tanto leggero che gira
persino su Android
14Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
componenti WebGis
Basati su servizi standard OWS: WMS, WFS, WCS ...
GeoServer: un potente server cartografico Java
MapServer: un altro server cartografico CGI / FastCGI
GeoNetwork: un server Java per i servizi di catalogazione / aggregazione
OpenLayers: una libreria JavaScript che trasforma Firefox in un app cartografica sofisticata
15Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Applicazioni desktop GIS
Strumenti fortemente specialistici, rivolti all'utenza molto professionale
GRASS: molto potente, largamente utilizzato per la ricerca scientifica
QGIS: un desktop GIS professionale molto diffuso
gvSIG: un altro desktop GIS professionale (in Java)
uDIG, OpenJump e tanti, tanti altri ...
16Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
La vera potenza invisibile: le librerie
PROJ.4 [C]: supporta le operazioni di riproiezione tra SRS differenti
GEOS [C++]: supporta le principali operazioni geometriche e topologiche
GDAL / OGR [C / C++ / Python]: consente l'accesso a praticamente tutti i formati Raster e Vector, sia open che proprietari
Oltre naturalmente alle consuete librerie FLOSS: – libtiff, libpng, libjpeg, zlib, expat, libxml2, libiconv, gsl,
openssl, libcurl …
In ambito Java: JTS e GeoTools
17Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Ma di cosa stiamo parlando ? come funziona ?
18Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
l'ABC del GeoSpatial: RASTER / VECTOR
RasterVector
19Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Immagini Raster
Un'immagine raster è una matrice rettangolare di celle chiamate pixels
ciascun singolo pixel è caratterizzato da una tripletta RGB
oppure da un indice di colore che permette di ottenere un valore RGB tramite una palette predefinita
ma un valore-cella può anche rappresentare una qualsiasi grandezza fisica
visualizzazione a falsi colori
20Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Immagini Raster: il DEM SRTM
Shuttle Radar Topography Mission
Febbraio 2001: navetta Endeavour, missione della durata di 11 giorni
un radar interferometrico ad apertura sintetica ha misurato l'elevazione della superficie terrestre
il risultato è un Digital Elevation Model a 90m di risoluzione
sono Open Data (public domain) grazie a NASA ed USGS
21Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
SRTM DEM: visualizzazione a falsi colori
Gargano #1 Gargano #2
22Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
SRTM DEM: evidenziare il rilievo
un DEM consente di calcolare facilmente le ombreggiature
basta estrarre ciascun blocchetto di 3x3 pixels, calcolare orientazione ed inclinazione del blocchetto in esame e quindi si ottiene l'angolo di incidenza dei raggi emessi da un falso sole
l'effetto finale consente di ottenere una cartografia di grande impatto visivo e facilmente leggibile Gargano shadow-relief
23Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
SRTM DEM: falsi colori effetto 3D
Gargano #1 Gargano #2
24Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Immagini Raster: foto satellitari - Landsat7
Lanciato in orbita il 15 Aprile 1999 e tuttora funzionante (parzialmente guasto dal 31 Maggio 2003)
il progenitore Landsat 5 funziona ininterrottamente dal 1 Marzo 1984
sensori ottici: banda luce visibile (Red, Green, Blue) IR (near, mid); risoluzione 30m
banda pancromatica (B&N): 15m, banda IR termico: 60m
sono Open Data (public domain) grazie a NASA ed USGS
25Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
foto satellitari - Landsat7
orbita polare eliosincrona
quota 705 Km; passaggio diurno discendente Nord/Sud
ogni 232 orbite torna a passare esattamente sullo stesso punto; cioè ha un tempo di ritorno di 16 giorni
la banca dati Lansat rappresenta una memoria storica ultra-decennale (a partire dagli anni '70)
ha un enorme valore scientifico, specie per gli studi ambientali
26Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Landsat7: l'Italia vista dallo spazio
Fiumicino Roma
27Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
OrbView: 4m/px ed 1m/px
Foce Albegna Trieste FS
28Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Altri raster: mappe delle temperature
Ottobre Gennaio
29Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Immagini Raster: vecchie mappe
I raster non sono solo DEM e foto aeree e/o satellitari
possono anche rappresentare mappe convenzionali (cartacee) opportunamente scannerizzate
p.es. mappe topografiche militari o catastali
in questo modo si recupera, si valorizza e si conserva un vasto patrimonio di conoscenze storiche pre-esistenti
30Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Criticità delle mappe Raster
i raster possono essere visualizzati a scala ridotta (downsampling interpolato)
esiste comunque una barriera insuperabile (pixellation); zoomando oltre la risoluzione nativa i singoli pixels diventano evidenti, e la mappa diventa illeggibile
i raster sono estremamente avidi di memoria e di storage
i raster sono molto pesanti da elaborare
31Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Geometrie Vettoriali
René Descartes detto Cartesio (1596 – 1650); aveva già inventato tutto quello che serve !!!
Geometria Computazionale: l'insieme degli algoritmi che ci consentono di elaborare le informazioni spaziali in modo efficiente e rapido
naturalmente serve anche definire un modello dati standard, che consenta di rappresentare le geometrie in modo inter-operabile.
32Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
data-type: Geometry
un nuovo tipo dati: Geometry
visto che è una classe astratta, non può mai essere instanziata direttamente
occorre instanziare piuttosto una delle 7 sotto-classi concrete che derivano dalla classe generica
POINT
LINESTRING
POLYGON
MULTIPOINT
MULTILINESTRING
MULTIPOLYGON
GEOMETRYCOLLECTION
33Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
POINT
un punto geometrico
2D [X,Y]
3D [X,Y,Z]
esempi cartografici:– alberi isolati– pali / cartelli stradali– fermate autobus– punti quota– contatori gas / luce /acqua– numeri civici
POI – Point Of Interest– banche, uffici, ristoranti,
musei, bagni pubblici etc
34Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
LINESTRING
una sequenza ordinata di vertici; ciascun vertice è connesso al successivo.
2D, 3D
N.B. dato che è un modello vettoriale, i LINESTRING hanno un verso ben preciso
esempi: elettrodotti, strade, ferrovie, acquedotti, fiumi, siepi, muri e recinzioni, filari di alberi, curve di livello
i LINESTRING reali spesso hanno 1000+ vertici
35Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
POLYGON
Sicuramente hanno sempre un unico Exterior Ring
opzionalmente, possono avere un numero arbitrario di Interior Rings (buchi)
un Ring è una figura chiusa: può avere verso orario o antiorario
esempi: campi, aiuole, boschi, edifici, laghi, isole, zonizzazioni, confini politici ed amministrativi
i POLYGON reali spesso hanno 1000+ vertici
36Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Notazione WKT (Well Known Text)
POINT(-1.23 9.87)
POINTZ(1.23 9.87 10.12)
LINESTRINGZ(1.23 -9.89 10.12, 2.34 -8.97 11.12, 3.45 -7.67 12.12)
MULTILINESTRING((1 1, 2 2), (3 3, 4 4), (5 5, 6 6))
POLYGON((-1.23 -2.87, -11.23 -2.87,-11.23 -19.87, -1.23 -19.87, -1.23 -2.87), (-4.56 -6.78, -5.56 -6.78, -5.56 -7.78, -4.56 -7.78, -4.56 -6.78))
GEOMETRYCOLLECTIONZ(POINTZ(111.92 -9.87 10.12), POLYGON Z((1.23 -2.87 10.01, 11.23 -2.87 10.02,11.23 -19.87 10.03, 1.23 -19.87 10.04, 1.23 -2.87 10.01), (4.56 -6.78 11.01, 5.56 -6.78 11.02, 5.56 -7.78 11.03, 4.56 -7.78 11.04, 4.56 -6.78 11.01)))
37Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Predicati geospatial
consentono di valutare la relazione spaziale tra due geometrie
Equals ( geom1 , geom2 )
Disjoint ( geom1 , geom2 )
Touches ( geom1 , geom2 )
Within ( geom1 , geom2 )
Overlaps ( geom1 , geom2 )
Crosses ( geom1 , geom2 )
Intersects ( geom1 , geom2 )
Contains ( geom1 , geom2 )
equivalgono agli operatori relazionali == > < !=
38Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Operazioni geospatial
consentono di ottenere nuove geometrie derivate da geometrie esistenti
Intersection (g1, g2)
Union (g1, g2)
Difference (g1, g2)
SymDifference (g1, g2)
Distance(g1, g2)
Buffer(g, radius)
ConvexHull(g)
equivalgono alle operazioni aritmetiche + - * /
39Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Spatial SQL
SELECT r.nomeFROM regioni AS r, regioni AS umbriaWHERE Touches(r.geometry, umbria.geometry) = 1 AND umbria.nome = 'UMBRIA'ORDER BY r.nome
LAZIOMARCHETOSCANA
Standard internazionale ISO SQL/MM (ex OGC-SFS)
è un'estensione del popolare e ben noto SQL
qualsiasi DBMS in grado di supportare lo standard Spatial SQL è uno Spatial DBMS
pieno supporto per il data-type Geometry + ricco set di funzioni Spatial che consentono di effettuare complesse Spatial Analysis
robusto, conforme, efficiente
40Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Spatial Index
un indice di ricerca è una struttura logica che consente di reperire informazioni selezionate in modo veloce ed efficiente
problema dell'ago nel pagliaio; algoritmi di ricerca dicotomica
per le geometrie si applicano gli R-Tree [alberi di rettangoli]
consentono agli Spatial DBMS di gestire enormi moli di dati in modo efficiente e veloce
41Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Vestizione grafica dei dati vettoriali
42Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
tutto assieme = mappe vettoriali
estremamente flessibili
vestizione grafica a piacere
zoom a qualsiasi scala
uso efficiente della memoria e dello storage
veloci da processare, supportano anche modalità dinamiche ed interattive
capacità di elaborazione avanzata (Spatial Analysis)
facile integrazione con DBMS; sistemi di consultazione sofisticati e completi
43Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
tutto assieme = mappe Raster + Vector
44Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Complicazione: i sistemi di riferimento
La Terra è un ellissoide di rotazione; purtroppo una mappa è un foglio piano (carta, schermo etc)
Le coordinate geografiche si basano sugli angoli di longitudine e latitudine; quindi lunghezze ed aree sono espresse in gradi e gradi quadrati
sistema fisico naturale, basato su poli, equatore e meridiano fondamentale
GPS = WGS84
45Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Complicazione: i sistemi di riferimento
sistemi proiettati / planari
p.es. tramite proiezione trasversa di Mercatore
si ottiene tramite un cilindro (trasverso) tangente al meridiano di riferimento
il fuso centrale di 6 gradi preserva angoli, lunghezze ed aree in modo ottimale
un fuso esteso a 15 gradi è comunque ragionevole
le lunghezze sono espresse in metri, le aree in metri quadrati
46Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
Complicazioni: caos in agguato
eredità storiche nazionali: oltre 4.000 diversi sistemi di riferimento utilizzati per fini cartografici in tutto il mondo.
due mappe prodotte in due sistemi diversi ovviamente non si sovrappongono.
fortunatamente esistono algoritmi per la riproiezione dinamica (on-the-fly); i risultati non sono sempre necessariamente precisi.
molto adatti a dati Vector
poco adatti a dati Raster
47Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
tiriamo le somme …
Firefox + OpenLayers + OSM Firefox + OpenLayers + GMaps
48Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
giacimenti inesplorati tutti da scoprire
le tecnologie ci sono tutte
anche i dati di base sono abbondantemente disponibili
basta solo che le Pubbliche Amministrazione si decidano a renderli disponibili come Open Data !!!
mancano completamente i servizi di qualità localizzati sul territorio; magari abbinati alla geolocalizzazione degli utenti tramite GPS
possono rappresentare una opportunità di sviluppo economico interessante
49Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
giacimenti inesplorati tutti da scoprire
possibili settori di interesse:
turismo, beni culturali e naturali, escursionismo
logistica, info-mobilità
business intelligence
coinvolgimento attivo della cittadinanza nella gestione del territorio
servizi di pubblica utilità innovativi
servizi avanzati di assistenza alla persona
sicurezza, protezione civile
50Alessandro Furieri, Spatial Is Not SpecialPerugia, 27 ott 2012 GNU/Linux User Group Perugia – www.perugiagnulug.org
GRAZIE PER L'ATTENZIONE