R语言长时间序列栅格数据之逐像素相关性分析

Python012

R语言长时间序列栅格数据之逐像素相关性分析,第1张

假设有两组栅格数据,一组代表2019年中国每月降雨量,一组代表2019年中国每月植被叶面积指数(LAI)。想要得到中国月降水量与LAI的相关性分布,那么需要对两组栅格数据对应的栅格点进行逐栅格的相关性分析。

将降水数据导入栅格栈中,这个过程可以理解为将降水数据按时间顺序从上到下堆叠。同理,按相同的时间顺序将LAI数据堆叠。值得一提的是,stack()函数在堆叠栅格数据时是按文件名拼音和数字大小顺序自动堆叠的,具体规则可以亲自尝试。最后,将这两个栅格栈合并成一个。

对相关性分析函数稍作改变。

以上方法是可以推广的,线性回归函数lm()和相关性分析函数cor()的输入都可以是向量,因此只要函数支持向量输入,理论上讲都可以类比上述过程实现。但是如果函数只支持数据框输入,如gbm包中的函数gbm(),那就只能另辟蹊径了。

根据表9.5,对重构后栅格数据所有栅格单元按照表9.5中Sim列赋值为Class列进行栅格计算。最终得到的计算后的栅格数据(CRD)单元value值为0~5,分别代表树木、土壤、正常(健康小麦)、轻度病害、中度病害、重度病害的条锈病小麦,采用的计算公式为“con(([r]==1 |[r]==2 |[r]==3 |[r]==4 |[r]==5 |[r]==6 |[r]==7 |[r]==9 |[r]==10 |[r]==11 |[r]==12),0,([r]==18 |[r]==19 |[r]==22 |[r]==23),1,([r]==16 |[r]==17|[r]==20 |[r]==21),2,([r]==8 |[r]==15),3,[r]==14,4,[r]==13,5,99)”,其中r代表RRD。

CRD即为最后得到的小麦条锈病病害严重度的聚类数据,CRD渲染效果如图4.6所示。仿真结果中第13个类单独分了一类,代表重度(图版4.6深红色区域),第14个类单独分了一类,代表中度(图版4.6浅红色区域),第8、15类分成了一类,代表轻度(图版4.6白色区域)。图版4.7显示了只提取出健康和条锈病病害小麦及其病害程度等级的渲染效果。