ST_PointValues mengembalikan nilai piksel dari semua band pada lokasi tertentu dalam objek raster. Lokasi tersebut dapat ditentukan menggunakan koordinat kolom/baris piksel atau koordinat geografis x/y.
Sintaksis
Overload 1: koordinat kolom dan baris
setof record ST_PointValues(raster raster_obj,
integer column_sn,
integer row_sn,
boolean exclude_nodata default true,
out integer band,
out float8 value);Overload 2: koordinat geografis x/y
setof record ST_PointValues(raster raster_obj,
float8 x,
float8 y,
boolean exclude_nodata default true,
out integer band,
out float8 value);Parameter
| Parameter | Deskripsi |
|---|---|
raster_obj | Objek raster yang ingin Anda potong. |
column_sn | Nomor kolom piksel, dihitung dari pojok kiri atas objek raster. |
row_sn | Nomor baris piksel, dihitung dari pojok kiri atas objek raster. |
x | Koordinat x piksel. |
y | Koordinat y piksel. |
exclude_nodata | Menentukan apakah piksel NoData harus dikecualikan dari hasil. Saat diatur ke true (default), piksel dengan nilai NoData tidak dikembalikan. |
band | Output: nomor band dari piksel yang dikembalikan. |
value | Output: nilai piksel untuk band tersebut. |
Deskripsi
ST_PointValues mengembalikan satu set pasangan catatan (band, value), satu untuk setiap band, pada piksel di lokasi yang ditentukan. Gunakan overload kolom/baris jika Anda mengetahui posisi grid piksel, dan gunakan overload x/y jika Anda memiliki koordinat geografis.
Jika parameter exclude_nodata bernilai true, band yang nilai pikselnya sama dengan nilai NoData raster akan dikecualikan dari set hasil.
Untuk mengakses kolom individual dari tipe kembaliansetof record, gunakan subkueri dengan pola ekspansi.*, seperti pada contoh berikut.
Contoh
Contoh 1: Mengambil semua nilai band pada koordinat geografis (termasuk NoData)
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 | 28Contoh 2: Mengambil semua nilai band pada koordinat x/y (tidak termasuk NoData)
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 | 11