栅格数据中存有明确的负值,-3.0607,但是读数据出现错误,这个时候只需要按照数值设置范围提取就行
代码
pro cal_city
;计算城市指数
;读取数据
cd,'G:\城市发展指数计算\1992'
fns=file_search('*.tif',count=fnums)
;print,fnums
for k=0,fnums-1 do begin
img=read_tiff(fns[k])
sz=size(img)
nb=sz[1]
ns=sz[2]
w=where(img gt 0,count)
ma=max(img)
sum=0.0
for i=0,nb-1 do begin
for j=0,ns-1 do begin
if img[i,j] gt -4 then begin
sum=sum+img[i,j]
endif
endfor
endfor
I=sum/(count*ma)
print,I
endfor
end
其中设置数值大于-4即可