在ArcGIS 10中创建要素类

时间:2017-06-15 11:56:29

标签: arcgis

我正在尝试通过以下方法从另一个要素类创建要素类:

arcpy.CreateFeatureclass_management(path, name, "POLYGON")

在ArcGIS中,它正在创建字段ShapeShape_LengthShape_Area。我在新要素类中添加了其他字段。

cursor = arcpy.da.SearchCursor("old featureclass", ["Shape@", "*"]
insert = arcpy.da.InsertCursor("new featureclass", ["*"]
for i in cursor:
    insert.insertRow(i)

我收到错误:

  

序列大小必须与行的大小相匹配

这是因为新功能类添加了其他字段,如上所述。然后我试了

for i in cursor:
    append newly array with (ShapeLength, and ShapeArea)
    insert.insertRow(newlyarray)

它工作正常,但Shape_AreaShape_Length返回零。我也试图计算场地面积,但它也不起作用。

有人可以帮我解决这个问题吗?几何形状是多边形,但形状区域和形状长度不会根据预先存在的形状填充。

1 个答案:

答案 0 :(得分:0)

我认为你想要做的是:

从旧的shapefile中获取字段列表, 将所需字段添加到新文件中, 然后迭代旧文件中每行的每个字段(或只是您要复制的字段),并将值复制到新文件中的相应字段中。 然后,您可以随时添加全新的新字段,如果它按名称引用字段,则不会影响此复制功能。

另一种方法是使用复制工具逐字复制旧的shapefile,然后编辑复制的文件。