用IDL如何读写数据

用IDL如何读写数据,第1张

用IDL提供的函数read_tiff可以读TIF数据格式,假如你的TIF文件为a,则下面的命令可将其读入到变量image中file=filepath('a',root_dir='文件a的绝对路径" )

pro read_bin

filename = 'D:\prueba\Sh.LOCImask_land50_coast0km.1441x1441.bin'

data = READ_BINARY(filename,DATA_DIMS=[1441,1441])

write_tiff,'D:\prueba\outname.tif',data,/float

end

路径自己换吧。

openr,lun,FILENAME,/get_lun

创建一个数组来存,要看你的数据是什么类型的了

比如长整型 data = lonarr(5000,3000)

再读取 readu,lun,data

在释放 free_lun,lun

然后再对dat进行处理

可以先获取-9999的位置

index = where(data eq -9999,count)

if count gt 0 then begin

转换坐标

for i = 0, count -1 do begin

yloc = index[i] / 5000

xloc = index[i] - yloc * 5000

这里还要你自己判断下这个点周围是不是有4个点 如果这个点正好出在编缘,直接下面这样会报错

data[xloc,yloc] = (data[xloc- 1,yloc] + data[xloc + 1,yloc] + data[xloc,yloc - 1] + data[xloc,yloc + 1]) / 4

endfor

endif

替换完了就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11480785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存