全部产品
Search
文档中心

PolarDB:ST_SetValue

更新时间:Jul 02, 2025

Topik ini menjelaskan fungsi ST_SetValue, yang mengubah nilai piksel berdasarkan geometri atau baris dan kolom dari raster.

Sintaksis

raster ST_SetValue(raster raster_obj,
                   integer baris,
                   integer kolom,
                   double nilai,
                   integer band);

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

Parameter

ParameterDeskripsi
raster_objObjek raster yang ditentukan.
barisNomor baris dari nilai piksel yang diubah.
kolomNomor kolom dari nilai piksel yang diubah.
nilaiNilai piksel baru.
bandNomor band dari nilai piksel yang diubah.
rebuild_pydMenentukan apakah akan membangun ulang piramida.
setvalueOptionsOpsi perubahan nilai piksel. Nilai parameter ini adalah string JSON. Untuk informasi lebih lanjut, lihat Bidang dalam parameter setvalueOptions.

Tabel 1. Bidang dalam parameter setvalueOptions

BidangTipeNilai defaultDeskripsi
window_clipboolfalseMenentukan apakah menggunakan kotak pembatas objek geometri untuk memotong objek raster.
  • true: menggunakan persegi panjang pembatas minimum (MBR) dari objek geometri sebagai wilayah untuk mengubah nilai piksel.
  • false: menggunakan objek geometri sebagai wilayah untuk mengubah nilai piksel.
rast_coordboolfalseMenentukan apakah geometri input menggunakan koordinat piksel.
  • true: Koordinat piksel digunakan. Koordinat x menentukan nomor kolom piksel dan koordinat y menentukan nomor baris piksel. Nilai valid koordinat x dan y dimulai dari 0.
  • false: Koordinat piksel tidak digunakan.

Contoh

select st_value(rast, 0, 2, 1) from raster_table order by id;

update raster_table set rast=st_setvalue(rast, ST_geomfromtext('MULTIPOINT(0 0, 2 2, 10 10)', 4326),250.0, 0, true);

update raster_table set rast=st_setvalue(rast, ST_geomfromtext('LINESTRING(211 77, 233 100)', 4326), 10.0, 0, false, '{"rast_coord":true}');