創建影像金字塔。
語法
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壓縮算法生效。
取值范圍:1~99,默認值為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;