建立影像金字塔。
文法
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 | 金字塔所儲存的分塊表名稱。只對基於Object Storage Service的柵格對象有效。 |
pyramidLevel | 金字塔建立的層級, -1表示建立到最高層級。 |
algorithm | 建立金字塔的重採樣演算法,取值如下:
|
storageOption | JSON字串,儲存選項。描述raster對象金字塔的分Block Storage資訊。該選項只針對基於Object Storage Service的柵格對象有效。 |
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;