ENVI-IDL的MATH_DOIT和CF_DOIT函数(对FID和POS参数的讨论)

MATH_DOIT相当于ENVI的band math,可以完成各种波段运算。参数比较简单,EXP为运算公式的字符串,其他参数均为常见参数。

CF_DOIT可以将已有的文件保存为ENVI格式文件,相当于ENVI菜单下FILE-->SAVE AS-->ENVI STANDARD命令。没有特别生僻的参数。

但这两个函数的FID和POS参数与平时的运用有所不同,有必要讨论一下,举一反三。

FID:

MATH_DOIT函数的FID实际上是一个fid的数组,在运算band位于不同文件时,用于指向该band所在的文件。当所有运算波段处于同一文件下时,亦可以写作FID=FID,即只有本文件的FILE ID。

CF_DOIT函数的FID意义同上,表示需要处理的所有FILE ID,FID的排列顺序为最后生成新文件内各文件的排列顺序。

POS:

MATH_DOIT函数的POS数组应当与EXP公式中的BAND数目和顺序相对应,例如EXP=B1+B2+B3,则POS=[0,1,2].FID=[FID1,FID2,FID3],如果是同一文件的波段,则FID=[FID,FID,FID]或FID=FID.

CF_DOIT的POS参数有所不同,需要特别注意。由于CF_DOIT在保存文件时不仅能选择文件的数目和顺序,而且还能选择保存的波段数目和波段顺序,所以POS实际上是一个二维数组,POS=[NS,NL]。其中NS表示各个文件的合成波段数目和顺序,NL表示文件的数目。例如:

POS=[[0,1],[1,2],[0,2]],意思是一共合成3个文件,按照从上到下的顺序,第一个文件合成0和1波段,第二个文件合成1和2波段,第三个文件合成0和2波段。

总结起来,这两个涉及到文件和波段数目和顺序的函数在使用时要注意FILE ID的排列和波段顺序、数目的排列,不然会得到莫名其妙的结果(空图像)。

转载于:https://www.cnblogs.com/zgl-gis/p/10830450.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值