Name

ST_SetValue — Retourne un nouveau raster en modifiant la valeur du pixel pour la bande spécifiée et aux coordonnées columnx, rowy, ou pour tous les pixels qui intersectent une géométrie spécifiée. Le numéro de bande démarre à 1, et la bande 1 est utilisée si non spécifié.

Synopsis

raster ST_SetValue(raster rast, integer bandnum, geometry geom, double precision newvalue);

raster ST_SetValue(raster rast, geometry geom, double precision newvalue);

raster ST_SetValue(raster rast, integer bandnum, integer columnx, integer rowy, double precision newvalue);

raster ST_SetValue(raster rast, integer columnx, integer rowy, double precision newvalue);

Description

Retourne un nouveau raster en modifiant la valeur du pixel pour la bande spécifiée et aux coordonnées columnx, rowy, ou pour tous les pixels qui intersectent une géométrie spécifiée. Le numéro de bande démarre à 1, et la bande 1 est utilisée si non spécifié.

Amélioration : 2.1.0 La variante de ST_SetValue() avec la géométrie supporte n'importe quelle type de géométrie, pas uniquement des points. La variante avec la géométrie est une enveloppe autour de la variante de ST_SetValues() avec geomval[]

Exemples


                -- Geometry example
SELECT (foo.geomval).val, ST_AsText(ST_Union((foo.geomval).geom))
FROM (SELECT ST_DumpAsPolygons(
        ST_SetValue(rast,1,
                ST_Point(3427927.75, 5793243.95),
                50)
            ) As geomval
FROM dummy_rast
where rid = 2) As foo
WHERE (foo.geomval).val < 250
GROUP BY (foo.geomval).val;

 val |                                                     st_astext
-----+-------------------------------------------------------------------
  50 | POLYGON((3427927.75 5793244,3427927.75 5793243.95,3427927.8 579324 ...
 249 | POLYGON((3427927.95 5793243.95,3427927.95 5793243.85,3427928 57932 ...


-- Store the changed raster --
    UPDATE dummy_rast SET rast = ST_SetValue(rast,1, ST_Point(3427927.75, 5793243.95),100)
        WHERE rid = 2   ;