IDL读写操作
(1)调用格式:
IDL>print, variabie,format='(格式)'
aN 开始为数据类型,a-字符串,i-整数,f-单精度浮点型,d-双精度浮点型,e-科学计数法 iN(.M) N为输出字符宽度 fN(.M) M为小数点后位数 dN(.M) eN(.M) Nx 为输出N个空格 / 换行
(2)输出默认为右对齐,可加入负号变为左对齐
(3)可控制设置多个输出格式:format='(**,**)'。如果要使用相同格式:format='(ciN.M)',c为使用相同格式代码的变量个数
(4)read默认为浮点型,要读取其他类型数据,必须实现创建该变量。
二、文件操作(1)文件的打开与关闭,需要通过逻辑设备号完成,一个文件对应一个逻辑设备号。IDL可用128个逻辑设备号,1-99可以直接指定使用,100-128号可以通过get_lun和free_lun命令来获取和释放。为了方便使用,通过使用get_lun和free_lun命令来动态设置逻辑设备号
(2)文件操作:IDL>操作,lum,fname,/get_lun。参数lun为逻辑设备号变量,fname为文件名,关键字get_lun分配一个没有使用过的逻辑设备号给lun。操作有openr-读操作,openw-写操作,openu-读写操作
(3)文件的选择
IDL>cd[, directory(字符串)][,current=variable(可获得当前的工作路径名] result=dialog_pickfile([/directory(加上选择文件夹,不加则选择文件)][,filter=string(如'*txt')][,title=string(对话框标题)][,get_path=variableA(获取路径)][,path=string(设置选择文件的初始所在路径)])
①如加上/directory,则result=variableA;②path=string,这个string是自己设置的,可以设置搜索对话框打开后所处于的文件夹
(4)文件查询
语句:IDL>result=file_search(path(字符串),recur_pattern(文件名查询条件) [,count=variable(查询出的数量赋给variable)] [, /test_directory(如加上则只查出文件夹),/test_regular(如加上则只查出文件)] ) result类型为一个字符串数组
①recur_pattern的几种典型形式
IDL>fns=file_search('*') ;返回全部文件 IDL>fns=file_search('*a*') ;返回所有文件名中带a的文件 IDL>fns=file_search('*.{txt,ppt}') ;返回txt与ppt后缀的文件 IDL>fns=file_search('[a~b]*.txt') ;返回开头为a或b IDL>fns=file_search('') ;待补充
②获取一个目录内所有的ENVI文件名
pro get_envi_tiff_filenames work_dir=dialog_pickfile(/directory) cd,work_dir fns=file_search('*.tif',count=fnums) ENVI_fns=strarr(fnums) for i=0,fnums-1 do begin ENVI_fns[i]=strmid(fns[i],0,strlen(fns[i])-4) endfor print,ENVI_fns,format='(a)' ;format使用的一些小发现 1、如果不加则ENVI_fns中的数一个接一个输出,2、如果加了,则一行输出一个 end
(5)其他文件操作
IDL>result=file_lines(fname) IDL>result=fstat(lun) ;UNIT:文件对应的逻辑设备号 ;NAME:绝对路径的文件名 ;READ:文件是否为读状态 ;CUR_PTR:文件指针指向的位置 ;SIZE:文件大小 IDL>point_lun,lun,position;可以修改finfo.cur_ptr所指向的位置 IDL>result=eof(lun)判断文件指针是否已经到了文件的末尾,是为1
(6)ASCII码文件读写
;读取 fn=dialog_pickfile() openr,lun,fn,/get_lun data=intarr(2,5) readf,lun,data ;语法 readf,lun,var1。。。 free_lun,lun ;如果设置的存储读取结果的变量容量超过了文件数据量,会报错 ;如果设置的存储读取结果的变量容量小于文件数据量,则只读到存满为止
(7)读写图像文件
①文件查询
result=query_image(fname[,info] [,channels=var] [,dimensions=var] [,pixel_type=var] [,type-var] [,has_palette=var] [,image_index=index] [,num_images=var] )
fname:文件名,字符串
info:返回图像的基本信息,包含后面的那些东西,结构体变量
channels:波段数,整形
dimensions:行列数,2个元素的数组
pixel_type:像素类型,整形指代的数据类型
has_palette:真彩色为0,假彩色为1
image_index:图像在文件中的索引号
type:图像文件类型,字符串
②读取图像文件
img=read_image(fname)返回一个三维数组[波段数,列数,行数]。灰度图像只有行列数,波段顺序有BIP、BSQ两种
result=dialog_read_image([,image=img] [,query=info] [,file=fn] [,filter_type=string] [,get_path=var] [,path=string] [,title=string] )
后面内容与dialog_pickfile相同,差异:img存放图像,info存放图像信息,fn存文件名,result返回1代表成功读取,0为失败
query_image,read_image,write_image都有对应特定格式的read_tiff等
相关知识
IDL读写操作
Python 文件操作中的读写模式:open(path, ‘
利用IDL计算植被覆盖度(VFC)
Android 存储学习之在外部存储中读写文件
基于IDL的热红外遥感空间降尺度研究
python学习笔记(十六)文件操作
1602读写时序,图示时间P0=COM在E使能前
MI 小米 9290022200 专业读写护眼台灯 379元
蒲公英的拼音怎么读写(蒲公英的正确读音)
花径通幽处 为有暗香来——临沂第十中学“木香花语”教师读写团队建设纪实
网址: IDL读写操作 https://www.huajiangbk.com/newsview1712890.html
上一篇: 郴州市哪里有卖辐射防护铅板源头厂 |
下一篇: 如何有效预防电脑辐射(保护眼睛) |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039