'int'对象不可迭代的GIS脚本

3

我是Python的新手。我正在尝试使用一些arcpy函数(ArcGIS在arc网站上无法使用)运行Python脚本,但是返回了“对象不可迭代”的信息。该脚本应该通过对栅格图像进行移动窗口滤波来逐步生成每个滤波器大小(例如3个像素、4个像素等)的图像。

我想使用邻域过滤器逐步通过移动窗口大小,直到达到范围内的定义数量(在这种情况下,范围为3-10)。因此,NbrCircle(3,“CELL”)中的值3通过脚本中的for和if语句逐步通过范围。 有人知道如何解决这个问题吗?

以下是导致问题的脚本部分:

变量

radius = 3

it_1 = range(3, 10, 1)

neighborhood = NbrCircle(radius, "CELL")

执行FocalStatistics操作

outFocalStatistics1 = FocalStatistics(outSlope, neighborhood, "MEAN" 
                                  "")

循环遍历移动窗口大小,基于变量it_1。
for num in radius:
    if it_1 > 3:
        radius = num + radius
1个回答

1

你发布这篇文章已经有一段时间了,你还在寻找答案吗? 如果你想要: 从半径为3开始;然后增加半径到4、5、6……10以循环遍历 邻域= NbrCircle(半径,“CELL”) 尝试:

for num in range(3, 10):
    neighborhood=NbrCircle(num, "CELL")

如果这不是您需要的,请告诉我“半径”数字应该如何增加--例如第一次迭代的示例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接