Esperando que o ArcPy substitua arquivos no arquivo geodatabase?

13

Estou escrevendo um script python, tenho um mxd e seu espaço de trabalho é um arquivo de geodatabase com todos os arquivos de que preciso. O problema que estou encontrando ao testar e escrever código é que, apesar do comando:

arcpy.env.overwriteOutput=True

todos os arquivos contidos no geodatabase falham em sobrescrever. Existe uma maneira de contornar isso?

Annalisa Minelli
fonte
No ArcMap, você verificou a opção "Substituir as saídas das operações de geoprocessamento" em Geoprocessamento> Opções de geoprocessamento?
Baltok
sim eu fiz. Mas não funcionou.
Annalisa Minelli
3
Você conhece algum bloqueio de esquema nos seus dados? Isso pode impedir a substituição também. Os bancos de dados geográficos e de arquivos pessoais são particularmente sensíveis a isso, porque se uma classe de recurso possui um bloqueio, ela bloqueia todo o geodatabase.
Baltok
2
Quando você diz que "todos os arquivos contidos no geodatabase falham em sobrescrever", você quer dizer que o script falhou ou foi concluído, mas simplesmente não substitui as classes de características que deveria?
Chad Cooper
tente executar seu código a partir de um IDE python como o PyScripter e feche o ArcMap.
Geogeek

Respostas:

16

Se bem me lembro, há certas situações em que overwriteOutput não funcionará. Nesse caso, use o seguinte código antes de escrever novos arquivos:

if arcpy.Exists(fileInQuestion):
    arcpy.Delete_management(fileInQuestion)
pé azul
fonte
1

Verifique se o geodatabase do arquivo não está compactado, isto é, somente leitura.

user12711
fonte
0

Eu também estava tendo esse problema e o comentário sobre os bloqueios do esquema realmente ajudou. Se você possui um mxd com essa classe de recurso, ele bloqueia essa classe de recurso para que não possa ser excluído. Se você acabou de sair do mxd que contém essa classe de recurso e executar o mesmo código de substituição, ele parece funcionar.

JJay
fonte