名称

ST_AsJPEG — 将栅格切片选定的波段作为单个联合图像专家组 (JPEG) 图像(字节数组)返回。如果未指定波段且波段数为 1 或超过 3,则仅使用第一个波段。如果仅有 3 个波段,则使用所有 3 个波段并将其映射到 RGB。

语法

bytea ST_AsJPEG(raster rast, text[] options=NULL);

bytea ST_AsJPEG(raster rast, integer nband, integer quality);

bytea ST_AsJPEG(raster rast, integer nband, text[] options=NULL);

bytea ST_AsJPEG(raster rast, integer[] nbands, text[] options=NULL);

bytea ST_AsJPEG(raster rast, integer[] nbands, integer quality);

说明

将栅格的选定波段作为单个联合图像专家组图像 (JPEG) 返回。如果您需要导出为不太常见的栅格类型,请使用 ST_AsGDALRaster。如果未指定波段且波段数为 1 或超过 3,则仅使用第一个波段。如果波段数为 3,则使用所有 3 个波段。该函数有许多变体,并具有许多选项。这些选项如下所列

  • nband 用于单波段导出。

  • nbands 是要导出的波段数组(请注意,JPEG 的最大值为 3),并且波段的顺序为 RGB。例如,ARRAY[3,2,1] 表示将波段 3 映射到红色,将波段 2 映射到绿色,将波段 1 映射到蓝色

  • quality 为 0 到 100 之间的数字。数字越大,图像越清晰。

  • options 文本数组,其中包含针对 JPEG 定义的 GDAL 选项(查看 JPEG 的 create_options ST_GDALDrivers)。对于 JPEG,有效选项为 PROGRESSIVE ON 或 OFF,以及 QUALITY 范围为 0 到 100,默认为 75。有关更多详细信息,请参阅 GDAL 栅格格式选项

可用性:2.0.0 - 需要 GDAL >= 1.6.0。

示例:输出

-- output first 3 bands 75% quality
SELECT ST_AsJPEG(rast) As rastjpg
    FROM dummy_rast WHERE rid=2;

-- output only first band as 90% quality
SELECT ST_AsJPEG(rast,1,90) As rastjpg
    FROM dummy_rast WHERE rid=2;

-- output first 3 bands (but make band 2 Red, band 1 green, and band 3 blue, progressive and 90% quality
SELECT ST_AsJPEG(rast,ARRAY[2,1,3],ARRAY['QUALITY=90','PROGRESSIVE=ON']) As rastjpg
    FROM dummy_rast WHERE rid=2;

另请参阅

第 9.3 节,“使用 PostGIS 栅格构建自定义应用程序”ST_GDALDriversST_AsGDALRasterST_AsPNGST_AsTIFF