从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 |