ArcMap 10.2地理处理覆盖

时间:2015-07-08 00:40:31

标签: arcgis arcpy arcmap arcgis-server

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

2 个答案:

答案 0 :(得分:1)

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

我熟悉有关已存在输出的第一个警告。这通常是因为环境设置“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

我希望这有帮助!

汤姆

答案 1 :(得分:1)

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

try:
    a.Delete_management(out_fc)
except:
    pass

a.FeatureClassToFeatureClass_conversion(in_fc, out_dir, out_fc)