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)
- Si no se especifica un valor o una expresión para las expresiones falsas:
OutRas = Con(InRas < 15, 10)
- 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))
- 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)))
- Se pueden utilizar varias condiciones en una expresión condicional de la herramienta Evaluación condicional.
OutRas = Con((InRas1 > 5) & (InRas1 < 10), 5, 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))
- 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))