名稱

ST_SetValue — 返回修改後的影像圖層,該影像圖層是通過設定給定欄位、列像素中特定波段的值,或是與特定幾何圖形相交的像素的值所產生。波段編號從 1 開始,如果未指定則假定為 1。

概要

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);

描述

返回修改後的影像圖層,該影像圖層是通過將指定像素的值設定為指定波段的新值(給定影像圖層的列和行或幾何圖形)。如果未指定波段,則假定為波段 1。

增強功能:2.1.0 版本的 ST_SetValue() 的幾何圖形變體現在支援任何幾何圖形類型,而不僅限於點。幾何圖形變體是 ST_SetValues() 的 geomval[] 變體的包裝器。

範例

                -- 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   ;

                

另請參閱

ST_Value, ST_DumpAsPolygons