Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
What software are you using? – whuber Feb 12 '12 at 7:13

Try the raster package in R. Something like:

r = raster("foo.tif") + 255
share|improve this answer
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:


(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])

This page on FMEpedia has a bunch of examples.

share|improve this answer

Try RasterCalc plugin for QGis.

share|improve this answer

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.

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.