All Products
Search
Document Center

ApsaraDB RDS:ST_SetValue

Last Updated:Mar 29, 2026

Mengatur nilai piksel objek raster pada lokasi tertentu, yang diidentifikasi berdasarkan baris dan kolom atau berdasarkan geometri.

Sintaks

Overload 1: atur berdasarkan baris dan kolom

raster ST_SetValue(raster raster_obj,
                   integer row,
                   integer column,
                   double value,
                   integer band);

Overload 2: atur berdasarkan geometri

raster ST_SetValue(raster raster_obj,
                   geometry geom,
                   double value,
                   integer band default 0,
                   boolean rebuild_pyd default true,
                   cstring setvalueOptions default '');

Parameter

ParameterTypeDescription
raster_objrasterObjek raster yang akan diperbarui.
rowintegerNomor baris piksel yang akan diperbarui.
columnintegerNomor kolom piksel yang akan diperbarui.
valuedoubleNilai piksel baru.
bandintegerNomor band piksel yang akan diperbarui.
geomgeometryGeometri yang menentukan wilayah tempat nilai piksel diperbarui.
rebuild_pydbooleanMenentukan apakah piramida perlu dibangun ulang setelah nilai piksel diperbarui.
setvalueOptionscstringOpsi tambahan untuk operasi pembaruan, diteruskan sebagai string JSON. Lihat tabel berikut untuk bidang yang didukung.

Bidang setvalueOptions

FieldTypeDefaultDescription
window_clipboolfalseMenentukan apakah Kotak pembatas objek geometri digunakan sebagai wilayah pembaruan. true menggunakan minimum bounding rectangle (MBR) objek geometri. false menggunakan objek geometri itu sendiri.
rast_coordboolfalseMenentukan apakah geometri input menggunakan koordinat piksel. true berarti koordinat piksel digunakan, di mana koordinat x dipetakan ke nomor kolom dan koordinat y dipetakan ke nomor baris, keduanya dimulai dari 0. false berarti koordinat piksel tidak digunakan.

Contoh

Baca nilai piksel pada baris 0, kolom 2, band 1:

SELECT ST_Value(rast, 0, 2, 1) FROM raster_table ORDER BY id;

Atur nilai piksel menjadi 250.0 pada lokasi yang ditentukan oleh geometri MULTIPOINT pada band 0, dengan pembangunan ulang piramida diaktifkan:

UPDATE raster_table
SET rast = ST_SetValue(rast, ST_GeomFromText('MULTIPOINT(0 0, 2 2, 10 10)', 4326), 250.0, 0, true);

Atur nilai piksel menjadi 10.0 sepanjang LINESTRING menggunakan koordinat piksel (rast_coord: true), tanpa membangun ulang piramida:

UPDATE raster_table
SET rast = ST_SetValue(rast, ST_GeomFromText('LINESTRING(211 77, 233 100)', 4326), 10.0, 0, false, '{"rast_coord":true}');