PostGIS Raster Workshop 22.03.2012, FOSSGIS 2012, Dessau-Rosslau <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 1 Beispieldaten ● ● Die im Workshop verwendeten Beispieldaten sind im Ordner /opt/postgis2.0/shapefiles und /opt/postgis2.0/raster enthalten. PostGIS 2.0 für OSGeo Live 5.5 als TarGZ-Datei unter http://ftp.intevation.de/users/stephan/fo ssgis-2012/ws/postgisraster/postgis2.0ALPHA7osgeolive5.5.tar.gz <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 2 Über den Referenten ● ● Stephan Holl, Berater und Senior Consultant für Geodatenbanken und -serversysteme ● Seit 2003 in der Freien GIS-Community aktiv ● MapServer-Spezialist ● Mitauthor des QGIS-Handbuchs sowie der deutschen Übersetzung ● Schulungsleiter Geospatial Software ● Arbeitet bei: – Intevation GmbH <[email protected]> – http://www.intevation.de/geospatial <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 3 PostgreSQL ● Features – – – – – – – ● AKID (Atomar, Konsistent, Isoliert, Dauerhaft) SQL 92, Query Optimizer Volltext-Suche Seperation, Master-Slave-Replikation Hot-Backup, Hot-standby, Write-ahead Logs / PITR Stored Procedures Trigger / Rules Freie Software: BSD <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 4 PostGIS: Geschichte ● 2001: – – ● 2002: – ● – – ● Verbesserte Basisfunktionen, Index 2003 - 2005: – ● SFSQL als Designgrundlage Anbindung UMN MapServer GEOS-Anbindung Lightweight Geometries PostGIS 1.0.0 2006: OpenGIS SFSQL compliance 2007: CurveTypes <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 5 PostGIS: Geschichte ● ● 2009 – Performance/Stabilitäts-Optimierungen – Start der Raster-Entwicklungen (SOC) 2010 – ● PostGIS 1.5.2, Septermber 24 2012 – PostGIS 2.0: Raster-Support – PostGIS 2.0: 3D – PostGIS 2.0: Topology-Support – Idealer mögl. Release: April 2012 <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 6 PostGIS Raster: Geschichte ● ● WKTRaster: – Juni 2009: Erster Prototype von WKTRaster – Dez. 2009: Erster Vollzeit-Entwickler für WKTRaster – Feb 2010: 3 Firmen finanzieren WKTRaster – Sept. 2010: WKTRaster wird PostGIS Raster PostGIS Raster: – Feb. 2011: erste Plugins für QGIS und gvSIG – ab PostGIS 2.0 mit enthalten <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 7 Einrichtung einer Datenbank ● createdb <datenbankname> ● createlang plpgsql <datenbankname> ● psql -f postgis.sql <datenbankname> ● psql -f legacy.sql <datenbankname> ● psql -f spatial_ref_sys.sql <datenbankname> ● psql -f rtpostgis.sql <datenbankname> <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 8 Was ist PostGIS Raster? ● Wie PostGIS vector 'GEOMETRY' ● Neuer nativer Datentyp 'RASTER' – Eine Tabellenspalte == eine Rasterzelle – Eine Tabelle == ein Coverage ● Import/Export-Mechanismus ● Einfache Raster/Vektor-Konvertierung – ST_DumpToPolygons(raster) → GEOMETRY – ST_AsRaster(geometry, pixelsize) → RASTER <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 9 Was ist PostGIS Raster? ● ● Unterstützte Raster-Funktionen: – ST_resample() – ST_Clip() – ST_Reclass() – ST_MapAlgebra() ... Einfaches Arbeiten mit Rastern und Vektoren: – ST_intersection() – ST_union() – ST_transform() ... <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 10 Features ● ● ● ● ● Rasterstorage in- und außerhalb der DB (als GeoTIFF) Raster-Eigenschaften verändern Overviews als (separate) Kindtabellen in der DB Einfacher als Oracles Georaster (nur ein Datentyp anstatt SDO_GEORASTER und SDO_RASTER Metadaten in raster_columns-View (analog zu geometry_columns) <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 11 Import von Raster-Daten ● raster2pgsql <raster> <tabelle> – Optionen: ● -s: SRID ● -D: Postgresql COPY (Bulk load) ● -I: GiST-Index ● -l (ell): overviews erzeugen ● -t: Tile-Size (30x30) ● -C: Default Constraints – Ausgabe SQL-Skript – Möglichkeit einer Pipe: „| psql .....“ <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 12 Export von Raster-Daten ● gdal_translate – Benötigt 'PostGISRaster'-GDAL-Treiber – readonly – Muss mit in GDAL kompiliert werden ● st_AsGDALRaster() ● st_GDALDrivers() <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 13 Räumlicher Index ● ● ● Erstellen eines Index: CREATE INDEX harz_raster_gidx ON harz_raster USING GIST ( st_convexhull(rast) ); Sammeln von Statistiken VACUUM ANALYSE; Oder alternativ beim Importieren mit erstellen. <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 14 Links www.postgis.org www.postgresql.org Stephan Holl <[email protected]> www.intevation.de/geospatial <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 15 Genug Theorie - Praxisarbeit! <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 16 Datenherkunft ● ● SRTM-Höheninformationen (http://www.opendem.info) OSM-Daten des Harzes <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 17 Tasks ● DB-Server starten – . /opt/postgis2.0/bin/setpostgis – /opt/postgis2.0/bin/postgis_ctl start – psql postgis_template ● DB anlegen ● Raster- und Vektordaten importieren ● Visualisieren mit QGIS ● ● Verschneiden von Raster- und Vektordaten Visualisieren mit QGIS <[email protected]> PostGIS Raster, FOSSGIS 2012, Dessau-Rosslau - Seite 18