Очікуєте ArcPy перезаписати файли у файл бази даних geodata?


13

Я пишу сценарій python, у мене є mxd, а його робоча область - це файл бази даних geodata з усіма потрібними мені файлами. Проблема, з якою я стикаюся при тестуванні та написанні коду, полягає в тому, що, незважаючи на команду:

arcpy.env.overwriteOutput=True

всі файли, що містяться в базі даних геоданих, не можуть бути перезаписані. Є спосіб обійти це?


В ArcMap ви перевіряли "Перезапис результатів операцій геообробки" в розділі Геообробка> Параметри геообробки?
Балток

так. Але не вийшло.
Анналіса Мінеллі

3
Чи знаєте ви про якісь блокування схем у ваших даних? Це також може запобігти перезапису. Файлові та персональні бази даних геоданих особливо чутливі до цього, оскільки якщо один клас функцій має блокування, він блокує всю базу даних геоданих.
Балток

2
Коли ви говорите, що "всі файли, що містяться в базі даних geodata, не вдається перезаписати", ти маєш на увазі, що сценарій не працює або він завершується, але просто не перезаписує класи класів, які він повинен?
Чад Купер

спробуйте запустити свій код з ID python на зразок PyScripter, а потім закрийте ArcMap.
geogeek

Відповіді:


16

Якщо я правильно пам'ятаю, є певні ситуації, для яких перезапис виводу не буде працювати. У такому випадку перед написанням нових файлів використовуйте такий код:

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

1

Переконайтесь, що база даних геоданих не стискається, тобто читається лише.


0

У мене також була ця проблема, і коментар щодо замків схеми дійсно допоміг. Якщо у вас є mxd з цим класом функцій, він блокує цей клас функцій, тому його неможливо видалити. Якщо ви просто вийдете з mxd, який містить цей клас функцій, і запустите той же код перезапису, він, здається, працює.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.