Mengembalikan nilai piksel untuk semua band pada lokasi tertentu dalam objek raster.
Sintaksis
SETOF record ST_PointValues(raster raster_obj, integer column_sn, integer row_sn, boolean exclude_nodata DEFAULT true, OUT integer* band, OUT float8 value)
SETOF record ST_PointValues(raster raster_obj, float8 x, float8 y, boolean exclude_nodata DEFAULT true, text options DEFAULT '{}', OUT integer band, OUT float8 value)Overload pertama menentukan lokasi piksel berdasarkan indeks kolom dan baris. Overload kedua menentukan lokasi piksel berdasarkan bujur dan lintang, dengan opsi pengambilan sampel ulang (resampling).
Parameter
| Parameter | Deskripsi |
|---|---|
raster_obj | Objek raster. |
column_sn | Indeks kolom dari piksel target, dimulai dari pojok kiri atas. |
row_sn | Indeks baris dari piksel target, dimulai dari pojok kiri atas. |
x | Bujur dari piksel target. |
y | Lintang dari piksel target. |
exclude_nodata | Menentukan apakah nilai NoData dikecualikan. Jika diatur ke true, piksel dengan nilai NoData tidak dikembalikan. Nilai default: true. |
options | Metode resampling, ditentukan sebagai string JSON. Lihat sub-parameter resample di bawah ini. Nilai default: '{}'. |
band | Parameter output. Nomor band dari piksel tersebut. |
value | Parameter output. Nilai piksel. |
Sub-parameter options: resample
Ketika resample dikonfigurasi, empat piksel tetangga digunakan dalam perhitungan.
| Nilai | Deskripsi |
|---|---|
none | Tidak ada resampling. |
idw | Resampling berdasarkan pembobotan jarak terbalik (Inverse Distance Weighting / IDW). |
mean | Resampling berdasarkan nilai rata-rata. |
max | Resampling berdasarkan nilai maksimum. |
min | Resampling berdasarkan nilai minimum. |
Contoh: '{"resample": "idw"}'
Nilai yang dikembalikan
| Field | Tipe | Deskripsi |
|---|---|---|
band | integer | Nomor band. |
value | float8 | Nilai piksel untuk band tersebut. |
Deskripsi
ST_PointValues mengembalikan nilai piksel dari semua band pada lokasi tertentu. Lokasi tersebut dapat ditentukan menggunakan koordinat piksel (column_sn, row_sn) atau koordinat geografis (x untuk bujur, y untuk lintang).
Jika opsi resample ditentukan, fungsi ini menggunakan empat piksel tetangga untuk menghitung nilai yang dikembalikan:

Contoh
Kueri berdasarkan koordinat geografis
Contoh berikut melakukan kueri nilai piksel dari raster yang disimpan di t_pixel dengan id = 3, menggunakan koordinat bujur/lintang.
Kueri dengan pengecualian NoData dinonaktifkan (`exclude_nodata = false`):
SELECT * FROM
(SELECT (st_pointValues(rast, 125.84382034243441, 47.67709555783107, false)).*
FROM t_pixel WHERE id = 3) a
ORDER BY band;Hasil:
band | value
------+-------
0 | 66
1 | 87
2 | 28Kueri menggunakan koordinat bilangan bulat:
SELECT * FROM
(SELECT (st_pointValues(rast, 125, 47)).*
FROM t_pixel WHERE id = 3) a
ORDER BY band;Hasil:
band | value
------+-------
0 | 39
1 | 66
2 | 11Kueri dengan resampling IDW
Tentukan metode resampling idw.
SELECT * FROM
(SELECT (st_pointValues(rast, 125.84382034243441, 47.67709555783107, false, '{"resample": "idw"}')).*
FROM t_pixel WHERE id = 3) a
ORDER BY band;Hasil:
band | value
------+--------------------
0 | 60.81401293159196
1 | 85.23822259113626
2 | 26.300926205142165