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

执行失败(添加)。

解决方法

当您说“列相同”时,数据类型是否也相同?

我还相信您可以使用arcpy.CopyFeatures_management创建要素类,而无需先创建空模板。

,

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