Evaluación condicional con Con

La herramienta Evaluación condicional permite controlar el valor de salida para cada celda en función de si el valor de celda se evalúa como verdadero o como falso en una declaración condicional especificada.

Si la celda se evalúa como verdadera, recibe un valor. Si se evalúa como falsa, recibe otro valor distinto. Los valores que recibirá una celda cuando se evalúa como verdadera se especifican mediante el parámetro Ráster verdadero o valor constante de entrada. Los valores que recibirá una celda cuando se evalúa como falsa se especifican mediante el perámetro Ráster falso o constante de entrada.

Teóricamente, durante el procesamiento, la herramienta Evaluación condicional visita cada ubicación de celda y, en función del valor de la celda y la declaración condicional, determina si la celda se evalúa como verdadera o como falsa. Si la celda se evalúa como verdadera, el valor de salida para esa ubicación se identifica en la entrada verdadera. Si la celda se evalúa como falsa, el valor de salida para esa ubicación se identifica en la entrada falsa.

En el entorno de geoprocesamiento, hay dos maneras de identificar si una ubicación de una celda se evalúa como verdadera o falsa: a través de un ráster de entrada o a través de un ráster de entrada en el que se aplica una expresión de entrada opcional. Si se utiliza un ráster de entrada únicamente, todos los valores que no son cero en el ráster de entrada se consideran verdaderos y todos los valores de cero se consideran falsos. Las celdas que tienen NoData asignado, recibirán NoData como salida. NoData no equivale a un valor falso.

Se pueden utilizar varias herramientas de Spatial Analyst para crear un ráster de entrada condicional. En particular, se pueden utilizar las herramientas lógicas en la caja de herramientas Matemática, con la herramienta Prueba que resulta particularmente útil.

Utilizar la herramienta Evaluación condicional en álgebra de mapas

Para realizar una evaluación condicional sobre un dataset ráster en álgebra de mapas, introduzca el dataset ráster como un ráster condicional en la herramienta Evaluación condicional. Introduzca un ráster verdadero para proporcionar valores que se devuelven cuando la evaluación condicional es verdadera. Introduzca un ráster falso para proporcionar valores que se devuelven cuando la evaluación condicional es falsa. Los parámetros de la cláusula where definen la expresión que se evaluará mediante el uso del ráster condicional de entrada.

Ejemplo

Por ejemplo, para asignar el valor 10 (identificado como la constante verdadera) como bueno para la construcción y 1 (identificado como la constante falsa) como inadecuado para la construcción en función de la pendiente de una celda (identificada mediante la entrada de ráster condicional), y una pendiente de menos del 15 por ciento se considera adecuada, utilice la expresión "VALUE < 15". Si una celda tiene una pendiente de menos del 15 por ciento, recibirá el valor de verdadero (en este caso, 10); de lo contrario, recibirá el valor identificado como falso (en este caso, 1).

OutRas = Con(SlopeRas, 10, 1, "VALUE < 15")

Utilizar expresiones complejas con la herramienta Evaluación condicional en álgebra de mapas

En álgebra de mapas, se pueden obtener más capacidades con la expresión que una simple condición lógica. Con una expresión compleja, por ejemplo, podrá tener varias expresiones individuales dentro de ella, especificar varios rásteres o utilizar otras herramientas y operadores.

Se puede utilizar cualquier expresión de álgebra de mapas válida que resulta en un ráster para toda entrada de ráster falsa, verdadera o condicional.

El parámetro Expresión se debe abandonar si la expresión de ráster condicional de entrada se utiliza en una expresión compleja. En este caso, la sintaxis de la herramienta Evaluación condicional toma la siguiente forma generalizada:

Con(in_conditional_raster, true_raster, {false_raster})

El parámetro Expresión se elimina en este caso porque el ráster de condición se proporciona mediante la expresión de álgebra de mapas, que devolverá un dataset ráster, por ejemplo, con valores de 0 y 1 si fuera una operación lógica.

Ejemplos

Los siguientes son ejemplos de uso de una expresión compleja para realizar una evaluación condicional.

  • El siguiente es un ejemplo de uso de una expresión compleja en la herramienta Evaluación condicional:
    OutRas = Con(InRas < 15, 10, 1)
    En la expresión anterior, si el valor de una celda en InRas es menor que 15, se le asignará 10 a la ubicación de celda (verdadera) en el ráster de salida; por otro lado, a los valores de celda mayores o iguales que 15 se les asignará 1 (falso) en el ráster de salida.
  • Si no se especifica un valor o una expresión para las expresiones falsas, utilice la expresión siguiente:
    OutRas = Con(InRas < 15, 10)
    Los resultados serán los mismos que en la salida anterior salvo que se asigne NoData a las celdas con un valor de 15 o superior.
  • Se puede utilizar cualquier expresión válida en vez de un valor para los argumentos true_expression y false_expression.
    OutRas = Con(InRas1 > 5, Sin(InRas1), Cos(InRas1))
    En la expresión anterior, se calcula el seno de todos los valores mayores que 5 y el coseno de todos los valores menores o iguales que 5 y los resultados se envían a OutRas.
  • Es posible utilizar varias declaraciones condicionales en de la herramienta Evaluación condicional, pero cada una debe poseer un valor o una expresión true_expression que se pueda utilizar para asignar valores a las celdas de salida si el resultado de la evaluación de la condición es verdadero. El valor o expresión opcional false_expression se puede aplicar si ninguno de los resultados de las evaluaciones de condiciones es verdadero.
    OutRas = Con(InRas1 < 5, Sin(InRas1), Con(InRas1 < 20, Cos(InRas1), Con(InRas1 > 50, 100, 0)))
    En la expresión anterior, el seno se calcula para aquellos valores que sean menores o iguales que 5, el coseno se calcula para los valores que sean mayores o iguales que 5, pero menores que 20. A los valores que son mayores o iguales que 20, pero menores o iguales que 50 se les asigna 0 y a los valores mayores que 50 se les asigna 100.
  • Es posible utilizar varias condiciones en una expresión condicional de la herramienta Evaluación condicional.
    OutRas = Con((InRas1 > 5) & (InRas1 < 10), 5, 100)
    En la expresión anterior, si el valor de entrada desde InRas1 es mayor que 5 y menor que 10, asigne la ubicación 5; de lo contrario, asígnesele 100.
  • Las herramientas y los operadores se pueden aplicar a los rásteres de entrada en la expresión condicional y se evalúan los resultados.
    OutRas = Con(Sin(InRas1) > .5, 10, 100)
    OutRas2 = Con((InRas1 + InRas2) > 10, 100, 5)
    OutRas3 = Con(InRas1 > 5, Cos(InRas1), Sin(InRas1))
  • Las herramientas Evaluación condicional se pueden anidar en otras herramientas Evaluación condicional.
    OutRas = Con(InRas1 > 23, 5, Con(InRas1 > 20, 12, Con((InRas1 > 2) & (InRas1 < 17), Sin(InRas1), 100)))
  • Se pueden utilizar varios rásteres en la declaración condicional o en la expresión para que se realicen en las celdas.
    OutRas = Con(InRas1 + InRas2 > 7, Sin(InRas1), Cos(InRas2))
    OutRas2 = Con(InRas1 < 9, InRas1 * InRas2 + Tan(InRas3), Cos(InRas1))
    La entrada de varios rásteres es posible porque la herramienta Evaluación condicional se evalúa para cada ubicación de celda x,y antes de moverse a la siguiente celda. Cuando se introducen varios rásteres, la herramienta o el operador específico se procesarán sobre una base de celda por celda entre todos los rásteres.