首页 > 解决方案 > arcpy 将 fc 复制到 shp 并将 fc 附加到 shp

问题描述

在 python 2.7 中使用 arcpy 我试图将数据从要素类附加到一个空的 shapefile。

env_export 是文件夹路径。

我可以创建一个新的空 shapefile

arcpy.CreateFeatureclass_management(env_export, "webmap_point.shp", "POINT")
arcpy.CreateFeatureclass_management(env_export, "webmap_polyline.shp", "POLYLINE")
arcpy.CreateFeatureclass_management(env_export, "webmap_polygon.shp", "POLYGON")

我可以将 fc 复制到新的 shapefile

arcpy.CopyFeatures_management(fc, env_export + "/webmap_polygon.shp")

但是,如果我尝试将 fc 附加到新的或现有的 shapefile(列相同)

arcpy.Append_management(fc, env_export + "/webmap_polygon.shp")

我得到错误:

ExecuteError: ERROR 000466: S:/PROJECTS/Workflow/GN_Coding/OA/03 GIS Projects - Coding Review/Geodatabase/DRS_survey_data.gdb/survey\loe_ply does not match the schema of target S:/PROJECTS/Workflow/GN_Coding/OA/03 GIS Projects - Coding Review/WebGIS_Exported/webmap_polygon.shp

执行失败(追加)。

标签: python-2.7arcpy

解决方案


追加工具的默认行为是“测试”字段名称和类型匹配。我经常发现甚至记录在相同要素类上此测试失败的错误。我最好的建议是将 schema_type 设置为“NO_TEST”并提供一个空字符串作为字段映射。如果您想指定确切的字段映射,最简单的方法是将工具添加到新模型中,将其设置为按照您希望它在脚本中运行的方式运行(提供所有输入和目标参数和字段映射),并保存模型。然后,将模型导出为 python 脚本并将字段映射部分复制到新脚本中。在此处输入图像描述


推荐阅读