I'm using version 5.5 and I've written a program to calculate various landscape metrics from a random array. I'm getting good results when the size of the random array is (50,50), (100,100), (500,500), but when I make the array (1277,1654) which is the size I need, I get odd results. Below is part of the code and the problematic results, the rest of the code seems to be working fine.
patches = max(regions)
patch_sizes = 0
for i = 0, patches-1 do begin
t = i + 1
size = (regions eq t)
eachsize = total(size)
lastsize = patch_sizes
if eachsize gt lastsize then begin
patch_sizes = eachsize
endif else begin
patch_sizes = lastsize
endelse
endfor
largest_patch(iter) = patch_sizes
and the result:
the largest patch of each array = 7 10 26 37 0 0 0 0 894100 1036914 1152105 1261889
1368484 1473961 1579865 1685309 1790211 1895223 2001360 2106300
It's weird... all of the numbers are correct except the zeros in 5-9. These zeros are not there when the original array is smaller, they have only showed up when my array is (1277,1654). Any help would be appreciated. Thanks, Paul
|