将影像的某个金字塔层级或某个波段作为一个新的raster进行返回。
语法
raster ST_SubRaster(raster raster_obj ,
integer pyramidLevel default 0,
cstring bands default '',
cstring storageOption default '',
cstring options default '{}')
参数
参数名称 | 描述 |
---|---|
raster_obj | raster对象。 |
pyramidLevel | 金字塔层级。 |
bands | 需要裁剪的波段。用'0-2' 或者‘1,2,3’ 这种形式表示,从0开始。默认为'' ,表示裁剪所有的波段。
|
storageOption | 返回结果的存储选项,为JSON字符串。具体信息,请参见storageOption。 |
options | JSON字符串表示的操作选项。具体信息,请参见Options。 |
storageOption参数如下。
参数名称 | 描述 | 类型 | 默认值 | 说明 |
---|---|---|---|---|
chunking | 是否使用分块存储。 | boolean | 和原始raster一致。 | 无 |
chunkdim | 分块的维度信息。 | string | 和原始raster一致。 | 当chunking=true 时该参数才有效。
|
chunktable | 分块表名称。 | string | '' |
如果传入'' 或NULL,则会产生一个随机表名的临时块表用于存放数据。 该临时表只在当前会话中有效。如果需要保持一个可访问的裁剪对象,则需要指定块表名称。
|
compression | 压缩算法类型。 | string | 和原始raster一致。 | 目前只支持如下类型:
|
quality | 压缩质量。 | integer | 和原始raster一致。 | 取值范围为:1~99。
当compression参数为JPEG时该参数才有效。 |
interleaving | 交错方式。 | string | 和原始raster一致。 | 必须是以下一种:
|
endian | 字节序。 | string | 和原始raster一致。 | 必须是以下一种:
|
celltype | 像素类型。 | string | 和原始raster一致。 | 必须为以下之一:
|
Options基于JSON格式的字符串,用于描述操作选项。支持的参数如下:
参数名称 | 描述 | 类型 | 默认值 | 说明 |
---|---|---|---|---|
parallel | 操作并行度。 | integer | ganos.parallel.degree | 并行度范围为1~64。 |
stretch | 像素值拉伸方式。 | string | none | 支持以下几种方式:
|
示例
将指定的波段转换为新的raster对象。
SELECT ST_SubRaster(rast, 1, '0-2', '{"chunktable":"chunk_table", "chunking":true}')
FROM raster_sub
WHERE id=1;
并行转换像素类型并进行拉伸操作。
SELECT ST_SubRaster(rast, 1, '0-2', '{"chunktable":"chunk_table", "chunking":true, "celltype": "8BUI"}', '{"stretch": "data_type", "parallel": 4}')
FROM raster_sub
WHERE id=1;