1 votos

Clip de varios a varios en ArcGIS 10.2

Tengo dos capas, cada una contiene cientos de polígonos. Estoy tratando de encontrar una manera de recortar los datos de una capa a cada polígono de la otra capa. El problema es que las características de recorte de la capa se superponen. Me gustaría que la capa de entrada fuera recortada a cada polígono por separado y crear duplicados en las áreas superpuestas. ¿Hay una manera fácil de recortar la capa de entrada a cada polígono de la segunda capa por separado? Por desgracia, no estoy familiarizado con la codificación si eso es una opción.

0voto

jbalk Puntos 581

Como no quieres una solución de codificación, tengo una solución de modelismo:

  1. Crear un nuevo modelo
  2. Añade tu capa de entrada y tu capa de recorte
  3. Haga clic con el botón derecho en el modelo y seleccione iteradores>selección de características
  4. Conecte la capa de recorte al iterador y establezca el grupo por campo si necesita agrupar por un campo
  5. Añadir la herramienta de recorte y conectar la salida del iterador a la herramienta de recorte como las características de recorte
  6. Conecte la capa de entrada a la herramienta de clip como las características de entrada
  7. Abra las propiedades de la herramienta de recorte y cambie la ruta de salida a SuTextoAquí_%Valor% - esto producirá SuTextoAquí_(valor del atributo de la característica seleccionada), por ejemplo, Propiedades_131

En la imagen siguiente, puede ver la configuración del modelo, los ajustes del clip y los ejemplos de salidas del modelo: enter image description here

-1voto

Anton8000 Puntos 165

Script a continuación recortará una clase de característica de entrada con cada polígono de una clase de característica de recorte y creará una nueva clase de característica para cada recorte. Las clases de características de salida se llamarán 'Clip_'+objetotid, por ejemplo Clip_1

import arcpy,os

fc_to_clip=r'C:\TEST.gdb\polygons123'
clipfeatures=r'C:\TEST.gdb\clip_features'
out_location=r'C:\TEST.gdb'

with arcpy.da.SearchCursor(clipfeatures,['OBJECTID','SHAPE@']) as cursor:
    for row in cursor:
        arcpy.Clip_analysis(in_features=fc_to_clip, clip_features=row[1],out_feature_class=os.path.join(out_location,'Clip_'+str(row[0])))

Guarde el código como un archivo .py y ejecútelo en Ventana Python (sección Carga de Python en la ventana de Python)

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