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
| Parameter | Deskripsi |
| raster_obj | Raster yang ingin Anda tanyakan. |
| sampleOption | String JSON yang terdiri dari opsi pengambilan sampel. Untuk informasi lebih lanjut, lihat tabel "sampleOption" dalam topik ini. |
| bands | ID 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. |
| parallelOption | String JSON yang terdiri dari opsi operasi paralel. Untuk informasi lebih lanjut, lihat tabel "parallelOption" dari topik ini. |
Tabel berikut menjelaskan parameter dalam sampleOption.
| Parameter | Tipe | Nilai default | Deskripsi |
| approx | boolean | false | Menentukan 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. |
| factor | integer | 4 | Faktor 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_nodata | boolean | true | Menentukan apakah menyertakan nilai NoData. Nilai valid: true dan false. |
Tabel berikut menjelaskan parameter dalam parallelOption.
| Parameter | Deskripsi | Tipe | Nilai default | Catatan |
| parallel | Tingkat paralelisme yang diizinkan. | integer | ganos.parallel.degree | Nilai 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;