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;