Ti aspetti che ArcPy sovrascriva i file nel file geodatabase?


13

Sto scrivendo uno script Python, ho un mxd e il suo spazio di lavoro è un file geodatabase con tutti i file di cui ho bisogno. Il problema che sto riscontrando nel test e nella scrittura del codice è che, nonostante il comando:

arcpy.env.overwriteOutput=True

tutti i file contenuti nel geodatabase non riescono a sovrascrivere. C'è un modo per aggirare questo?


In ArcMap, hai controllato "Sovrascrivi gli output delle operazioni di geoprocessing" in Geoprocessing> Opzioni di geoprocessing?
Baltok,

si l'ho fatto. Ma non ha funzionato.
Annalisa Minelli,

3
Sei a conoscenza di eventuali blocchi dello schema sui tuoi dati? Ciò può impedire anche la sovrascrittura. I database di file e personali sono particolarmente sensibili a questo, perché se una classe di caratteristiche ha un blocco, blocca l'intero geodatabase.
Baltok,

2
Quando dici che "tutti i file contenuti nel geodatabase non riescono a sovrascrivere", intendi che lo script fallisce o si completa ma semplicemente non sovrascrive le featureclass che dovrebbe?
Chad Cooper,

prova a eseguire il codice da un IDE python come PyScripter, quindi chiudi ArcMap.
geogeek,

Risposte:


16

Se ricordo bene ci sono alcune situazioni in cui overwriteOutput non funzionerà. In tal caso, utilizzare il seguente codice prima di scrivere nuovi file:

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

1

Assicurarsi che il file geodatabase non sia compresso, cioè di sola lettura.


0

Avevo anche questo problema e il commento sui blocchi dello schema mi ha davvero aiutato. Se hai un mxd con quella classe caratteristica su di esso, blocca quella classe caratteristica quindi non può essere cancellato. Se esci dal mxd che contiene quella classe di funzionalità ed esegui lo stesso codice di sovrascrittura, sembra funzionare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.