Disponible con una licencia de Spatial Analyst.
Resumen
Extrae las celdas de un ráster según un polígono.
Uso
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 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 caen 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. En caso de que se utilicen varios polígonos, el primer y último vértice deben ser iguales para cerrar cada polígono. Si los últimos puntos no son idénticos, el polígono se cerrará automáticamente. 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.
Cuando un ráster multibanda se especifica como entrada, se creará un ráster multibanda nuevo como salida. Cada banda individual del ráster multibanda de entrada se analizará como corresponda.
El formato de salida predeterminado es un ráster de geodatabase. Si se especifica una pila en Cuadrícula de Esri como formato de salida, tenga en cuenta que el nombre no puede empezar con un número, utilizar espacios o tener más de nueve caracteres de longitud.
Si la entrada es una capa creada desde un ráster multibanda con más de tres bandas, la operación de extracción considerará únicamente las bandas que fueron cargadas (simbolizadas) por la capa. Como resultado, el ráster multibanda de salida sólo puede tener tres bandas, que corresponden a las utilizadas en la visualización de la capa de entrada.
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.
Sintaxis
ExtractByPolygon (in_raster, polygon, {extraction_area})
Parámetro | Explicación | Tipo 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 por clases de Point. Opcionalmente, se puede usar una clase de Polygon para definir una lista de partes de polígono. Los puntos se especifican como pares de coordenadas x,y en las mismas unidades de mapa que el ráster de entrada. El formato del objeto es:
Tenga en cuenta que la última coordenada debe ser igual que la primera para cerrar un polígono. | Point |
extraction_area (Opcional) | Identifica si debe extraer celdas dentro o fuera del polígono de entrada.
| String |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_raster | Ráster de salida que contiene los valores de las celdas extraídos del ráster de entrada. | Raster |
Ejemplo 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)]
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractByPolygon
extPolygonOut = ExtractByPolygon(inRaster, polyPoints, "INSIDE")
# Save the output
extPolygonOut.save("c:/sapyexamples/output/extpoly02")
Entornos
Información sobre licencias
- ArcGIS for Desktop Basic: Requiere Spatial Analyst
- ArcGIS for Desktop Standard: Requiere Spatial Analyst
- ArcGIS for Desktop Advanced: Requiere Spatial Analyst