Memeriksa apakah suatu record diambil sampelnya berdasarkan nilai hash-nya dan laju sampel yang ditentukan. Fungsi ini mengembalikan true jika record tersebut diambil sampelnya, atau false jika tidak. Probabilitas pengambilan sampel sama dengan nilai sample_rate.
Sintaksis
BOOLEAN ST_IsRandomSampled(RECORD tuple, INTEGER sample_rate)Parameter
| Parameter | Description |
|---|---|
tuple | Properti record yang digunakan untuk menghasilkan nilai hash. Sistem menentukan apakah suatu record akan diambil sampelnya berdasarkan hash ini. Gunakan ROW() untuk membuat hash dari multiple properti. Untuk rasio pengambilan sampel yang akurat di seluruh tabel, pilih properti atau kombinasi properti yang unik dan terdistribusi merata. |
sample_rate | Probabilitas pengambilan sampel, dinyatakan dalam persentase bilangan bulat. Misalnya, nilai 50 berarti setiap record memiliki peluang 50% untuk diambil sampelnya. |
Deskripsi
Mengembalikan
truejika record diambil sampelnya; mengembalikanfalsejika tidak.Probabilitas pengambilan sampel dikendalikan oleh parameter
sample_rate.Nilai kembali ditentukan oleh
tupledansample_rate.Ketika diterapkan pada semua record dalam suatu tabel,
tupleharus unik untuk setiap record agar jumlah record yang diambil sampelnya mendekatisample_rate× jumlah total record.
Contoh
-- Mengembalikan hasil untuk semua record. true dikembalikan untuk separuh record, dan false untuk separuh lainnya.
SELECT ST_IsRandomSampled(ROW(id), 50) FROM table;
-- Menghitung luas geometri yang memiliki probabilitas 80% untuk diambil sampelnya.
SELECT ST_Area(geom) FROM table WHERE ST_IsRandomSampled(ROW(geom), 80);
-- Memilih secara acak separuh geometri dan mengonversinya menjadi objek MVTGeom.
SELECT ST_AsMVTGeom(geom, ST_Transform(ST_TileEnvelope(0,0,0),4326)) FROM table
WHERE ST_IsRandomSampled(ROW(geom), 50) AND geom&&ST_Transform(ST_TileEnvelope(0,0,0),4326));