ENVI标准格式文件转换为.tif文件——基于ENVI库函数
1.目的
(1)了解ENVI标准格式文件
(2)学习利用ENVI库函数将ENVI标准格式文件转换为.tif文件的方法
2.开始时间:
2017年04月10日 完成时间:2017年4月11日
3.ENVI标准格式(自己理解,并不一定准确)
ENVI标准格式文件通常包括头文件(后缀名.hdr)和与之对应的影像文件(通常为.img格式),头文件中包含数据的基本信息。
4.IDL代码
;******************************************************;
;程序目的:利用ENVI库函数将ENVI标准格式数据转换为.tif文件示例
;2017年04月12日
;******************************************************;
PRO Img2Tif_Example
ENVI_File = 'F:\1_Data\干旱_2003_SouthChina.2001'
Print,ENVI_File
;设置运行环境
COMPILE_OPT IDL2
ENVI,/RESTORE_BASE_SAVE_FILES ; /RESTORE_BASE_SAVE_FILES关键字控制是否显示ENVI经典界面
ENVI_BATCH_INIT ;不要丢掉
;获取文件标识
ENVI_OPEN_FILE,ENVI_File,R_FID = FID
Print,FID
;查询头文件基本信息
ENVI_File_Query,FID,Ns=ns,NL=nl,NB=nb,Data_Type=data_type,Dims=dims,INTERLEAVE=interleave
Print,'列数=',ns,String(13B),'行数=',nl,string(13B),'波段数=',nb
;格式转换
Tif_File = 'F:\1_Data\ChinaSouthAlbedo2001001.tif' ;输出的文件名
ENVI_OUTPUT_TO_EXTERNAL_FORMAT,FID=FID,Dims=dims,POS=nb[0],Out_Name=Tif_File,/TIFF ;POS关键字控制输出的波段数
Print,'finished'
END
5.函数说明
将ENVI标准格式转换为.tif格式的ENVI_IDL的联合编程中用到的主要函数包括ENVI运行环境的初始化函数(COMPILE_OPT IDL2,ENVI,ENVI_BATCH_INIT);ENVI格式文件基本操作函数(ENVI_OPEN_FILE(打开文件,获取文件的FID),ENVI_FILE_QUERY(获取文件的基本信息));格式转换函数(ENVI_OUTPUT_TO_EXTERNAL_FORMAT)等6个主要函数。
5.1
ENVI_OUTPUT_TO_EXTERNAL_FORMAT
ENVI_OUTPUT_TO_EXTERNAL_FORMAT [, /
ARCVIEW] [, /
ASCII] [,
BLOCK_HEIGHT=
long integer] [,
BLOCK_WIDTH=
long integer],
DIMS=
array [, /
ENVI] [, /
ERDAS] [, /
ERMAPPER],
FID=
file ID [,
FIELD=
array] [, /
IMAGINE] [, /
JP2] [, /
NITF] [,
OUT_BNAME=
string array],
OUT_NAME=
string [, /
PCI],
POS=
array [, /
TIFF]
6.参考资料
1.https://www.harrisgeospatial.com/docs/ENVI_OUTPUT_TO_EXTERNAL_FORMAT.html