Extraer por consulta de atributos (Spatial Analyst)

Disponible con una licencia de Spatial Analyst.

Resumen

Extrae las celdas de un ráster según una consulta lógica.

Ilustración

Ilustración de Extraer por consulta de atributos
OutRas = ExtractByAttributes(InRas1, "Value > 0")

Uso

  • En caso de que el ráster de entrada contuviera atributos adicionales, estos se trasladarán tal cual a la tabla de atributos del ráster de salida. En función de la propiedad que se va a registrar, es posible que haya que recalcular los valores de algunos atributos.

  • Cuando se especifica un ráster multibanda como el Ráster de entrada (in_raster en Python), se utilizarán todas las bandas.

    Para procesar una selección de bandas a partir de un ráster multibanda, cree primero un dataset ráster nuevo formado por esas bandas concretas con la herramienta Bandas compuestas. A continuación, use el resultado como el Ráster de entrada (in_raster en Python).

    El formato de salida predeterminado es un ráster de geodatabase. Si se especifica una pila de Cuadrícula de Esri como formato de salida, el nombre de la pila no puede comenzar por un número, usar espacios ni tener más de nueve caracteres de longitud.

  • Si la Cláusula WHERE se evalúa como verdadera, se devuelve el valor de entrada original para la ubicación de celda. Si se evalúa como falsa, a la ubicación de celda se le asigna NoData.

  • En la cláusula Where 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.

  • Si en la consulta se especifica un elemento del ráster de entrada distinto de Value, se devuelve el valor de entrada original en la ubicación de celda.

  • Si el ráster de entrada es un entero, el ráster de salida será un entero. Si la entrada es de punto flotante, la salida será de punto flotante.

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

Parámetros

EtiquetaExplicaciónTipo de datos
Ráster de entrada

El ráster de entrada desde el cual se extraerán las celdas.

Raster Layer
Cláusula Where

Una expresión lógica que selecciona un subconjunto de celdas de ráster.

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

Ráster de salida que contiene los valores de las celdas extraídos del ráster de entrada.

Raster

ExtractByAttributes(in_raster, where_clause)
NombreExplicaciónTipo de datos
in_raster

El ráster de entrada desde el cual se extraerán las celdas.

Raster Layer
where_clause

Una expresión lógica que selecciona un subconjunto de celdas de ráster.

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

Ráster de salida que contiene los valores de las celdas extraídos del ráster de entrada.

Raster

Muestra de código

Ejemplo 1 de ExtractByAttributes (ventana de Python)

En este ejemplo se extraen celdas de un ráster en función de una consulta lógica donde la elevación es superior a 1.000 metros.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
attExtract = ExtractByAttributes("elevation", "VALUE > 1000") 
attExtract.save("c:/sapyexamples/output/attextract")
Ejemplo 2 de ExtractByAttributes (secuencia de comandos independiente)

En este ejemplo se extraen celdas de un ráster en función de una consulta lógica donde la elevación es superior a 1.000 metros.

# Name: ExtractByAttributes_Ex_02.py
# Description: Extracts the cells of a raster based on a logical query. 
# 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 = "elevation"
inSQLClause = "VALUE > 1000"

# Execute ExtractByAttributes
attExtract = ExtractByAttributes(inRaster, inSQLClause) 

# Save the output 
attExtract.save("c:/sapyexamples/output/attextract02")

Información de licenciamiento

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

Temas relacionados