2012-11-27 104 views
3

我是python的新手。我试图在python中使用一些arcpy函数(ArcGIS在arc网站上没有喜悦)运行脚本,但它返回的对象不是可迭代的消息。该脚本应该逐步移动光栅图像上的移动窗口过滤器,从而为每个过滤器大小(例如3像素,4像素等)生成图像。'int'对象不可迭代GIS脚本

我想通过移动窗口大小,直到我达到使用邻域过滤器的范围内的定义数量(在这种情况下范围是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

自从您发布此消息已经有一段时间了。你还在寻找答案吗? 如果你想: 从半径= 3开始;然后通过 附近= NbrCircle(半径, “CELL”) 尝试增加半径为4,5,6 ... 10循环:

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

如果这是你需要的不是,让我知道如何“半径”数字应该增加 - 就像第一次迭代的例子。