我正在使用ArcMap,我有这个python代码:
import arcpy, sys
feature = arcpy.GetParameterAsText(0)
def nearRoutine():
#calculate the distances using the current dataset
arcpy.Near_analysis(feature, feature)
#iterate through any features which are within the distance
cur = arcpy.UpdateCursor(feature, '"NEAR_DIST" < 500')
row1 = cur.next()
while row1:
#this point is within the distance of its neighbor, so delete it
cur.deleteRow(row1)
#now re-run this routine on the new dataset
del row1, cur
nearRoutine
#call the recursive routine. It will get progressively faster to run as it will loop through fewer points each time
nearRoutine()
我的错误消息:UnboundLocalError:在赋值之前引用的局部变量'row1'
我不明白因为我的变量明确定义了......
有人有问题吗?
答案 0 :(得分:1)
删除row1
,然后继续迭代通过要求(检查)它!
我不确定您是否真的需要在变量del
或row1
上使用cur
。您正在删除这些变量,而不是它们在数据结构中的内容。