将影像的某个金字塔层级或某个波段作为一个新的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;