Extraer por máscara (Spatial Analyst)

Disponible con una licencia de Spatial Analyst.

Resumen

Extrae las celdas de un ráster que corresponden a las áreas definidas por una máscara.

Ilustración

Ilustración de la herramienta Extraer por máscara
OutRas = ExtractByMask(InRas1, InMsk1, "INSIDE")

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 valor de 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 formado por esas bandas concretas con la herramienta Bandas compuestas. A continuación, use el resultado como el valor de 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.

  • Cuando especifica un ráster multibanda para la máscara de ráster de entrada, sólo la primera banda se utilizará en la operación.

  • Si el valor Ráster de entrada (in_raster en Python) y los datos ráster Datos de máscara de entidad o ráster de entrada (in_mask_data en Python) tienen el mismo tamaño de celda y las celdas están alineadas, se utilizarán directamente en la herramienta. No se remuestrearán internamente mientras la herramienta esté en funcionamiento.

    Si el tamaño de celda es diferente, el tamaño de celda de salida será el máximo de las entradas y el valor Ráster de entrada se utilizará internamente como ráster de alineación. Si el tamaño de celda es el mismo, pero las celdas no están alineadas, el valor Ráster de entrada se utilizará internamente como ráster de alineación. En ambos casos, se desencadenará un remuestreo interno antes de realizar la operación de extracción.

    Encontrará más información en los temas del entorno Tamaño de celda y Ráster de alineación.

  • Si la entrada de máscara es una entidad, se convertirá internamente a un ráster utilizando de forma predeterminada el tamaño de celda y la alineación de celda (ráster de alineación) del valor Ráster de entrada.

  • Si se ha especificado Máscara en la configuración del entorno al ejecutar la herramienta Extraer por máscara, el ráster de salida tendrá valores de celdas solo para el área que reside en la intersección de los datos de la máscara de entorno y la máscara de entrada.

  • Puede utilizar el parámetro Extensión de análisis (analysis_extent en Python) para especificar el área de análisis de salida de forma explícita para el funcionamiento de una herramienta independiente o para invalidar la configuración del entorno como parte de un flujo de trabajo. Para especificar la extensión, puede escribir los valores correspondientes, elegir la extensión de visualización, seleccionar una capa o buscar un dataset de entrada.

  • El valor Extensión de análisis predeterminado se calcula a partir de la intersección del valor Ráster de entrada y del valor Datos de máscara de entidad o ráster de entrada.

  • Si la extensión del análisis no se especifica de forma explícita como valor del parámetro, se derivará de la configuración del entorno del análisis.

  • 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
Datos de máscara de entidad o ráster de entrada

Los datos de máscara de entrada que definen las ubicaciones de celda que se extraerán.

Puede ser un ráster o un dataset de entidades.

Cuando los datos de máscara de entrada son un ráster, a las celdas NoData de la máscara se le asignarán valores NoData en el ráster de salida.

Si la máscara de entrada son datos de entidad, las celdas del ráster de entrada cuyo centro quede dentro de la forma especificada de la entidad se incluirán en la salida, mientras que las celdas cuyo centro quede fuera, recibirán NoData.

Raster Layer; Feature Layer
Área de extracción
(Opcional)

Especifica si las celdas que se seleccionarán y se escribirán en el ráster de salida son las que se encuentran dentro o fuera de las ubicaciones definidas por la máscara de entrada.

  • DentroSe seleccionarán y se escribirán en el ráster de salida las celdas dentro de la máscara de entrada. Todas las celdas fuera de la máscara recibirán NoData en el ráster de salida. Esta es la opción predeterminada.
  • FueraSe seleccionarán y se escribirán en el ráster de salida las celdas fuera de la máscara de entrada. Todas las celdas que cubra la máscara recibirán NoData.
String
Extensión de análisis
(Opcional)

La extensión que define el área que se extraerá.

De forma predeterminada, la extensión se calcula como la intersección del valor Ráster de entrada y del valor Datos de máscara de entidad o ráster de entrada. El procesamiento se producirá hasta los límites x e y, y las celdas afuera de esa extensión serán NoData.

Los parámetros identificados con las flechas izquierda y hacia abajo definen la coordenada inferior izquierda del área que se extraerá, y aquellos con las flechas derecha y hacia arriba definen la coordenada superior derecha.

Las coordenadas se especifican en las mismas unidades de mapa que el ráster de entrada si el entorno de análisis no las establece de forma explícita

Extent

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

ExtractByMask(in_raster, in_mask_data, {extraction_area}, {analysis_extent})
NombreExplicaciónTipo de datos
in_raster

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

Raster Layer
in_mask_data

Los datos de máscara de entrada que definen las ubicaciones de celda que se extraerán.

Puede ser un ráster o un dataset de entidades.

Cuando los datos de máscara de entrada son un ráster, a las celdas NoData de la máscara se le asignarán valores NoData en el ráster de salida.

Si la máscara de entrada son datos de entidad, las celdas del ráster de entrada cuyo centro quede dentro de la forma especificada de la entidad se incluirán en la salida, mientras que las celdas cuyo centro quede fuera, recibirán NoData.

Raster Layer; Feature Layer
extraction_area
(Opcional)

Especifica si las celdas que se seleccionarán y se escribirán en el ráster de salida son las que se encuentran dentro o fuera de las ubicaciones definidas por la máscara de entrada.

  • INSIDESe seleccionarán y se escribirán en el ráster de salida las celdas dentro de la máscara de entrada. Todas las celdas fuera de la máscara recibirán NoData en el ráster de salida. Esta es la opción predeterminada.
  • OUTSIDESe seleccionarán y se escribirán en el ráster de salida las celdas fuera de la máscara de entrada. Todas las celdas que cubra la máscara recibirán NoData.
String
analysis_extent
(Opcional)

La clase Extent determina la extensión del dataset ráster de salida.

El formato de la clase Extent es el siguiente:

  • Extent (XMin, YMin, XMax, YMax)

    donde:

    • XMin: el valor XMin de la extensión
    • YMin: el valor YMin de la extensión
    • XMax: el valor XMax de la extensión
    • YMax: el valor YMax de la extensión

Si no se especifica, la extensión predeterminada es la intersección del valor in_raster y el valor in_mask_data.

Las coordenadas se especifican en las mismas unidades de mapa que el ráster de entrada si el entorno de análisis no las establece de forma explícita

Extent

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 ExtractByMask (ventana de Python)

En este ejemplo se extraen las celdas de un ráster dentro de una marca definida por una clase de entidad de shapefile de polígonos de entrada.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outExtractByMask = ExtractByMask("elevation", "mask.shp", "INSIDE")
outExtractByMask.save("C:/sapyexamples/output/maskextract")
Ejemplo 2 de ExtractByMask (secuencia de comandos independiente)

En este ejemplo se extraen las celdas de un ráster para todas las áreas fuera de una máscara definida por una clase de entidad de shapefile de polígonos de entrada, de modo que se mantiene la extensión de salida del ráster de entrada.

# Name: ExtractByMask_Ex_02.py
# Description: Extracts the cells of a elevation raster for all areas outside of the mask features.
#     Keeping the output extent of the input elevation 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
inRaster = "elevation"
inMaskData = "mask.shp"
extraction_area = "OUTSIDE"
analysis_extent = "elevation"


# Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData, extraction_area, analysis_extent)

# Save the output 
outExtractByMask.save("C:/sapyexamples/output/extractmask")