名前

ST_SetValue — 指定したバンドの指定した列Xと行Yのピクセルまたは指定したジオメトリポイントとインタセクトするピクセルの値を設定することから得られた変更結果を返します。バンド番号は1始まりで、指定しない場合には1と仮定します。

概要

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

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

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

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

説明

指定したバンドの指定した列と行のピクセルまたは指定したジオメトリポイントとインタセクトするピクセルの値を設定することから得られた変更結果を返します。バンド番号を指定しない場合には1と仮定します。

[注記]

ジオメトリによる値設定は現在のところポイントでのみ動作します。

				-- ジオメトリの例
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 ...
 
				
-- 変更したラスタの格納 --
	UPDATE dummy_rast SET rast = ST_SetValue(rast,1, ST_Point(3427927.75, 5793243.95),100)
		WHERE rid = 2   ;

				

関連情報

ST_Value, ST_DumpAsPolygons