ArcMap 10.2 Перезапись геообработки
У меня есть шейп-файл локаций, который я пытаюсь перезаписать. Я включил параметры геообработки, чтобы перезаписать все операции геообработки. Я открыл инструмент анализа, из которого создал шейп-файл исходных местоположений, и попытался повторно запустить инструмент с тем же вводом и выводом. Я получаю две ошибки: 1, Предупреждение 000725, указывающее, что выходные файлы уже существуют, и 1 Ошибка 000723, указывающая, что входные файлы в моем оглавлении не существуют или не поддерживаются. Какие-нибудь мысли?
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)