2012-11-27 138 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") 

如果這是你需要的不是,讓我知道如何「半徑」數字應該增加 - 就像第一次迭代的例子。