ST_AsGDALRaster — 以指定的 GDAL 柵格格式回傳柵格圖磚。柵格格式是您編譯的函式庫所支援的其中一種格式。使用 ST_GDALDrivers() 取得您的函式庫支援的格式清單。
bytea ST_AsGDALRaster(
raster rast, text format, text[] options=NULL, integer srid=sameassource)
;
以指定的格式回傳柵格圖磚。引數詳列如下:
format
輸出的格式。這取決於您 libgdal 函式庫中編譯的驅動程式。通常可用的格式有 'JPEG'、'GTIff'、'PNG'。使用 ST_GDALDrivers 取得您的函式庫支援的格式清單。
options
GDAL 選項的文字陣列。有效的選項取決於格式。請參考 GDAL 柵格格式選項 以取得更多詳細資訊。
srs
要嵌入影像的 proj4text 或 srtext(來自 spatial_ref_sys)。
可用性: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);
將柵格匯出為其他格式的一種方法是使用 PostgreSQL 大物件匯出函式。我們將重複先前的範例,但也一併匯出。請注意,因為它使用伺服器端的 lo 函式,所以您需要擁有資料庫的超級使用者權限。它也會匯出到伺服器網路上的路徑。如果您需要在本機匯出,請使用 psql 對應的 lo_ 函式,它會匯出到本機檔案系統,而不是伺服器檔案系統。
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;