ArcMap 10.2 Геообработка перезаписать

У меня есть шейп-файл местоположений, который я пытаюсь перезаписать. Я включил параметры геообработки, чтобы перезаписать все операции геообработки. Я открыл инструмент анализа, из которого создал исходный шейп-файл местоположений, и попытался повторно запустить инструмент с теми же входными и выходными данными. Я получаю две ошибки: 1, предупреждение 000725, указывающее, что выходные файлы уже существуют, и 1 ошибка 000723, указывающая, что входные файлы в моем оглавлении не существуют или не поддерживаются. Есть предположения?


person Tiffany Morris    schedule 08.07.2015    source источник


Ответы (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

Надеюсь, это поможет!

Том

person TomAdair    schedule 09.07.2015

Хотел опубликовать комментарий к ответу @TomAdair, но хотел получить правильное форматирование. Может быть, будет немного более кратким - просто попытаться удалить и позволить этой части выйти из строя.

try:
    a.Delete_management(out_fc)
except:
    pass

a.FeatureClassToFeatureClass_conversion(in_fc, out_dir, out_fc)
person Roland    schedule 13.07.2015