IDL合成landsat8OLI光谱响应函数

Function GetFliterfunction
  COMPILE_OPT idl2
  e=envi(/headless)
  root_Dir = e.root_dir
  filterfolder=root_Dir+'resource\filterfuncs\'
  file1=file_search(filterfolder,'landsat8_oli.sli',/test_regular)
  file2=file_search(filterfolder,'landsat8_oli_cirrus.sli',/test_regular)

  sli1=ENVISpectralLibrary(file1)
  sli2=ENVISpectralLibrary(file2)
  specnames=[sli1.SPECTRA_NAMES,sli2.SPECTRA_NAMES]
  sp=sli1.GetSpectrum(specnames[1])
  wave=sp['WAVELENGTHS']

  ENVI_OPEN_FILE,file1,r_fid=fid1
  ENVI_FILE_QUERY,fid1,dims=dims1,nb=nb1,nl=nl1,ns=ns1,data_type=data_type,h_info=h_info
  data1=ENVI_GET_DATA(DIMS=dims1,FID=fid1,POS=0)
  ENVI_OPEN_FILE,file2,r_fid=fid2
  ENVI_FILE_QUERY,fid2,dims=dims2,nb=nb2,nl=nl2,ns=ns2
  data2=ENVI_GET_DATA(DIMS=dims2,FID=fid2,POS=0)

  slidata=[[data1],[data2]]

  INHERIT = ENVI_SET_INHERITANCE(fid1, dims1, /BBL, /FILE_TYPE, /FULL, /GEO_POINTS, /MAP_INFO, /SENSOR_TYPE, /SPATIAL, /ZRANGE)
  slifile=filterfolder+'landsat8_oli_temp.sli'
  ENVI_WRITE_ENVI_FILE,slidata,/no_copy,OUT_NAME=slifile,ns=1941,nl=9,nb=1,OUT_DT=4,interleave=0,BYTE_ORDER =0,$
    bnames=['Spectral Library'],offset=0,file_type=4,WL=wave,WAVELENGTH_UNIT =0,$
    INHERIT=INHERIT,REFLECTANCE_SCALE_FACTOR=1.0,SPEC_NAMES =specnames,ZRANGE=[0.00, 1.00]
  ENVI_SETUP_HEAD,fname=slifile,/write,ns=1941,nl=9,nb=1,data_type=4,interleave=0,BYTE_ORDER =0,$
    bnames=['Spectral Library'],offset=0,file_type=4,WAVELENGTH_UNIT =0,$
    REFLECTANCE_SCALE_FACTOR=1.0,SPEC_NAMES =specnames,ZRANGE=[0.00, 1.00],WL=wave

  e.Close
  return,slifile
END
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值