ENVI二次开发模式下的Landsat数据读取

从usgs网站或者马里兰大学下载TM或Landsat原始数据,数据可能包括9个tif数据,两个txt文件和一个gtf文件。示例结构如下:

ENVI下可以直接打开*_MTL.txt文件打开,打开后波段列表如下:




IDL程序用envi_open_data_file打开后只能获取到一个fid,此时需要用ENVI_GET_FIDS函数。示例代码如下:

 

 

PRO SAMPLE_IMPORT_LANDSAT_META

  COMPILE_OPT idl2 

  ENVI, /RESTORE_BASE_SAVE_FILES

  ENVI_BATCH_INIT

 

  file=DIALOG_PICKFILE(FILTER='*_mtl.txt')

  ;

  ; 打开文件

  ;

  ENVI_OPEN_DATA_FILE, file, /LANDSAT_METADATA, R_FID=fid

  IF (fid EQ -1) THEN RETURN

  ; 这个是关键!

  fids=ENVI_GET_FILE_IDS()

  HELP, fids

  ;

  ;依次对fid进行判断

  ;

  FOR i=0, N_ELEMENTS(fids) -1 DO BEGIN

   ENVI_FILE_QUERY, fids[i], NB=nb, SNAME=sname

   IF nb EQ 6 THEN mb_fid = fids[i]

  ENDFOR

  ; 

  ENVI_BATCH_EXIT 

END

posted @   ENVI-IDL技术殿堂  阅读(651)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示