3 votos

¿Recortar más rápido (es decir, en bloque/lote) en ArcGIS for Desktop?

Tengo 100 capas de vectores de entrada diferentes y una capa de vectores de características de clip.

Tengo que recortarlas 100 veces, pero es una gran cantidad de trabajo.

¿Existe algún script (ArcPy) en ArcGIS for Desktop para acelerar mi trabajo y evitar el recorte uno a uno?

7voto

Alex Tereshenkov Puntos 13433

Puede utilizar un simple bloque de código directamente desde la ventana de Python en ArcGIS o como una herramienta Python script o como una herramienta personalizada script.

A continuación se muestra un código de ejemplo para un Herramienta script. Sólo tiene que añadir sus capas vectoriales en un documento de mapa (.mxd) y especificar la capa de recorte y la geodatabase de salida.

import os, arcpy
arcpy.env.overwriteOutput = True

clip_layer = arcpy.GetParameterAsText(0)
out_gdb = arcpy.GetParameterAsText(1)

mxd_obj = arcpy.mapping.MapDocument("CURRENT")

for lyr in arcpy.mapping.ListLayers(mxd_obj):
    arcpy.AddMessage(lyr)
    out_layer = os.path.join(out_gdb,lyr.name)
    arcpy.Clip_analysis(lyr,clip_layer,out_layer)

5voto

xenny Puntos 670

En tu caso (sólo una herramienta), puedes simplemente hacer clic con el botón derecho del ratón en la herramienta de recorte en tu caja de herramientas, y lanzarla como un "lote". Vea el Ayuda de ArcGIS para más detalles

5voto

CodeSlave Puntos 7133

Puede colocar todas las clases de características dentro de un único conjunto de datos y luego utilizar el constructor de modelos para recortarlas todas a la vez y enviarlas a un nuevo conjunto de datos: enter image description here enter image description here

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