在ArcGis上使用Python的UnboundLocalError

时间:2013-08-13 16:56:36

标签: python arcgis

我正在使用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'

我不明白因为我的变量明确定义了......

有人有问题吗?

1 个答案:

答案 0 :(得分:1)

删除row1,然后继续迭代通过要求(检查)它!

我不确定您是否真的需要在变量delrow1上使用cur。您正在删除这些变量,而不是它们在数据结构中的内容。