Extraer por polígono (Spatial Analyst)

Resumen

Extrae las celdas de un ráster basado en un polígono especificando los vértices del polígono.

Heredado:

Esta herramienta está obsoleta y se eliminará en una versión futura.

La herramienta Extraer por máscara proporciona una funcionalidad o rendimiento mejorados.

Ilustración

Ilustración de Extraer por puntos
OutRas = ExtractByPolygon(InRas1,[Point(1.4,0.4),Point(1.4,4.6),Point(3.6,4.6),Point(5.6,2.6),Point(3.6,0.4),Point(1.4,0.4)],"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.

  • Para extraer según un polígono en una clase de entidad en lugar de proporcionar una serie de pares x,y, puede utilizar la herramienta Extraer por máscara.

  • El objeto del polígono puede estar formado solo por una parte o por muchas partes como una clase de polígono. En este último caso, todas las partes del polígono deben ser contiguas, de modo que se puedan definir mediante un solo polígono. Para realizar la extracción basándose en una entidad poligonal que contenga varias partes desconectadas, utilice la herramienta Extraer por máscara.

  • El centro de la celda se utiliza para determinar si una celda se encuentra dentro o fuera de un polígono. Si el centro se encuentra dentro de los arcos del polígono, la celda se considera completamente dentro, incluso si algunas porciones de la celda quedan fuera del polígono.

  • El polígono tiene un límite de 1.000 vértices. Debe introducir los vértices del polígono en el sentido de las agujas del reloj. El primer y último vértice deben ser el mismo para cerrar el polígono. Esto es muy importante si se utilizan varios polígonos. En ese caso, si el último punto de cada polígono individual no es idéntico a su vértice inicial, puede que los polígonos se cierren automáticamente al conectar directamente con el primer vértice. No obstante, esto puede generar otro resultado diferente al que esperaba, de modo que tenga cuidado si va a emplear esta técnica.

    Los arcos del polígono pueden cruzarse entre si, pero no se recomiendan los polígonos complejos.

  • A las ubicaciones de las celdas que no están seleccionadas se les asigna el valor NoData.

  • 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 válidos para 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
Polígono

Polígono (o polígonos) definido por una serie de vértices (coordenadas de punto x,y) que identifica el área del ráster de entrada que se extraerá. La última coordenada de la parte de un polígono debe ser igual que la primera para cerrar un polígono.

Cuando se especifican varios polígonos, estos deben ser contiguos. Introduzca la serie de las coordenadas polígono a polígono. Asegúrese de cerrar cada parte definiendo la última coordenada igual que la primera.

Los puntos se encuentran en las mismas unidades de mapa que el ráster de entrada.

Point
Área de extracción
(Opcional)

Identifica si debe extraer celdas dentro o fuera del polígono de entrada.

  • DentroDebe seleccionar las celdas dentro del polígono de entrada y escribirlas en el ráster de salida. Todas las celdas fuera del polígono recibirán valores NoData en el ráster de salida.
  • FueraDebe seleccionar las celdas fuera del polígono de entrada y escribirlas en el ráster de salida. Todas las celdas dentro del polígono recibirán NoData.
String

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

ExtractByPolygon(in_raster, polygon, {extraction_area})
NombreExplicaciónTipo de datos
in_raster

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

Raster Layer
polygon
[point,...]

Un polígono (o polígonos) que define el área del ráster de entrada que se extraerá.

Cada parte del polígono es una lista de vértices definidos mediante clases de Point. Los puntos se especifican como pares de coordenadas x,y en las mismas unidades de mapa que el ráster de entrada.

La forma del objeto para un único polígono es la siguiente:

  • [point(x1,y1), point(x2,y2), ..., point(xn,yn), point(x1,y1]

También se puede especificar un grupo de varios polígonos utilizando una clase de Polygon para definir una lista de partes de polígono. Tenga en cuenta que, para hacerlo, todas las partes deben ser contiguas y, además, deben estar englobadas en una única forma perimetral. La forma del objeto en este caso estaría en una lista contigua como sigue:

  • [point(x1,y1), point(x2,y2), ..., point(xn,yn), point(x1,y1), point(x'1,y'1), point(x'2,y'2), ..., point(x'n,y'n), point(x'1,y'1), ...]

En todos los casos, la última coordenada de cada parte de un polígono debe ser igual que la primera para cerrarlo.

Point
extraction_area
(Opcional)

Identifica si debe extraer celdas dentro o fuera del polígono de entrada.

  • INSIDEDebe seleccionar las celdas dentro del polígono de entrada y escribirlas en el ráster de salida. Todas las celdas fuera del polígono recibirán valores NoData en el ráster de salida.
  • OUTSIDEDebe seleccionar las celdas fuera del polígono de entrada y escribirlas en el ráster de salida. Todas las celdas dentro del polígono recibirán NoData.
String

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

En este ejemplo se extraen celdas de un ráster en función de las coordenadas de polígonos especificadas.

import arcpy
from arcpy import env
from arcpy.sa import *
polyPoints = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200), 
             arcpy.Point(743500, 4322000),arcpy.Point(742900, 4321800)]
env.workspace = "C:/sapyexamples/data"
extPolygonOut = ExtractByPolygon("soil", polyPoints, "INSIDE")
extPolygonOut.save("c:/sapyexamples/output/extpoly")
Ejemplo 2 de ExtractByPolygon (secuencia de comandos independiente)

En este ejemplo se extraen celdas de un ráster en función de las coordenadas de polígonos especificadas.

# Name: ExtractByPolgyon_Ex_02.py
# Description: Extracts the cells of a raster based on a polygon.
# 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 = "soil"
polyPoints = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200), 
             arcpy.Point(743500, 4322000),arcpy.Point(742900, 4321800)]

# Execute ExtractByPolygon
extPolygonOut = ExtractByPolygon(inRaster, polyPoints, "INSIDE")

# Save the output 
extPolygonOut.save("c:/sapyexamples/output/extpoly02")