全部產品
Search
文件中心

PolarDB:ST_BuildPyramid

更新時間:Jul 06, 2024

建立影像金字塔。

文法

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建立金字塔的重採樣演算法,取值如下:
  • Near:最鄰近
  • Average:平均值
  • Bilinear:二次線性
  • Cubic:三次卷積
storageOptionJSON字串,儲存選項。描述raster對象金字塔的分Block Storage資訊。該選項只針對基於Object Storage Service的柵格對象有效。
buildOptionJSON字串,構建選項。當前支援參數parallel,可以設定作業並行度,資料類型為Integer,取值範圍為1~64。不指定parallel時,使用GUC參數ganos.parallel.degree的值。
說明 如果啟用並行建立金字塔,則不支援事務。如果建立失敗或需要對交易回復,使用ST_deletePyramid刪除已經建立的金字塔。

storageOption參數說明如下。

參數名稱類型說明
chunkdimstring分塊的維度資訊,格式為(w, h, b),預設從原始影像中讀取分塊大小。
interleavingstring交錯方式,取值如下:
  • bip:像素交錯
  • bil:行交錯
  • bsq(預設值):波段交錯
  • auto:根據原始影像自動選擇
compressionstring壓縮演算法類型,取值如下:
  • none
  • jpeg
  • zlib
  • png
  • lzo
  • lz4(預設值)
  • zstd
  • snappy
  • jp2k
qualityinteger壓縮品質。只針對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;