計算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;