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;