15 votos

¿Esperando que ArcPy sobrescriba los archivos en el archivo de la geodatabase?

Estoy escribiendo un python script, tengo un mxd y su espacio de trabajo es un archivo de geodatabase con todos los archivos que necesito dentro. El problema que estoy encontrando al probar y escribir el código es que, a pesar del comando

arcpy.env.overwriteOutput=True

todos los archivos contenidos en la geodatabase fallan al sobrescribir. ¿Hay alguna forma de evitarlo?

0 votos

En ArcMap, ¿marcó la opción "Sobrescribir los resultados de las operaciones de geoprocesamiento" en Geoprocesamiento>Opciones de geoprocesamiento?

0 votos

Sí, lo hice. Pero no funcionó.

3 votos

¿Tiene conocimiento de algún bloqueo de esquema en sus datos? Eso también puede impedir la sobreescritura. Las bases de datos de archivos y personales son particularmente sensibles a esto, porque si una clase de característica tiene un bloqueo, se bloquea toda la geodatabase.

19voto

Prachur Puntos 111

Si no recuerdo mal, hay ciertas situaciones en las que overwriteOutput no funciona. En ese caso, utilice el siguiente código antes de escribir los nuevos archivos:

if arcpy.Exists(fileInQuestion):
    arcpy.Delete_management(fileInQuestion)

2voto

Michael Burr Puntos 181287

Asegúrese de que la geodatabase del archivo no está comprimida, es decir, es de sólo lectura.

0voto

samuel tober Puntos 6

Yo también estaba teniendo este problema y el comentario sobre los bloqueos del esquema me ayudó mucho. Si tienes un mxd con esa clase de característica en él, bloquea esa clase de característica para que no pueda ser eliminada. Si sales del mxd que contiene esa feature class y ejecutas el mismo código de sobrescritura, parece que funciona.

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