全部产品
Search
文档中心

PolarDB:ST_BuildPercentiles

更新时间:Jul 02, 2025

Fungsi ini digunakan untuk menghitung persentil dari band-band tertentu dalam raster.

Sintaksis

raster ST_BuildPercentiles(raster raster_obj, 
                            cstring sampleOption default '{}')
raster ST_BuildPercentiles(raster raster_obj, 
                            cstring bands,
                            cstring sampleOption default '{}',
                            cstring parallelOption default '{}')

Parameter

ParameterDeskripsi
raster_objRaster yang ingin Anda tanyakan.
sampleOptionString JSON yang terdiri dari opsi pengambilan sampel. Untuk informasi lebih lanjut, lihat tabel "sampleOption" dalam topik ini.
bandsID dari band-band. Contoh: '0,1-3,6,8'. ID band yang valid dimulai dari 0. Jika Anda menetapkan parameter ini ke '', semua band raster ditentukan.
parallelOptionString JSON yang terdiri dari opsi operasi paralel. Untuk informasi lebih lanjut, lihat tabel "parallelOption" dari topik ini.
Tabel berikut menjelaskan parameter dalam sampleOption.
ParameterTipeNilai defaultDeskripsi
approxbooleanfalseMenentukan apakah menggunakan metode pengambilan sampel. Nilai valid: true dan false.
Catatan Jika Anda menetapkan parameter ini ke true, metode pengambilan sampel digunakan. Dalam hal ini, hasil yang dikembalikan mungkin tidak akurat.
factorinteger4Faktor pengambilan sampel yang digunakan ketika metode pengambilan sampel digunakan. Nilai valid: bilangan bulat positif apa pun. Faktor pengambilan sampel menentukan jumlah piksel yang digunakan sebagai unit pengambilan sampel.
Catatan Parameter ini hanya valid jika Anda menetapkan parameter approx ke true.
exclusive_nodatabooleantrueMenentukan apakah menyertakan nilai NoData. Nilai valid: true dan false.

Tabel berikut menjelaskan parameter dalam parallelOption.

ParameterDeskripsiTipeNilai defaultCatatan
parallelTingkat paralelisme yang diizinkan. integerganos.parallel.degreeNilai valid: 1 hingga 64.

Contoh

-- Gunakan pengaturan parameter default.
UPDATE raster_table SET raster_obj = ST_BuildPercentiles(raster_obj) WHERE id = 1;

-- Tentukan band dan metode pengambilan sampel.
UPDATE raster_table SET raster_obj = ST_BuildPercentiles(rast,'0-2','{"approx":false}') WHERE id = 1;

-- Tentukan metode pengambilan sampel.
UPDATE raster_table SET raster_obj = ST_BuildPercentiles(rast,'{"approx":false}') WHERE id = 1;

-- Tentukan band, laju pengambilan sampel, dan tingkat paralelisme.
UPDATE raster_table SET raster_obj = ST_BuildPercentiles(raster_obj,'0-2','{"approx":true, "factor":5}', '{"parallel":4}') WHERE id = 1;