All Products
Search
Document Center

ApsaraDB RDS:ST_Values

Last Updated:Mar 29, 2026

Mengembalikan koordinat geografis dan nilai piksel dari semua sel dalam objek raster yang berpotongan dengan objek geometri. Band diberi nomor mulai dari 0, dan secara default, semua band dikembalikan. Kedua objek tersebut harus memiliki Spatial Reference System Identifier (SRID) yang sama.

Sintaksis

set of record ST_Values(raster raster_obj,
                     geometry geom,
                     integer pyramidLevel default 0,
                     cstring bands default '', /* Semua band */
                     cstring clipOption default '',
                     out point cords,
                     out integer band,
                     out float8 value)

Fungsi ini mengembalikan set of record. Setiap baris berisi tiga bidang output: cords (koordinat geografis), band (nomor urut band), dan value (nilai piksel). Untuk memperluas semua bidang output dalam kueri, gunakan sintaksis .*:

SELECT (ST_Values(rast, geom)).*
FROM your_table;

Untuk mengakses bidang tertentu, gunakan notasi titik:

SELECT (ST_Values(rast, geom)).cords,
       (ST_Values(rast, geom)).value
FROM your_table;

Parameter

Parameter input

ParameterTipeDefaultDeskripsi
raster_objrasterObjek raster yang akan dikueri.
geomgeometryObjek geometri yang digunakan untuk clipping. Harus memiliki SRID yang sama dengan raster_obj.
pyramidLevelinteger0Tingkat piramida objek raster yang akan digunakan.
bandscstring''Nomor urut band yang akan dikembalikan, dalam format '0-2' atau '1,2,3'. Nomor band dimulai dari 0. String kosong default '' mengembalikan semua band.
clipOptioncstring''Opsi clipping dalam bentuk string berformat JSON. Lihat parameter clipOption.

Bidang output

BidangTipeDeskripsi
cordspointKoordinat geografis piksel.
bandintegerNomor urut band piksel.
valuefloat8Nilai piksel.

Parameter clipOption

ParameterTipeDefaultDeskripsi
window_clipBooleanfalseMengontrol apakah clipping dilakukan berdasarkan kotak pembatas (bounding box) geometri atau bentuk geometri yang sebenarnya. Atur ke true untuk melakukan clipping berdasarkan Minimum Bounding Rectangle (MBR) objek geometri. Atur ke false untuk melakukan clipping berdasarkan bentuk geometri yang sebenarnya.

Kapan menggunakan `window_clip`:

  • Gunakan window_clip: true ketika Anda ingin mengambil semua sel dalam envelope persegi panjang suatu geometri — misalnya, saat melakukan clipping dengan titik dan Anda ingin menangkap grid piksel di sekitarnya, bukan hanya sel yang berpotongan secara eksak.

  • Gunakan window_clip: false (default) ketika Anda memerlukan potongan yang tepat sesuai bentuk geometri sebenarnya, seperti saat melakukan clipping sepanjang batas linestring atau poligon.

Catatan penggunaan

  • Objek geometri dan objek raster harus memiliki SRID yang valid, dan SRID-nya harus sama.

  • Secara default, setiap pemanggilan mengembalikan data hingga 100 MB. Untuk menyesuaikan batas ini, atur parameter ganos.raster.clip_max_buffer_size.

Contoh

Semua contoh memanggil ST_Values dengan sintaksis .* untuk memperluas output menjadi kolom-kolom terpisah.

Clipping dengan geometri titik

Mengatur window_clip ke true mengambil grid piksel dalam MBR titik tersebut, bukan hanya satu sel yang berpotongan secara eksak.

SELECT (ST_Values(rast, ST_geomfromtext('POINT(128.135 29.774)', 4326)::geometry, 0,'{"window_clip":"true"}')).*
FROM rat_clip WHERE id=1;
    coord     | band | value
--------------+------+-------
 (127.8,29.7) |    0 |    11
 (127.8,29.7) |    1 |    10
 (127.8,29.7) |    2 |    50
(3 rows)

Clipping dengan geometri linestring

Contoh ini melakukan clipping raster menggunakan bentuk eksak linestring, mengembalikan hingga 10 baris dari semua band.

SELECT (ST_Values(rast, ST_geomfromtext('LINESTRING(0 0, 45 45, 90 0, 135 45)', 4326)::geometry, 0)).*
FROM rat_clip WHERE id=1 LIMIT 10;
    coord    | band | value
-------------+------+-------
 (44.1,45)   |    0 |   115
 (44.1,45)   |    1 |   112
 (44.1,45)   |    2 |    69
 (45,45)     |    0 |   122
 (45,45)     |    1 |   117
 (45,45)     |    2 |    75
 (134.1,45)  |    0 |    37
 (134.1,45)  |    1 |    64
 (134.1,45)  |    2 |    13
 (43.2,44.1) |    0 |    66
(10 rows)

Langkah selanjutnya

  • ST_Value — Mengembalikan nilai satu sel pada titik atau koordinat piksel tertentu.

  • ST_ClipByMask — Melakukan clipping objek raster menggunakan mask geometri dan mengembalikan raster hasil clipping.

  • ST_Clip — Melakukan clipping objek raster berdasarkan objek geometri dan mengembalikan raster hasil clipping.

  • ST_Intersects — Menguji apakah objek raster dan objek geometri saling berpotongan.