Evaluación condicional con Con

La herramienta Evaluación condicional permite controlar el valor de salida para cada celda basándose en si el valor de celda se evalúa como verdadero o 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 recibe una celda cuando se evalúa como verdadera se especifican en el Ráster verdadero o valor constante de entrada. Los valores que recibe una celda cuando se evalúa como falsa se especifican en un Ráster falso o constante de entrada.

Conceptualmente, durante la ejecución, la herramienta Evaluación condicional visita cada ubicación de celda y, basándose en el valor de la celda y la declaración condicional, determina si la celda se evalúa como verdadera o 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, existen dos maneras de identificar si una ubicación de celda se evalúa como verdadera o falsa: por un ráster de entrada o por un ráster de entrada en el que se aplica la 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 de un dataset ráster en Álgebra de mapas, introduzca el dataset ráster como 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 asignar el valor de 10 (identificada como la constante verdadera) como bueno para la construcción y 1 (identificada como la constante falsa) como poco apropiado para la construcción basado en la pendiente en una celda (identificada por el ráster condicional de entrada), y se considera a una pendiente de menos del 15 por ciento como buena, deberá introducir la expresión "valor < 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})
en este caso, el parámetro <where_clause> se abandona porque el ráster condicional se proporciona en la expresión de álgebra de mapas, que devuelve un dataset ráster, por ejemplo, con valores de 0 y 1 si se trata de una operación lógica.

Ejemplos

  • Un ejemplo del uso de una expresión compleja con 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 asignará 10 a esa ubicación de celda (verdadero) en el ráster de salida; de lo contrario, se asignará 1 (falso) a los valores de celda mayores o iguales que 15 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 para todos los valores de 5 o menores, y los resultados se envían a OutRas.
  • Se pueden utilizar varias declaraciones condicionales en la herramienta Evaluación condicional, pero cada una debe tener un valor o 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.
  • Se pueden 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, se asigna 5 a la ubicación, de lo contrario, se asigna 100 a la misma.
  • 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))
    
  • La herramienta Evaluación condicional puede estar dentro de otra herramienta 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 ya que la herramienta Evaluación condicional se evalúa para cada ubicación de celda x,y antes de moverse a la celda siguiente. 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

5/10/2014