12 votos

Cómo Lote Clip en ArcGIS Desktop 10 usando Python y ArcPy?

Me he encontrado con un par de preguntas similares para las versiones anteriores de ArcGIS, pero no han encontrado una respuesta adecuada para ArcGIS 10.

Tengo dos polígonos shapefile que cubren una gran área (por ejemplo, a todo un Estado/Provincia). La primera shapefile representa la cobertura de la tierra para todo el Estado y el segundo representa el 50 cuencas individuales. Me gustaría clip de la cobertura de la tierra shapefile basado en cada cuenca (cada uno tiene un nombre único que se almacena en un campo). Entonces me gustaría guardar la salida recortadas archivos (uno para cada uno de los 50 cuencas hidrográficas) utilizando el nombre de la cuenca.

Dado que hay 50 clips a cabo este proceso es un gran candidato para el procesamiento por lotes.

17voto

Arda Xi Puntos 1099

La siguiente secuencia de comandos clips polígono cuencas polígono las fronteras de los condados, nombrando a cada uno de salida featureclass algo como HspWBD_HU12_county nombre. Probado y funciona. Asegúrese de que sus valores en el campo NOMBRE no tiene caracteres especiales o espacios (simple cadena Python métodos pueden limpiar eso para usted).

import arcpy

arcpy.env.workspace = r'D:\Projects\GDBs\slowbutter.gdb\IPAS'
rows = arcpy.SearchCursor('HspAOI')
for row in rows:
    feat = row.Shape
    arcpy.Clip_analysis('HspWBD_HU12', feat, 'HspWBD_HU12_' + str(row.getValue('NAME')), '')

8voto

jdecuyper Puntos 2690

Como utilizar ArcGIS 10, me gustaría utilizar modelbuilder con builtin herramienta: Iteración de Selección de Función para realizar esta tarea. Ver el pseudo-modelo de la imagen. no se necesita saber python scritping a todos. pseudo model

2voto

UnkwnTech Puntos 21942

Esto suena exactamente igual a lo que la División de la herramienta del Análisis del cuadro de herramientas .

Sin embargo, se requiere de una licencia de ArcInfo para correr así que no está disponible para la mayoría de los usuarios de ArcGIS Desktop, me gusta Chad respuesta que va a trabajar para ArcGIS 10 usuarios de Escritorio con ArcView y ArcEditor nivel de licencias.

-1voto

David L Morris Puntos 917

Usted puede hacer esto de la manera que usted desea si usted ejecute otra herramienta en el modo de lote primero: Herramientas de Conversión > A Geodatabase > Clase de entidad a Clase de entidad. Que le vamos a utilizar una expresión para tomar su cuenca capa y tire de cada una de las cuencas invidividually y guardarlo como su propia característica de la clase, entonces usted tiene 50 capas individuales se puede utilizar con la herramienta Clip en modo por lotes.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X