I´m currently conducting a suitability analysis with the weighted overlay function. One relevant criteria is the proximity to highways. If the wind turbine is located up to 300 m away from the highway, the cell gets 10 points (out of 10). If it is farther away,the cell shouldn´t get a score, because the criteria is not relevant. So I ran the "euclidean distance" function with a maximum distance of 300 m. All cells farther away than 300 m are declared as "nodata". Then I ran the "weighted overlay" function with 3 more criteria (all have the same weights). The problem is that the study area is bigger than the 300 m buffer around the highways, but after I ran the "weighted overlay" function, only the area within the 300 m buffer was weighted. The rest of the study area was declared as "nodata". The goal is that, when conducting the weighted overlay function, a cell farther away than 300m is not influenced by the criteria "proximity to highway".

example: There are 4 criteria with equal importance. C4 is the "proximity to highways" criteria. A cell within the 300 m radius should be calculated like this: c1: 8 points (25%), c2: 6 points (25%), c3 4 points (25%) and C4: 10 points (25%) --> weight: (8+6+4+10)/4 = 7 points A cell outside of the 300m radius should be calculated like this: c1: 8 points (25%), c2: 6 points (25%), c3 4 points (25%) and C4: no input (25%) --> weight: (8+6+4)/3 = 6 points

Is this possible? I don´t want to give the "nodata" cells a scale value.

Thanks for you help!

1 Answer 1


you seem to have just two cases, so a conditional statment (using map algebra or raster calculator) could help

Con( IsNull(C4), float(C1 + C2 + C3)/3 , float(C1 + C2 + C3 + C4)/4)

In this case you apply a weighted overlay (with the same weight) that is different with or without NoData in C4. Note that you can change the weights if you want (see below):

Con( IsNull(C4), float(w1*C1 + w2*C2 + w3*C3)/(w1+w2+w3) , float(C1 + C2 + C3 + C4)/4)

  • But how can I integrate this conditional statement into my weighted overly function? Isn´t there a function which says "ignore nodata" so that cells are only influenced by those rasters which have a value assigned and don´t get a "nodata" if there is only one raster with a nodata ?
    – user29434
    Apr 22, 2014 at 15:05
  • the results of the conditional statement in the answer is already a weighted overlay.
    – radouxju
    Apr 22, 2014 at 15:18
  • Hey thanks for you help, but I think I don´t get it. Do you mean I should conduct the weighted overlay twice? Once with C4 and once without? Or apply the the weighted overlay once without C4 and then run the conditional sentence?
    – user29434
    Apr 22, 2014 at 18:41
  • if you use the conditional sentence in the field calculator (replacing C1, C2, C3 and C4 by the names of your rasters), it will yield the same result as if you did weighted overlay providing that you did not use any "remap" in your overlay. Just have a try and compare the results.
    – radouxju
    Apr 22, 2014 at 19:32
  • 1
    you can nest several conditions if needed: Con(test1, Con(test2, true1, false1), Con(test3, true2, false2) )
    – radouxju
    May 12, 2014 at 12:12

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.