1

How can I write the following conditional statement with CON?

If ((VALUE = 20 OR IF VALUE=24) then assign value 0, else 1)

Con(("Raster1", 0, 1, "VALUE =20")|("Raster1", 0, 1, "VALUE =24"),0,1)

I just can´t get this to work

  • It seems this works although the operator "OR" doesn´t exist in the RasterCalculator Con("Raster1", 0, 1, "VALUE =20 OR VALUE =24") – Robert Buckley Jul 30 '15 at 15:00
  • See if in (20,24) will work. It does on tables – FelixIP Jul 30 '15 at 17:32
  • Why use con at all? !(("Raster1"==20) | ("Raster1"==24)) should do it. You could even use alternatives like abs("Raster1"-22)!=2. Although that's a poor choice--it's harder to understand--it leads to a superior solution for floating point rasters, whose values might not exactly equal 20 or 24. You can now easily add a tolerance, such as abs(abs("Raster1"-22)-2)>0.00001. That helps you avoid a nasty pitfall. (Note that the details of the syntax depend on what version of ArcGIS you are using.) – whuber Jul 30 '15 at 21:30
  • Please help. Trying to create multiple rules using Con tool in ArcMap. Thanks! Con("OM_petit.tif" > 2.5, ("soil_pH_petit.tif" >= 5.5, ("clay_petiit.tif" >24.3) & ("awc_petit.tif" <= 0.09,1,Con(("OM_petit.tif" > 2 and <= 2.5 , ("soil_pH_petit.tif" >= 5.3 and < 5.5, ("clay_petiit.tif" > 18.5 and <= 24.3) & ("awc_petit.tif" > 0.09 and <= 0.16,2,Con(("OM_petit.tif" >= 0.75 and <1.5, ("soil_pH_petit.tif" >= 4.6 and < 5.0, ("clay_petiit.tif" >= 12.5 and <= 15.5) & ("awc_petit.tif" == 0.23,3,Con(("OM_petit.tif" < 0.75, ("soil_pH_petit.tif" < 4.6, ("clay_petiit.tif" < 12.5) & ("awc_petit.tif" > 0.23,4 – Jane Feb 27 '19 at 15:01
6

Read about Raster Calculator operators. The bar "|" symbol is the OR operator.

The correct syntax would be:

Con(("Raster1" == 20) | ("Raster1" == 24), 0, 1)

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.