ST_AsGDALRaster — Gibt die Rasterkachel in dem ausgewiesenen Rasterformat von GDAL aus. Sie können jedes Rasterformat angeben, das von Ihrer Bibliothek unterstützt wird. Um eine Liste mit den unterstützten Formaten auszugeben, verwenden Sie bitte ST_GDALDrivers().
bytea ST_AsGDALRaster(
raster rast, text format, text[] options=NULL, integer srid=sameassource)
;
Gibt die Rasterkachel im dem ausgewiesenen Format zurück. Die Übergabewerte sind:
format
das Format das abgerufen wird. Dies ist abhängig von den Treibern die mit Ihrer Bibliothek "libgdal" kompiliert wurden. Üblicherweise stehen 'JPEG', 'GTIff' und 'PNG' zur Verfügung. Verwenden Sie bitte ST_GDALDrivers, um eine Liste der von Ihrer Bibliothek unterstützten Formate zu erhalten.
options
ein Textfeld mit Optionen für GDAL. Gültige Optionen sind formatabhängig. Siehe GDAL Raster format options für weitere Details.
srs
Der Text von "proj4text" oder "srtext" (aus der Tabelle "spatial_ref_sys"), der in das Rasterbild eingebettet werden soll
Verfügbarkeit: 2.0.0 - GDAL >= 1.6.0.
SELECT ST_AsGDALRaster(ST_Union(rast), 'JPEG', ARRAY['QUALITY=50']) As rastjpg FROM dummy_rast WHERE rast && ST_MakeEnvelope(10, 10, 11, 11);
Eine Möglichkeit um Raster in einem anderen Format zu exportieren ist die Verwendung der PostgreSQL Large Object Export Functions. Wir erweitern das vorherige Beispiel mit einem Export. Dafür benötigen Sie Administratorrechte für die Datenbank, da serverseitige Funktionen "Large Objects" verwendet werden. Es kann auch auf einen Server im Netzwerk exportiert werden. Wenn Sie einen lokalen Export benötigen, verwenden Sie bitte die äquivalenten "lo_"-Funktionen von psql, welche auf das lokale Dateisystem anstatt auf das des Servers exportieren.
DROP TABLE IF EXISTS tmp_out ; CREATE TABLE tmp_out AS SELECT lo_from_bytea(0, ST_AsGDALRaster(ST_Union(rast), 'JPEG', ARRAY['QUALITY=50']) ) AS loid FROM dummy_rast WHERE rast && ST_MakeEnvelope(10, 10, 11, 11); SELECT lo_export(loid, '/tmp/dummy.jpg') FROM tmp_out; SELECT lo_unlink(loid) FROM tmp_out;
SELECT ST_AsGDALRaster(rast, 'GTiff') As rastjpg FROM dummy_rast WHERE rid=2; -- Out GeoTiff with jpeg compression, 90% quality SELECT ST_AsGDALRaster(rast, 'GTiff', ARRAY['COMPRESS=JPEG', 'JPEG_QUALITY=90'], 4269) As rasttiff FROM dummy_rast WHERE rid=2;