9 votos

Borrar una capa de ArcMap con Python

El problema:

  • Estoy tratando de hacer un bucle a través de todas mis capas buscando la capa llamada "CADAnnotation" .
  • Si la capa existe, elimine la capa del mxd

Notas:

  • Ejecución desde Stand-Alone script (es decir, NO dentro de Arcmap)
  • "CADAnnotation" El tipo de datos es una clase de característica de anotación CAD
  • "CADAnnotation" NO está en una base de datos geográficos, se crea a partir de un .dwg de AutoCAD
  • "CADAnnotation" está dentro de una Capa de Grupo llamada "ACAD"
  • Si la capa del grupo "ACAD" puede ser eliminado que también elimina "CADAnnotation" eso sería genial.

Código hasta ahora:

for item in mxds:
    print (item)
    mxd = arcpy.mapping.MapDocument(item)
    df=arcpy.mapping.ListDataFrames(mxd,"Project Area")[0]
    for lyr in arcpy.mapping.ListLayers(mxd, "*",df):
        if lyr.name == "CADAnnotation":
            print(lyr.dataSource)
            arcpy.Delete_management("CADAnnotation")
            print("Layer Deleted")
        else:
            pass

Notas sobre el código:

  • Puedo encontrar la capa sin problemas
  • la línea arcpy.Delete_management("CADAnnotation") no funciona arroja un error.

Pregunta:

  • ¿Cómo puedo eliminar "CADAnnotation" y/o "ACAD" ¿capa de grupo?

17voto

Ilya Puntos 2279

Esto no tiene sentido para mí. Sí, algunos sistemas de axiomas pueden escribirse con un número finito de bits. A partir de esos axiomas se pueden deducir infinitos teoremas. ¿No se necesitan infinitos bits para especificarlos? ¿Cómo distingue su "prueba" entre los sistemas que son completos, como la aritmética de Presburgo, y los que no lo son?

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