ENVI扩展工具:Pearson相关系数计算器

在计算生态因子时,会碰到批量的栅格运算,例如计算年均LAI和年均温度的Pearson相关系数,如果用其他软件则费事费力,IDL一个函数(CORRELATE)即可实现。

在栅格计算方面,基于矩阵计算的IDL语言是有绝对优势的,而且IDL提供了强大的数学统计与分析包和IMSL数学库,例如计算相关系数的函数就有:A_CORRELATE(自相关系数)、C_CORRELATE(互相关系数)、CORRELATE(线性Pearson系数)、M_CORRELATE(多元相关系数)、P_CORRELATE(偏相关系数)、R_CORRELATE(斯皮尔曼或肯德尔相关系数)等。

不仅如此,IDL也可以很容易的编写批处理功能和大数据的分块处理功能,下面就是基于IDL开发的一键实现计算Pearson相关系数的功能。采用ENVITask开发方式,可使用IDL调用,可用在ENVI Modeler、ENVI Server中。

Pearson相关系数:用来衡量两个数据集合是否在一条线上面,它用来衡量定距变量间的线性关系。相关系数的绝对值越大,相关性越强,相关系数越接近于1或-1,相关度越强,相关系数越接近于0,相关度越弱。

1 工具安装

方法1:使用 ENVI App Store 进行 ENVI 扩展工具的安装与管理。

App Store 下载地址:envi.geoscene.cn/appstore

方法2:手动下载 https://envi.geoscene.cn/appstore/peaneieent

下载 zip 压缩包并解压,将得到的 extensions 和 custom_code 文件夹拷贝到如下 ENVI 安装路径,覆盖同名文件夹即可:

  • ENVI 5.3 - C:\Program Files\Exelis\ENVI53\

  • ENVI 5.4 及以上 - C:\Program Files\Harris\ENVI5x\

重启 ENVI 即可使用。

注:本工具支持ENVI 5.3及更高版本,使用ENVI5.6测试。

2 工具使用

工具位于Toolbox/Extensions/Pearson Correlation Coefficient

双击启动,弹出如下主界面:

工具要求和特性:

  • 输入的两个栅格必须具备相同的波段数;
  • 当两个栅格行列数不同时,将自动获取重叠区并计算重叠区的Pearson相关系数;
  • 结果背景值为NaN。

3 接口调用

因为采用ENVITask开发方式,可用在 ENVIModeler、ENVI Server、IDL 中。

下面是IDL中调用语法:

task = ENVITask('PearsonCorrelationCoefficient')
task.INPUT_RASTER1= raster1
task.INPUT_RASTER2= raster2
task.OUTPUT_RASTER_URI= output_uri
task.Execute
outraster= task.OUTPUT_RASTER

 

posted @ 2022-06-21 11:21  ENVI-IDL技术殿堂  阅读(2346)  评论(0编辑  收藏  举报