Name

ST_AsJPEG — 将栅格图块选定的波段作为单个联合摄影导出组 (JPEG) 图像(字节数组)返回。 如果未指定波段且有 1 个或 3 个以上波段,则仅使用第一个波段。 如果只有 3 个波段,则使用所有 3 个波段并将其映射到 RGB。

Synopsis

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 text 为 JPEG 定义的 GDAL 选项数组(请查看 JPEG ST_GDALDrivers 的 create_options)。 对于 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;