将影像的某个金字塔层级,或某个波段作为一个新的raster进行返回。

语法

raster ST_SubRaster(raster raster_obj ,
           integer pyramidLevel default 0,
           cstring bands default '',  /* All bands */
           cstring storageOption  default '')

参数

参数名称 描述
raster_obj raster对象。
pyramidLevel 金字塔层级。
bands 需要裁剪的波段。用'0-2'或者‘1,2,3’ 这种形式表示,从0开始。默认为'',裁剪所有的波段。
storageOption 返回结果的存储选项,为JSON字符串。

storageOption参数如下。

参数名称 描述 类型 默认值 说明
chunking 是否使用分块存储。 boolean 和原始raster一致 -
chunkdim 分块的维度信息。 string 和原始raster一致 在chunking=true时才有效。
chunktable 分块表名称。 string '' 如果传入''值,则会产生一个随机表名临时块表用于存放数据。 该临时表只在当前会话中有效。如果需要保持一个可访问的裁剪对象,则需要指定块表名称。
compression 压缩算法类型。 string 和原始raster一致 目前只支持none、jpeg、zlib、png、lzo和lz4。
quality 压缩质量。 integer 和原始raster一致 只针对jpeg压缩算法。
interleaving 交错方式。 string 和原始raster一致 必须是以下一种:
  • bip:Band interleaved by pixel
  • bil:Band nterleaved by pixel
  • bsq:Band Sequential
endian 字节序。 string 和原始raster一致 必须为以下其中之一:
  • NDR:Little endian
  • XDR:Big endian

示例

SELECT ST_SubRaster(rast, 1, '0-2', '{"chunktable":"chunk_table", "chunking":true}')
FROM raster_sub
WHERE id=1;