All Products
Search
Document Center

ApsaraDB RDS:ST_PointValues

Last Updated:Mar 29, 2026

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

ParameterDeskripsi
raster_objObjek raster yang ingin Anda potong.
column_snNomor kolom piksel, dihitung dari pojok kiri atas objek raster.
row_snNomor baris piksel, dihitung dari pojok kiri atas objek raster.
xKoordinat x piksel.
yKoordinat y piksel.
exclude_nodataMenentukan apakah piksel NoData harus dikecualikan dari hasil. Saat diatur ke true (default), piksel dengan nilai NoData tidak dikembalikan.
bandOutput: nomor band dari piksel yang dikembalikan.
valueOutput: 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 kembalian setof 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 |    28

Contoh 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