I would like to multiply my Raster DEM with a linear graph value y = mx + C. The graph values look as follows:

enter image description here

I want to make a new raster where each cell will represent a damage factor from above graph and by taking into account corresponding cell DEM value. It means, if any particular cell in my DEM raster has a elevation value 10 m, then in my new computed raster this will be damage factor 1. Similarly, any cell of DEM raster has a value of 20 m, the computed new value will be 3 as shown in the graph.

I am familiar with the approach called 'Reclassify'. But reclassify requires a certain range of value, for example elevation 10 - 20 m will be damage factor 1.5.

I want to compute every pixel of DEM raster and redefine it in the form of damage factor by following the linear equation.

Can I write an equation such as y = m*x + c in raster calculator in Qgis /Grass /ArcGIS?

  • The figure actually is nonlinear: look at the strange spacings on the y-axis. Although the graph when plotted on this axis is indeed a line, the function describing the damage factor for each elevation is not.
    – whuber
    Oct 29, 2013 at 13:39

1 Answer 1


The short answer is 'yes'. In both QGIS and ArcGIS, you want to use the raster calculator. Each has its own syntax so check the documentation (see links below) for which ever one you are using. However, essentially, you can type a formula in the raster calculator along the lines you need. You can also use the raster calculator to do "mapematics" (multiplying, adding, dividing one raster by another etc). In QGIS go Raster->Raster Calculator.

ArcGIS Documentation
QGIS Raster Calculator documentation


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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