一、查看公式正确与否。
如果公式正确,在软件再次进行计算时,如果还是较大,可以考虑软件的计算工具是否有问题,可以进行简单的运算。
举个例子:
landsat8_t1的数据,预处理我进行了辐射定标和大气校正,之后就开始计算(没有进行归一化处理。)
归一化就是把所有数据都转化成[0,1]或者[-1,1]之间的数,其目的是为了取消各维数据之间的数量级差别,避免因为输入输出数据数量级差别大而造成网络预测误差过大。
我在进行evi计算时,遇到了计算得出的结果不在[-1,1]区间的情况,
问题图1
方法:
就是我先取几个像素点的DN值,选取NIR,Red,Blue波段的同一个像素点的值,带入公式中进行计算。
公式:
具体数据地方
取点的DN值
结果:(这个图的数据没找到,不影响计算)
当时考虑是不是因为大气校正后反射率的问题,于是每个输入参数都除以10000,结果如上图。试过各种地形地貌的单个像元数据,发现还是有问题,
最后发现
原来是公式有问题,或者说我没有完整的进行除以10000处理。
真正的公式如下:
前提是大气校正后数据的反射率(DN)没有进行除以10000的处理,数据是landsat数据。
EVI=2.5*((Float(b5 -b4))/(b5 +(6.0*b4) -(7.5*b2)+10000))
结果如下: