ENVI标准格式文件转换为.tif文件——基于ENVI库函数

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章