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)
我有一个要覆盖的位置 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)