Elección (Spatial Analyst)

Disponible con una licencia de Spatial Analyst.

Disponible con licencia de Image Analyst.

Resumen

El valor de un ráster de posición se utiliza para determinar desde qué ráster de una lista de rásteres de entrada se obtendrá el valor de la celda de salida.

Ilustración

Ilustración de Elección
OutRas = Pick(InRas1, [InRas2, InRas3],"SINGLE_BAND")

Uso

  • El valor de cada celda del Ráster de posición de entrada (in_position_raster en Python) determina qué entrada se utilizará para obtener el valor del ráster de salida. Por ejemplo, si una celda del Ráster de posición de entrada tiene un valor de 1, el valor de la primera entrada en la lista del ráster se utilizará para el valor de la celda de salida. Si la entrada de posición tiene un valor de 2, el valor de salida provendrá de la segunda entrada en la lista de rásteres y así sucesivamente.

  • El orden de los Valores de rásteres o constantes de entrada (in_rasters_or_constants en Python) es importante para esta herramienta. Si el orden de los rásteres cambia, los resultados cambiarán.

  • Si el valor de celda del Ráster de posición de entrada es cero o negativo, el resultado será NoData. Si el valor de posición es más grande que la cantidad de rásteres en la lista, el resultado será NoData.

  • Si el Ráster de posición de entrada es de punto flotante, los valores se truncarán a los enteros antes de que se procesen.

  • Toda celda con un valor NoData en el ráster de posición recibirá NoData en el ráster de salida.

  • Si alguno de los rásteres en la lista de entrada es de punto flotante, el ráster de salida será de punto flotante. Si todos son enteros, el ráster de salida será un entero.

  • Si el parámetro Procesar como multibanda está desactivado (process_as_multiband tiene el valor SINGLE_BAND en Python), solo se usará la primera banda de un Ráster de posición de entrada multibanda (in_position_raster en Python). Cada banda de los Rásteres o valores constantes de entrada multibanda o valores constantes (in_rasters_or_constants en Python) se procesará por separado como un ráster de banda única.

  • Si el parámetro Procesar como multibanda está activado (process_as_multiband tiene el valor MULTI_BAND en Python), cada entrada de ráster multibanda se procesa como un ráster multibanda.

    El número de bandas de la salida depende del Ráster de posición de entrada. Si el Ráster de posición de entrada es de banda única, el número de bandas del ráster de salida tendrá el número máximo de bandas de todos los rásteres multibanda de Valores de rásteres o constantes de entrada. Si el Ráster de posición de entrada es multibanda, el ráster de salida tendrá el mismo número de bandas que el Ráster de posición de entrada.

    Si cualquiera de los Valores de rásteres o constantes de entrada es un ráster con un número menor de bandas que el ráster de salida, las bandas ausentes se interpretarán como una banda llena de NoData. Si el valor de celda del Ráster de posición de entrada toma el valor uno de la banda ausente, el ráster de salida recibirá NoData. Si cualquiera de los Rásteres o valores constantes de entrada es una constante, se interpretará como un ráster multibanda, en el que los valores de las celdas de todas las bandas son iguales a la constante y tienen el mismo número de bandas que el ráster de salida.

  • Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento que se aplican a esta herramienta.

Sintaxis

Pick(in_position_raster, in_rasters_or_constants, {process_as_multiband})
ParámetroExplicaciónTipo de datos
in_position_raster

El ráster de entrada que define la posición del ráster que se utilizará para el valor de salida.

La entrada puede ser de ráster entero o punto flotante.

Raster Layer
in_rasters_or_constants
[in_raster_or_constant,...]

La lista de entradas desde la cual se seleccionará el valor de salida.

Las entradas pueden ser rásteres enteros o flotantes. También se puede utilizar un número como entrada.

Raster Layer; Constant
process_as_multiband
(Opcional)

Especifica cómo se procesarán las bandas de ráster multibanda de entrada.

  • SINGLE_BANDCada banda de una entrada de ráster multibanda se procesará por separado como un ráster de una única banda. Esta es la opción predeterminada.
  • MULTI_BANDCada entrada de ráster multibanda se procesará como un ráster multibanda. La operación se realizará en cada banda a partir de una entrada mediante el uso del número de banda correspondiente de otras entradas.
Boolean

Valor de retorno

NombreExplicaciónTipo de datos
out_raster

El ráster de salida.

Raster

Muestra de código

Ejemplo 1 de Pick (ventana de Python)

En este ejemplo se asigna el valor de salida en función del orden de diferentes rásteres de salida.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPick = Pick("cost", ["degs", "negs", "fourgrd"], "SINGLE_BAND")
outPick.save("C:/sapyexamples/output/outpick.tif")
Ejemplo 2 de Pick (script independiente)

En este ejemplo se asigna el valor de salida en función del orden de diferentes rásteres de salida.

# Name: Pick_Ex_02.py
# Description: Assigns output values using one of a list of rasters
#              determined by the value of an input raster.
# 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
inPositionRas = "inzone_MB"
inRas01 = "Ras1_MB"
inRas02 = "Ras2_MB"
inRas03 = "Ras3_MB"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute Pick
outPick = Pick(inPositionRaster, [inRas01, inRas02, inRas03], "MULTI_BAND")

# Save the output 
outPick.save("C:/sapyexamples/output/outpick")

Información de licenciamiento

  • Basic: Requiere Spatial Analyst o Image Analyst
  • Standard: Requiere Spatial Analyst o Image Analyst
  • Advanced: Requiere Spatial Analyst o Image Analyst

Temas relacionados