2014-10-12 3 views
0

Я немного смущен, я пытаюсь написать скрипт для изменения значений ячеек в растере. В следующем цикле должны быть указаны все координаты этого растра (ячейки 249x249). К сожалению, переменная i не изменяется.While-Loop работает некорректно

i = xminf 
j = yminf 
zaehler = 0 

while(i < xmaxf): 

    while(j < ymaxf): 
     arcpy.AddMessage("Check in-While, Klappe Nr: " + str(zaehler)) 
     zaehler += 1 
     arcpy.AddMessage(str(i) + " " +str(j)) 
     j += cellsizef 
    i += cellsizef 

Это мой выход:

Check in-While, Klappe Nr: 0 
33322321.35 6011434.28 
Check in-While, Klappe Nr: 1 
33322321.35 6011436.07602 
Check in-While, Klappe Nr: 2 
33322321.35 6011437.87205 
. 
. 
. 
Check in-While, Klappe Nr: 248 
33322321.35 6011879.69398 
Check in-While, Klappe Nr: 249 
33322321.35 6011881.49 

Так я получаю только 249 позиций, которые в действительности один столбец растра. Кто-нибудь знает, почему этот код не работает?

Спасибо за помощь!

+2

Какова ценность 'cellizef'? –

+0

Обратите внимание, что после первого цикла на 'i' внутреннее время никогда не будет работать снова, так как значение' j' не будет повторно инициализировано. –

ответ

1
i = xminf 

zaehler = 0 

while(i < xmaxf): 
    j = yminf 
    while(j < ymaxf): 
     arcpy.AddMessage("Check in-While, Klappe Nr: " + str(zaehler)) 
     zaehler += 1 
     arcpy.AddMessage(str(i) + " " +str(j)) 
     j += cellsizef 
    i += cellsizef 

Попробуйте это.

+0

Это сработало, спасибо! :) – Andi90

Смежные вопросы