将影像的某个金字塔层级,或某个波段作为一个新的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一致 | 必须是以下一种:
|
endian | 字节序。 | string | 和原始raster一致 | 必须为以下其中之一:
|
示例
SELECT ST_SubRaster(rast, 1, '0-2', '{"chunktable":"chunk_table", "chunking":true}')
FROM raster_sub
WHERE id=1;