IDL批处理:全自动输入选择

时间:2015-04-08 12:08:32

标签: batch-processing idl-programming-language

我需要处理MODIS第2级数据,我获得了ENVI https://github.com/dawhite/EPOC/releases的外部插件。现在,我想批量处理数百个图像,我修改了代码,如下面的代码。代码运行正常,但我必须每次都选择输入文件。谁能帮助我让程序完全自动化?我非常感谢并感谢您的帮助!

Pro OCL2convert

dir = 'C:\MODIS\'

CD, dir

; batch processing of level 2 ocean chlorophyll data


files=file_search('*.L2_LAC_OC.x.hdf', count=numfiles)

; this command will search for all files in the directory which end with 
; the specified one

counter=0 

; this is a counter that tells IDL which file is being read-starts at 0

While (counter LT numfiles) Do begin

; this command tells IDL to start a loop and to only finish when the counter 
; is equal to the number of files with the name specified

   name=files(counter)
   openr, 1, name

   proj = envi_proj_create(/utm, zone=40, datum='WGS-84')
   ps = [1000.0d,1000.0d]
   no_bowtie = 0 ;same as not setting the keyword
   no_msg = 1 ;same as setting the keyword

   ;OUTPUT CHOICES
   ;0 -> standard product only
   ;1 -> georeferenced product only
   ;2 -> standard and georeferenced products

   output_choice = 2

   ;RETURNED VALUES
   ;r_fid -> ENVI FID for the standard product, if requested
   ;georef_fid -> ENVI FID for the georeferenced product, if requested

   convert_oc_l2_data, fname=fname, output_path=output_path, $
      proj=proj, ps=ps, output_choice=output_choice, r_fid=r_fid, $
      georef_fid=georef_fid, no_bowtie=no_bowtie, no_msg=no_msg   

   print,'done!'
   close, 1
   counter=counter+1
Endwhile

结束

1 个答案:

答案 0 :(得分:0)

不知道convert_oc_l2_data做了什么(它似乎是你创建的程序,没有公开的文档),我想说问题可能是out_path变量没有在其余部分定义你的计划。