將影像的某個金字塔層級,或某個波段作為一個新的raster進行返回。
文法
raster ST_SubRaster(raster raster_obj,
integer pyramidLevel default 0,
cstring bands default '', /* All bands */
cstringstorageOption default '')
參數
參數名稱 | 描述 |
raster_obj | raster對象。 |
pyramidLevel | 金字塔層級。 |
bands | 需要裁剪的波段。用'0-2'或者‘1,2,3’ 這種形式表示,從0開始。預設為'',裁剪所有的波段。 |
storageOption | 返回結果的儲存選項,為JSON字串。 |
storageOption參數如下。
參數名稱 | 描述 | 類型 | 預設值 | 說明 |
chunking | 是否使用分Block Storage。 | boolean | 和原始raster一致 | - |
chunkdim | 分塊的維度資訊。 | string | 和原始raster一致 | 在chunking=true時才有效。 |
chunktable | 分塊表名稱。 | string | '' | 如果傳入''值,則會產生一個隨機表名臨時塊表用於存放資料。 該暫存資料表只在當前會話中有效。如果需要保持一個可訪問的裁剪對象,則需要指定塊表名稱。 |
compression | 壓縮演算法類型。 | string | 和原始raster一致 | 目前只支援none、jpeg、zlib、png、lzo和lz4。 |
quality | 壓縮品質。 | integer | 和原始raster一致 | 只針對jpeg壓縮演算法。 |
interleaving | 交錯方式。 | string | 和原始raster一致 | 必須是以下一種:
|
endian | 位元組序。 | string | 和原始raster一致 | 必須為以下其中之一:
|
樣本
SELECT ST_SubRaster(rast, 1, '0-2', '{"chunktable":"chunk_table", "chunking":true}')
FROM raster_sub
WHERE id=1;