全部產品
Search
文件中心

PolarDB:ST_SubRaster

更新時間:Jul 06, 2024

將影像的某個金字塔層級或某個波段作為一個新的raster進行返回。

文法

raster ST_SubRaster(raster raster_obj ,
                    integer pyramidLevel default 0,
                    cstring bands default '',
                    cstring storageOption  default '',
                    cstring options default '{}')

參數

參數名稱描述
raster_objraster對象。
pyramidLevel金字塔層級。
bands需要裁剪的波段。用'0-2'或者‘1,2,3’這種形式表示,從0開始。預設為'',表示裁剪所有的波段。
storageOption返回結果的儲存選項,為JSON字串。具體資訊,請參見storageOption
optionsJSON字串表示的操作選項。具體資訊,請參見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操作並行度。integerganos.parallel.degree並行度範圍為1~64。
stretch像素值展開方式。stringnone支援以下幾種方式:
  • 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;