У меня есть шейп-файл местоположений, который я пытаюсь перезаписать. Я включил параметры геообработки, чтобы перезаписать все операции геообработки. Я открыл инструмент анализа, из которого создал исходный шейп-файл местоположений, и попытался повторно запустить инструмент с теми же входными и выходными данными. Я получаю две ошибки: 1, предупреждение 000725, указывающее, что выходные файлы уже существуют, и 1 ошибка 000723, указывающая, что входные файлы в моем оглавлении не существуют или не поддерживаются. Есть предположения?
ArcMap 10.2 Геообработка перезаписать
Ответы (2)
Второе предупреждение о том, что ввод не существует, может иметь множество причин; возможно, вы могли бы предоставить дополнительную информацию.
Мне знакомо первое предупреждение об уже существующем выводе. Часто это происходит из-за того, что параметр среды «env.overwriteOutput» не работает должным образом. Типичный обходной путь заключается в том, что ваш скрипт проверяет наличие вашего вывода и удаляет вывод, если он существует, до генерации нового вывода. Вот простой пример создания резервной копии класса пространственных объектов:
import os
import arcpy as a
from arcpy import env
fc = "name_of_your_feature_class"
fc_dir = r"path_to_your_feature_class"
out_dir = r"directory_to_copy_feature_class_to"
env.workspace = fc_dir
env.overwriteOutput = True
in_fc = os.path.join(fc_dir, fc)
out_fc = fc + "_backup"
try:
a.FeatureClassToFeatureClass_conversion(in_fc, out_dir, out_fc)
except a.ExecuteError: #In case env.overwriteOutput does not work
print "env.overwriteOutput malfunctioning: attempting work-around..."
try:
if a.Exists(out_fc):
a.Delete_management(out_fc)
a.FeatureClassToFeatureClass_conversion(in_fc, out_dir, out_fc)
print "Work-around complete."
except Exception as e:
print "Work-around failed."
print e
Надеюсь, это поможет!
Том
Хотел опубликовать комментарий к ответу @TomAdair, но хотел получить правильное форматирование. Может быть, будет немного более кратким - просто попытаться удалить и позволить этой части выйти из строя.
try:
a.Delete_management(out_fc)
except:
pass
a.FeatureClassToFeatureClass_conversion(in_fc, out_dir, out_fc)