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