Evaluación condicional con Con

Disponible con una licencia de Spatial Analyst.

Disponible con licencia de Image Analyst.

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 debe recibir una celda cuando se evalúa como verdadera se especifican mediante el Ráster verdadero o valor constante de entrada. Los valores que debe recibir una celda cuando se evalúa como falsa se especifican mediante un Ráster falso o constante de entrada.

Teóricamente, durante la ejecución, 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, 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 análisis espacial para crear un ráster de entrada condicional. En particular, se pueden utilizar las herramientas lógicas en el caja de herramientas Matemática, con la herramienta Test 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á en comparación con el ráster condicional de entrada.

Ejemplo

Por ejemplo, si desea señalar 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, introduciría 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.

Tenga en cuenta que el parámetro <where_clause> 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 <where_clause> se elimina en este caso porque el ráster de condición se proporciona mediante la expresión de álgebra de mapas, que devolvería un dataset ráster, por ejemplo, con valores de 0 y 1 si fuera una operación lógica.

Ejemplos

  • Un ejemplo de uso de una expresión compleja en la herramienta Evaluación condicional es:
    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:
    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 dentro 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 son verdaderos.
    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 menores que 5, el coseno se calcula para los valores de 5 o mayores, pero menos que 20, se asigna 0 a los valores de 20 o mayores pero de 50 o menores, y se asigna 100 a los valores mayores que 50.
  • 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 a 5; de lo contrario, asígnesela a 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 dentro de 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.

Temas relacionados