Feature request #7581

raster calculator really needs support for conditional statements (to allow reclassify rasters)

Added by Giovanni Manghi almost 4 years ago. Updated about 1 month ago.

Status:Open Start Date:04/11/2013
Priority:High Due date:
Assigned to:- % Done:

0%

Category:Rasters
Target version:Future Release - High Priority
Platform: Resolution:
Platform version: Pull Request or Patch supplied:No
Status info: Tag:

Description

One of the most common tasks a user can do in a raster workflow is to reclassify raster maps.

At this stage the raster calculator does not support conditional statements, so it is not possible to say (for example):

(ASTGTM2_N37W026_dem@1<=30)=1 OR (ASTGTM2_N37W026_dem@1>30)=2 OR (ASTGTM2_N37W026_dem@1>200)=5

the workaround is awful

(ASTGTM2_N37W026_dem@1<=30)*1 + (ASTGTM2_N37W026_dem@1>30)*2 + (ASTGTM2_N37W026_dem@1>200)*3

as the raster calc just return 1 or 0, so the user must multiply for the needed value doing also a few sums along the way (because it is not possible to use conditions).


Related issues

related to QGIS Application - Bug report #11682: Raster calculator produces only 0 values with conditional... Closed 11/18/2014

History

Updated by Alexander Bruy over 3 years ago

Probably related to #4476

Updated by Michael Douchin almost 3 years ago

I agree. For example, we could use full expression syntax, such as

CASE
WHEN raster1@1 > raster2@1 THEN raster1@1
...
ELSE raster2@1
END

It is related to #4815 too

Updated by Giovanni Manghi almost 3 years ago

  • Target version set to Future Release - High Priority

Updated by Luiz Andrade about 1 month ago

Agreed, this would be great!

Also available in: Atom