Establecer nulos (Spatial Analyst)

Resumen

Establecer nulos establece las ubicaciones de celda identificadas en NoData según los criterios especificados. Devuelve NoData si una evaluación condicional es verdadera y devuelve un valor especificado por otro ráster si es falsa.

Más información sobre cómo establecer valores de celda en NoData con Establecer nulos

Ilustración

Ilustración de Establecer nulo
OutRas = SetNull(InRas1, InRas2, "Value = 4")

Uso

  • Si la evaluación de la cláusula where es verdadera, a la ubicación de celda en el ráster de salida se le asignará NoData. Si la evaluación es falsa, el ráster de salida será definido por el ráster falso o el valor constante de entrada.

  • Si no se especifica cláusula where, el ráster de salida tendrá NoData siempre que el ráster condicional no sea 0.

  • El ráster condicional de entrada no incide en si el tipo de datos de salida es entero o de punto flotante. Si el ráster falso de entrada (o valor constante) contiene valores de punto flotante, el ráster de salida será de punto flotante. Si contiene valores enteros, la salida será un ráster entero.

  • Si Ráster condicional de entrada (in_conditional_raster en Python) es un ráster de banda única y Ráster falso o valor constante de entrada (in_false_raster_or_constant en Python) es una constante, la salida será un ráster de banda única.

  • Si ambas las entradas son rásteres multibanda, la salida será un ráster multibanda. El ráster de salida también será multibanda si la entrada de ráster falsa es una constante. El número de bandas de cada entrada multibanda debe ser el mismo.

  • La herramienta realiza la operación con cada banda del ráster condicional utilizando la banda correspondiente de las otras entradas. Si la entrada condicional es un ráster multibanda y la entrada de ráster falsa es una constante, la herramienta realizará la operación utilizando el valor constante para cada banda de la entrada multibanda.

  • En la Expresión se utiliza una consulta SQL. Consulte los temas siguientes para obtener más información sobre cómo se construyen consultas:

  • Para usar una {where_clause} en Python, debe estar entre comillas. Por ejemplo, "Valor > 5000".

    Puede consultar la ayuda para obtener más información sobre especificar una consulta en Python.

  • La longitud máxima de la expresión lógica es de 4.096 caracteres.

Parámetros

EtiquetaExplicaciónTipo de datos
Ráster condicional de entrada

El ráster de entrada que representa el resultado verdadero o falso de la condición deseada.

Puede ser de tipo entero o punto flotante.

Raster Layer
Ráster falso o valor constante de entrada

La entrada cuyos valores se utilizan como valores de la celda de salida si la condición es falsa.

Puede ser un ráster de punto flotante o entero, o un valor constante.

Raster Layer; Constant
Expresión
(Opcional)

La expresión lógica que determina cuáles de las celdas de entrada deben ser verdaderas o falsas.

La cláusula Where sigue la forma general de una expresión SQL. Se puede introducir directamente, por ejemplo, VALUE > 100, si hace clic en el botón de moto Editar SQL Consulta SQL. Si se encuentra en el modo de edición de Cláusula Editar cláusula, puede empezar a construir la expresión haciendo clic en el botón Agregar modo Cláusula.

SQL Expression

Valor de retorno

EtiquetaExplicaciónTipo de datos
Ráster de salida

El ráster de salida.

Si la evaluación condicional es verdadera, se devuelve NoData. Si es falsa, se devuelve el valor del segundo ráster de entrada.

Raster

SetNull(in_conditional_raster, in_false_raster_or_constant, {where_clause})
NombreExplicaciónTipo de datos
in_conditional_raster

El ráster de entrada que representa el resultado verdadero o falso de la condición deseada.

Puede ser de tipo entero o punto flotante.

Raster Layer
in_false_raster_or_constant

La entrada cuyos valores se utilizan como valores de la celda de salida si la condición es falsa.

Puede ser un ráster de punto flotante o entero, o un valor constante.

Raster Layer; Constant
where_clause
(Opcional)

La expresión lógica que determina cuáles de las celdas de entrada deben ser verdaderas o falsas.

La expresión sigue la forma general de una expresión SQL. Un ejemplo de una where_clause es "VALUE > 100".

SQL Expression

Valor de retorno

NombreExplicaciónTipo de datos
out_raster

El ráster de salida.

Si la evaluación condicional es verdadera, se devuelve NoData. Si es falsa, se devuelve el valor del segundo ráster de entrada.

Raster

Muestra de código

Ejemplo 1 de SetNull (ventana de Python)

En este ejemplo, toda celda de entrada con un valor menor a 0 se establecerá en NoData en el ráster de salida y las celdas restantes mantendrán el valor original.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outSetNull = SetNull("elevation", "elevation", "VALUE < 0")
outSetNull.save("C:/sapyexamples/output/outsetnull.img")
Ejemplo 2 de SetNull (secuencia de comandos independiente)

En este ejemplo, toda celda de entrada con un valor que no sea 7 se establecerá en NoData y las celdas que son 7 se establecerán en un valor de 1 en la salida.

# Name: SetNull_Ex_02.py
# Description: Returns NoData if a conditional evaluation is 
#              true and returns the value specified by another
#              raster if it is false, on a cell-by-cell basis.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "landclass"
inFalseRaster = 1
whereClause = "VALUE <> 7"

# Execute SetNull
outSetNull = SetNull(inRaster, inFalseRaster, whereClause)

# Save the output 
outSetNull.save("C:/sapyexamples/output/outsetnull")