01.10.2013 Views

Geografia libera con PostgreSQL: PostGIS come base di ... - Faunalia

Geografia libera con PostgreSQL: PostGIS come base di ... - Faunalia

Geografia libera con PostgreSQL: PostGIS come base di ... - Faunalia

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Geografia</strong> <strong>libera</strong> <strong>con</strong> <strong>PostgreSQL</strong>:<br />

<strong>PostGIS</strong> <strong>come</strong> <strong>base</strong> <strong>di</strong> una infrastruttura<br />

<strong>di</strong> dati geografici<br />

Emilia Venturato<br />

Emilia Venturato - venturato@faunalia.it<br />

Paolo Cavallini, Walter Lorenzetti - www.faunalia.it<br />

<strong>PostGIS</strong><br />

Prima giornata nazionale de<strong>di</strong>cata a <strong>PostgreSQL</strong><br />

PGDay 2007 – 6,7 Luglio 2007 – Prato, Italia<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Emilia Venturato<br />

I dati geografici<br />

Il dato geografico è per natura trasversale<br />

Interessa molti soggetti <strong>di</strong>versi<br />

responsabili e creatori del dato<br />

analisti<br />

competenze variegate<br />

pubblico!<br />

Di solito costoso da acquisire e mantenere<br />

Ha caratteristiche speciali<br />

proiezioni (la terra non è piatta!)<br />

relazioni topologiche<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Emilia Venturato<br />

Perchè il geodata<strong>base</strong><br />

Storicamente il dato geografico è stato<br />

mantenuto separato<br />

<strong>di</strong>fficoltà <strong>di</strong> integrazione <strong>con</strong> le basi dati<br />

gestionali<br />

analisi prive della <strong>di</strong>mensione geografica<br />

Approccio basato su files<br />

incoerenza e inaffidabilità<br />

Necessaria una soluzione unitaria<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Emilia Venturato<br />

La soluzione: <strong>PostGIS</strong><br />

Estensione geografica <strong>di</strong> <strong>PostgreSQL</strong><br />

gestione delle geometrie (2, 3, 4 <strong>di</strong>mensioni)<br />

POINT, LINESTRING, POLYGON, MULTIPOINT,<br />

MULTILINESTRING, MULTIPOLYGON,<br />

GEOMETRYCOLLECTION, CURVESTRING,<br />

CURVEPOLYGON, COMPOUNDCURVE<br />

in<strong>di</strong>ci specializzati<br />

R-TREE su GiST<br />

funzioni<br />

standard OGC “Simple Features for SQL”<br />

standard ISO SQL/MM<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Sette anni <strong>di</strong> storia<br />

Emilia Venturato<br />

Cosa è <strong>PostGIS</strong>?<br />

2001: prima release (GPL!), supporto per Mapserver<br />

2002: migliorati funzioni e in<strong>di</strong>ci<br />

2003: supporto GEOS, molte funzioni<br />

2004: aderenza alle Simple Features SQL<br />

2005: geometrie 'leggere'<br />

2006: <strong>con</strong>formità OGC SFSQL<br />

2007: SQL/MM, curve e prestazioni<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


<strong>PostGIS</strong> Polygon<br />

Emilia Venturato<br />

Semplicità del formato dati<br />

POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))<br />

Oracle Polygon<br />

MDSYS.SDO_GEOMETRY(<br />

2003, NULL, NULL,<br />

MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),<br />

MDSYS.SDO_ORDINATE_ARRAY(0,0, 0,1, 1,1, 1,0, 0,0))<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Emilia Venturato<br />

Spatial Reference ID (SRID)<br />

Spatial Reference ID (SRID)<br />

permette la <strong>con</strong>versione tra sistemi <strong>di</strong><br />

riferimento <strong>di</strong>versi<br />

Standard OGC<br />

Scelto tra quelli presenti nella tabella<br />

spatial_ref_sys<br />

2672 proiezioni <strong>di</strong>sponibili<br />

-1 quando non noto<br />

Nello stesso data<strong>base</strong> possono <strong>con</strong>vivere dati<br />

in coor<strong>di</strong>nate <strong>di</strong>fferenti<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Emilia Venturato<br />

Sono più <strong>di</strong> 250<br />

in <strong>con</strong>tinua crescita<br />

Funzioni <strong>di</strong> <strong>PostGIS</strong><br />

Permettono operazioni <strong>di</strong><br />

costruzione <strong>di</strong> geometrie a partire da testi<br />

<strong>con</strong>versione tra sistemi <strong>di</strong> coor<strong>di</strong>nate<br />

calcoli <strong>di</strong> aree, lunghezze, perimetri, ecc.<br />

verifica <strong>di</strong> sovrapposizione, inclusione, ecc.<br />

unione e sottrazione<br />

linear referencing system<br />

e molte altre operazioni<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


1. Importazione <strong>di</strong> uno shapefile<br />

Emilia Venturato<br />

shp2pgsql<br />

Una semplicissima analisi<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


2. calcolo del centroide<br />

Emilia Venturato<br />

Una semplicissima analisi<br />

SELECT ST_CENTROID(the_geom) FROM table;<br />

3. calcolo del buffer<br />

SELECT ST_BUFFER(the_geom) FROM table;<br />

4. calcolo della superficie<br />

SELECT ST_AREA(the_geom) FROM table;<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Emilia Venturato<br />

Difficile il geodata<strong>base</strong>?<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Emilia Venturato<br />

Desktop<br />

QGIS<br />

OpenJUMP<br />

uDIG<br />

GvSIG<br />

Analisi<br />

Web<br />

GRASS<br />

Client geografici<br />

UMN Mapserver<br />

GeoServer<br />

Interfacciabile anche <strong>con</strong> software proprietario<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Emilia Venturato<br />

Cosa si può fare?<br />

Visualizzazione<br />

QuantumGIS<br />

Selezione e interrogazione<br />

Cartografia tematica<br />

Integrazione <strong>con</strong> dati <strong>di</strong> altra origine<br />

Digitalizzazione <strong>di</strong>retta<br />

in sviluppo: <strong>di</strong>gitalizzazione avanzata e topologica<br />

Importazione/esportazione shapefile<br />

grafica!<br />

Stampa<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Emilia Venturato<br />

QuantumGIS: query builder<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Emilia Venturato<br />

Cosa si può fare?<br />

Visualizzazione<br />

Cartografia tematica<br />

UMN MapServer<br />

Selezione e interrogazione<br />

Semplici <strong>di</strong>gitalizzazioni<br />

Stampa<br />

Molti clients <strong>di</strong>namici (AJAX)<br />

p.mapper<br />

ka-map<br />

ecc.<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Emilia Venturato<br />

Accesso ai dati geografici: MapServer<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Emilia Venturato<br />

Documentazione<br />

Sito ufficiale: http://postgis.refractions.net<br />

Manuale: http://postgis.refractions.net/documentation<br />

Wiki: http://postgis.refractions.net/support/wiki/<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia


Emilia Venturato<br />

Licenza della presentazione<br />

Creative Commons<br />

Attribuzione-Non commerciale-Con<strong>di</strong>vi<strong>di</strong> allo stesso modo 3.0 License<br />

<strong>Geografia</strong> <strong>libera</strong><br />

PGDay 2007 – 6-7 Luglio 2007 – Prato, Italia

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!