全部產品
Search
文件中心

PolarDB:ST_SubRaster

更新時間:Sep 02, 2026

將影像的某個金字塔層級或某個波段作為一個新的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

是否使用分Block Storage。

boolean

和原始raster一致。

無

chunkdim

分塊的維度資訊。

string

和原始raster一致。

當chunking=true時該參數才有效。

chunktable

分塊表名稱。

string

''

如果傳入''或NULL,則會產生一個隨機表名的臨時塊表用於存放資料。 該暫存資料表只在當前會話中有效。如果需要保持一個可訪問的裁剪對象,則需要指定塊表名稱。

compression

壓縮演算法類型。

string

和原始raster一致。

目前只支援如下類型:

  • NONE

  • JPEG

  • ZLIB

  • PNG

  • LZO

  • LZ4

quality

壓縮品質。

integer

和原始raster一致。

取值範圍為:1~99。

當compression參數為JPEG時該參數才有效。

interleaving

交錯方式。

string

和原始raster一致。

必須是以下一種:

  • bip:Band interleaved by pixel

  • bil:Band nterleaved by pixel

  • bsq:Band Sequential

endian

位元組序。

string

和原始raster一致。

必須是以下一種:

  • NDR:Little endian

  • XDR:Big endian

celltype

像素類型。

string

和原始raster一致。

必須為以下之一:

  • 1bb:1 bit

  • 2bui:2 bit unsigned integer

  • 4bui:4 bit unsigned integer

  • 8bsi:8 bit signed integer

  • 8bui:8 bit unsigned integer

  • 16bsi:16 bit signed integer

  • 16bui:16 bit unsigned integer

  • 32bsi:32 bit signed integer

  • 32bui:32 bit unsigned integer

  • 64bsi:64 bit signed integer

  • 64bui:64 bit unsigned integer

  • 32bf : 32bit float

  • 64bf : 64bit float

Options基於JSON格式的字串,用於描述操作選項。支援的參數如下:

參數名稱

描述

類型

預設值

說明

parallel

操作並行度。

integer

ganos.parallel.degree

並行度範圍為1~64。

stretch

像素值展開方式。

string

none

支援以下幾種方式:

  • none:不進行像素值展開,如果超出像素類型極值範圍則用極值替代。

  • stats:使用統計值進行展開。柵格對象必須要有統計值資訊,可預先通過ST_SummaryStats函數進行計算。

  • data_type:使用像素類型的極值進行像素值展開。

樣本

將指定的波段轉換為新的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;