計算raster對象中指定波段集的百分比資訊。
文法
raster ST_BuildPercentiles(raster raster_obj,
cstring sampleOption default '{}')
raster ST_BuildPercentiles(raster raster_obj,
cstring bands,
cstring sampleOption default '{}',
cstring parallelOption default '{}')
參數
參數名稱 | 描述 |
raster_obj | Raster對象。 |
sampleOption | 基於JSON字串的採樣選項。更多資訊,請參見sampleOption。 |
bands | 指定的波段序號,從0 開始,格式類似'0,1-3,6,8' 的形式, '' 表示所有的波段。 |
parallelOption | 基於JSON字串的並行操作選項。更多資訊,請參見parallelOption。 |
sampleOption說明:
參數名稱 | 類型 | 預設值 | 描述 |
approx | boolean | false | 是否使用採樣方式計算。取值:[true|false] 說明 如果為true,則採用採樣方式計算統計值,結果可能會不精確。 |
factor | integer | 4 | 採樣方式計算時使用的採樣因子。取值為正整數。表示將n個象元作為一個採樣單元。 說明 僅在approx為true時有效。 |
exclusive_nodata | boolean | true | 是否不統計nodata資料。取值:[true|false] |
parallelOptions是基於JSON格式的字串,用於描述操作選項。支援的參數如下:
參數名稱 | 描述 | 類型 | 預設值 | 說明 |
parallel | 操作並行度。 | integer | ganos.parallel.degree | 並行度範圍為1~64。 |
樣本
-- 預設
UPDATE raster_table SET raster_obj = ST_BuildPercentiles(raster_obj) WHERE id = 1;
-- 指定波段和採樣方式
UPDATE raster_table SET raster_obj = ST_BuildPercentiles(rast,'0-2','{"approx":false}') WHERE id = 1;
-- 指定採樣方式
UPDATE raster_table SET raster_obj = ST_BuildPercentiles(rast,'{"approx":false}') WHERE id = 1;
-- 指定波段、採樣率和並行度
UPDATE raster_table SET raster_obj = ST_BuildPercentiles(raster_obj,'0-2','{"approx":true, "factor":5}', '{"parallel":4}') WHERE id = 1;