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)
Другие вопросы по тегам