Tous les produits
Search
Centre de documentation

ApsaraDB RDS:ST_SetValue

Dernière mise à jour :Sep 02, 2026

Définit la valeur d'un pixel d'un objet raster à un emplacement donné, identifié soit par ses indices de ligne et de colonne, soit par une géométrie.

Syntaxe

Surcharge 1 : définition par ligne et colonne

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

Surcharge 2 : définition par géométrie

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

Paramètres

Paramètre Type Description
raster_obj raster Objet raster à mettre à jour.
row integer Indice de ligne du pixel à mettre à jour.
column integer Indice de colonne du pixel à mettre à jour.
value double Nouvelle valeur du pixel.
band integer Indice de bande du pixel à mettre à jour.
geom geometry Géométrie définissant la zone de mise à jour des pixels.
rebuild_pyd boolean Indique si la pyramide doit être reconstruite après la mise à jour des valeurs de pixel.
setvalueOptions cstring Options supplémentaires pour l'opération de mise à jour, transmises sous forme de chaîne JSON. Voir le tableau ci-dessous pour les champs pris en charge.

Champs setvalueOptions

Champ Type Par défaut Description
window_clip bool false Indique s'il faut utiliser la boîte englobante de l'objet géométrique comme zone de mise à jour. true utilise le rectangle englobant minimal (MBR) de l'objet géométrique. false utilise l'objet géométrique lui-même.
rast_coord bool false Indique si la géométrie d'entrée utilise des coordonnées de pixels. true signifie que les coordonnées de pixels sont utilisées : la coordonnée x correspond à l'indice de colonne et la coordonnée y à l'indice de ligne, tous deux commençant à 0. false signifie que les coordonnées de pixels ne sont pas utilisées.

Exemples

Lisez la valeur du pixel à la ligne 0, colonne 2, bande 1 :

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

Définissez la valeur des pixels sur 250.0 aux emplacements définis par une géométrie MULTIPOINT sur la bande 0, avec reconstruction de la pyramide activée :

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

Définissez la valeur des pixels sur 10.0 le long d'une LINESTRING en utilisant les coordonnées de pixels (rast_coord: true), sans reconstruire la pyramide :

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