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;