【发布时间】:2016-05-26 17:50:41
【问题描述】:
我正在尝试将总面积附加到属性表中,并且它在没有任何错误消息的情况下运行。我不确定我做错了什么:
import os
import arcpy
import math
folderpath = 'C:\Users\Michaelf\Desktop\GEOG M173'
arcpy.env.workspace = folderpath
arcpy.env.overwriteOutput = True
input_shp = folderpath + r'\lower48_county_2012_election.shp'
equal_shape = folderpath + r'\project_lower48.shp'
projection = arcpy.SpatialReference('USA Contiguous Albers Equal Area Conic USGS')
arcpy.Project_management(input_shp, equal_shape, projection)
print 'step 1'
arcpy.CopyFeatures_management (input_shp, equal_shape)
tot_area = []
print "step 2"
fields = [
("totarea", "FLOAT"),
]
for field in fields:
arcpy.AddField_management(equal_shape, "totarea")
print "step 3"
with arcpy.da.SearchCursor(equal_shape, ("OID@", "SHAPE@AREA")) as cursor:
for row in cursor:
print("Feature {0} has an area of {1}".format(row[0], row[1]))
print "step 4"
a_cursor = arcpy.SearchCursor(equal_shape)
for area in a_cursor:
tot_area.append(area.totarea,)
print "step 5"
更新: wnnmaw 当我运行代码时,它会运行并打印特征/多边形区域的列表,但是当我打开 .shp 文件时,新列就在那里,并且没有任何数据附加到列表中。 ZWiki 当我打印列表时,它会返回一个巨大的 0 列表,就像属性表中列出的一样。在代码中,我将其归类为 FLOAT,但在 arcmap 属性表属性中,它仍然将其标识为 LONG,这可能是问题,因为答案是小数吗?
【问题讨论】:
-
您遇到的具体问题是什么?请包括您尝试附加的列表、任何相关输出以及您迄今为止为解决问题所做的尝试
-
好吧,我的猜测是
arcpy.SearchCursor正在返回一个空列表,或者返回一些你不期望的东西。你能打印出来并告诉我们它返回了什么吗?此外,您应该转义folderpath中的反斜杠,或者像input_shp和equal_shape那样将其作为原始字符串提供