1. 程式人生 > >IDL基礎【ENVI 5.0以上版本 面向物件形式 柵格開啟、儲存實現】

IDL基礎【ENVI 5.0以上版本 面向物件形式 柵格開啟、儲存實現】

ENVI 5.0以後的版本基本對程式碼進行了新的重構,改成了面向物件的形式,比以前程式設計操作更為有效、邏輯也更清晰和簡潔,增加了更多的功能,但是近幾個版本的更新較多,有些功能還有bug。新版本的函式老版本可能就沒有,但是新版本是實現了向下相容的,建議使用最新版本的ENVI/IDL

這裡給一個簡單的批量讀取ENVI Standard的.dat格式,並儲存為另一種檔案格式的demo,大家可以參考參考

pro change_file_type
  compile_opt idl2

  envi,/restore_base_save_files
  envi_batch_init


;前半部分習慣了這麼寫,新版本有沒有變化還不確定


  work_dir=DIALOG_PICKFILE(title='選擇檔案所在路徑',/directory)


  file_lists=FILE_SEARCH(work_dir,'*.dat',count=fnum)
  fbasena=FILE_BASENAME(file_lists,'.dat')


  e = envi()

  file_out_path = DIALOG_PICKFILE(title='選擇檔案輸出路徑',/directory)
 
  for i = 0, fnum-1 do begin

    raster = e.OpenRaster(file_lists[i])
    file_out_name = 'I:\' + fbasena[i] + '.tif'
    raster.Export, file_out_name, 'TIFF'

  endfor

end