0

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?

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

Try the raster package in R. Something like:

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

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

This page on FMEpedia has a bunch of examples.

| improve this answer | |
0

Try RasterCalc plugin for QGis.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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