【问题标题】:'int' object is not iterable GIS script“int”对象不是可迭代的 GIS 脚本
【发布时间】:2012-11-15 04:27:25
【问题描述】:

我是 python 的新手。我正在尝试使用一些 arcpy 函数在 python 中运行脚本(ArcGIS 在 arc 站点上没有乐趣),但它返回 object is not iterable 消息。该脚本应该逐步遍历光栅图像上的移动窗口过滤器,为每个过滤器大小(例如 3 像素、4 像素等)生成图像。

我想逐步调整窗口大小,直到使用邻域过滤器达到某个范围内的定义数量(在本例中为 3 - 10)。因此 NbrCircle(3, "CELL") 中的值 3 使用脚本中的 for 和 if 语句逐步遍历范围。 任何人都知道我可以如何克服这个问题?

这是导致问题的脚本部分:

变量

radius = 3

it_1 = range(3, 10, 1)

neighborhood = NbrCircle(radius, "CELL")

执行焦点统计

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

循环根据变量 it_1 逐步移动窗口大小

for num in radius:
    if it_1 > 3:
        radius = num + radius

【问题讨论】:

    标签: python object int iterable


    【解决方案1】:

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

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

    如果这不是您需要的,请告诉我“半径”数应该如何增加——就像第一次迭代的例子一样。

    【讨论】:

      猜你喜欢
      • 2018-03-22
      • 2013-08-02
      • 2012-06-21
      • 1970-01-01
      • 2017-09-11
      • 2015-04-14
      • 1970-01-01
      相关资源
      最近更新 更多