將影像的某個金字塔層級或某個波段作為一個新的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一致。 | 目前只支援如下類型:
|
quality | 壓縮品質。 | integer | 和原始raster一致。 | 取值範圍為:1~99。 當compression參數為JPEG時該參數才有效。 |
interleaving | 交錯方式。 | string | 和原始raster一致。 | 必須是以下一種:
|
endian | 位元組序。 | string | 和原始raster一致。 | 必須是以下一種:
|
celltype | 像素類型。 | string | 和原始raster一致。 | 必須為以下之一:
|
Options基於JSON格式的字串,用於描述操作選項。支援的參數如下:
參數名稱 | 描述 | 類型 | 預設值 | 說明 |
parallel | 操作並行度。 | integer | ganos.parallel.degree | 並行度範圍為1~64。 |
stretch | 像素值展開方式。 | string | none | 支援以下幾種方式:
|
樣本
將指定的波段轉換為新的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;