ArcMap 10.2 地理处理覆盖

ArcMap 10.2 Geoprocessing overwrite

我有一个要覆盖的位置 shapefile。我已启用地理处理选项以覆盖所有地理处理操作。我打开了用于创建原始位置 shapefile 的分析工具,并尝试使用相同的输入和输出重新运行该工具。我收到两个错误,1,警告 000725,表示输出文件已经存在,1 错误 000723,表示我的 table 内容中的输入文件不存在或不受支持。有什么想法吗?

关于输入不存在的第二个警告有很多可能的原因;也许你可以提供更多信息。

我熟悉关于输出已存在的第一个警告。这通常是因为环境设置 "env.overwriteOutput" 没有正常工作。典型的解决方法是让您的脚本检查输出是否存在,如果存在则删除输出,然后再生成新的输出。这是一个简单的示例,涉及创建功能 class:

的备份

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

希望对您有所帮助!

汤姆

想要 post 对@TomAdair 的回复发表评论,但想要正确设置格式。也许更简洁一点就是尝试删除并让该部分失败。

try:
    a.Delete_management(out_fc)
except:
    pass

a.FeatureClassToFeatureClass_conversion(in_fc, out_dir, out_fc)