# How to add a float or integer number (i.e 255) to a raster layer?

Is there any code to add a float or integer value with a raster layer? I can easily do mathematical operations between two raster data. But I am unable to do the same between float or integer number and raster layer. For example if want to execute (256-band3), how can I execute?

-
What software are you using? – whuber Feb 12 '12 at 7:13

Try RasterCalc plugin for QGis.

-

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

Try the raster package in R. Something like:

``````r = raster("foo.tif") + 255
writeRaster(r,"foo.tif",overwrite=TRUE)
``````
-
it is not so much difficult. use the following expressionIMapAlgebraOp mapAlgebraOp; – mintu medhi Feb 17 '12 at 14:41

If you have a copy of FME then you can use the RasterExpressionEvaluator transformer.

In this case (256-band3) the expression would be simply:

``````256-A[2]
``````

(FME labels bands as 0,1,2 rather than 1,2,3).

The nice thing is that it also allows IF statements, so you can work up to complex statements like:

``````if ((A[0]+A[1]+A[2])==0, 255, A[0])
``````