Más

La capa en memoria arcpy.MakeFeatureLayer todavía existe cuando el paso siguiente falla durante la prueba

La capa en memoria arcpy.MakeFeatureLayer todavía existe cuando el paso siguiente falla durante la prueba


Cuando usé arcgisscripting para crear una capa de salida en memoria con gp.makefeaturelayer, lo pondría en un bloque try / except y eliminaría el objeto gp en la pieza except cuando el makefeaturelayer fallara. Ahora, cuando estoy usando arcpy, parece que necesito cerrar la ventana inactiva y abrirla nuevamente para eliminar la capa de salida en memoria.

¿Cómo podría eliminar la capa de salida de mi herramienta makefeaturelayer en un bloque try / except? Gracias.


arcpy.Delete_management (featureLayer)

Incluso

arcpy.env.overwriteOutput = Verdadero

dentro de su secuencia de comandos sobrescribirá cualquier versión anterior de un archivo sin tener que eliminar las versiones "malas" en absoluto.


Eliminar la capa de entidades en el bloque de código excepto no funcionará. Si está en el bloque de código except, no se pudo crear la capa de entidades.

Recomiendo agregar un bloque de código finalmente que se ejecutará si el bloque try es exitoso o no. Si hace esto, debe asegurarse de que la capa de entidades exista antes de poder eliminarla.

intente: arcpy.MakeFeatureLayer_management (inFeatureClass, "outFeatureLayer", {whereClause}) excepto: print arcpy.GetMessages () finalmente: if arcpy.Exists ("outFeatureLayer"): arcpy.Delete_management ("out")