创建影像金字塔。
语法
raster ST_BuildPyramid(raster source, integer pyramidLevel default -1, ResampleAlgorithm algorithm default 'Near', cstring chunkTableName default '', cstring storageOption default '{}', cstring buildOption default '{}');
参数
参数名称 | 描述 |
---|---|
source | 需要创建金字塔的raster对象。 |
chunkTableName | 金字塔所存储的分块表名称。只对基于对象存储(OSS)的栅格对象有效。 |
pyramidLevel | 金字塔创建的层级, -1表示创建到最高层级。 |
algorithm | 创建金字塔的重采样算法,取值如下:
|
storageOption | JSON字符串,存储选项。描述raster对象金字塔的分块存储信息。该选项只针对基于对象存储OSS的栅格对象有效。 |
buildOption | JSON字符串,构建选项。当前支持参数parallel,可以设置操作并行度,数据类型为Integer,取值范围为1~64。不指定parallel时,使用GUC参数ganos.parallel.degree的值。
说明 如果启用并行创建金字塔,则不支持事务。如果创建失败或需要对事务回滚,使用
ST_deletePyramid删除已经创建的金字塔。
|
storageOption参数说明如下。
参数名称 | 类型 | 说明 |
---|---|---|
chunkdim | string | 分块的维度信息,格式为(w, h, b) ,默认从原始影像中读取分块大小。 |
interleaving | string | 交错方式,取值如下:
|
compression | string | 压缩算法类型,取值如下:
|
quality | integer | 压缩质量。只针对jpeg和jp2k压缩算法生效,默认值为75。 |
描述
创建金字塔支持GPU加速,如果运行环境带有GPU设备,则Ganos会自动开启GPU加速功能。
示例
Update raster_table set raster_obj = ST_BuildPyramid(raster_obj) where id = 1; Update raster_table set raster_obj = ST_BuildPyramid(raster_obj, 'chunk_table') where id = 2; --使用jpeg2000压缩 --确保指定所有波段在一个分块内 Update raster_table set raster_obj = ST_BuildPyramid( raster_obj, -1, 'Near', 'chunk_table', '{"compression":"jp2k", "quality": 75, "chunkdim":"(256,256,4)","interleaving":"auto"}') where id = 3; -- 使用并行方式创建 Update raster_table set raster_obj = ST_BuildPyramid( raster_obj, -1, 'Near', 'chunk_table', '{"compression":"jp2k", "quality": 75, "chunkdim":"(256,256,4)","interleaving":"auto"}', '{"parallel":4}') where id = 3;