1

Basically, I have two models that I have built. Their core processes are similar, but they both have different beginning processes. There is one beginning input layer. The cell values within this layer determine which model will need to run. For example, all cells that are < 5 will need to run Model1. All cells >5 will need to run Model2. Almost all of the processes within both sides of the model require Raster Calculator.

I have set-up an If Field Value Logical statement at the beginning, and then divided the two processes. However, It seems that when I do run the model, It only completes the FALSE portion of the model. For the TRUE portion, it states "All the inputs are not current." How can I make it so it runs both? I will have two outputs: Raster1, and Raster2.

enter image description here

I am by no means an expert at ModelBuilder, and only know the very basics of python. So please excuse me if I am missing something obvious.

  • First thing I would confirm is does the true state actually exist in your dataset? Maybe all your data evaluates as false? – Hornbydd Jan 26 '18 at 8:54
  • ModelBuilder doesn't handle If-Then-Else statements all that well. You might be better off converting what you have into a python script and trying to tweak it from there. Don't worry if you have no experience in python, it's a very easy language to pick up, and all you'd really need to look into is the proper syntax for an if statement. – P.T. Curran Jan 26 '18 at 14:59
  • No, there are most definitely cells in that raster layer that are <5. I've done many spot checks. – michelle Jan 28 '18 at 21:06
1

Instead of if-else tool, I think you should use Con tool (two of them, one for value<= 5 and another for value>5) to create two rasters to connect your relevant procedures. As far as I know it is not possible to iterate raster values as you try.

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.