2014-10-12 4 views
0

약간 혼란 스럽 습니다만, 래스터에서 셀 값을 수정하는 스크립트를 작성하려고합니다. 다음 루프는이 래스터 (249x249 셀)의 모든 좌표를 나열해야합니다. 불행히도 변수 i은 변경되지 않습니다. While 루프가 올바르게 작동하지 않습니다.

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 개 포지션을 얻을 :
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 

내 출력이다. 누구든지이 코드가 작동하지 않는 이유를 알고 있습니까?

도움 주셔서 감사합니다.

+2

'cellsizef'의 값은 무엇입니까? –

+0

'i'의 첫 번째 루프 이후에'j'의 값이 다시 초기화되지 않기 때문에 내부 while은 결코 다시 실행되지 않습니다. –

답변

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