本文演示利用Excel VBA编程实现多期栅格数据,逐像元计算物候参数:生长季始期(SOS)、生长季末期(EOS)和生长季长度(LOS),计算过程速度快!
说明:
(1)利用Raster to Point工具将栅格数据转换为点图层,结果为38998个点,由于每年有24个数据(半月合成),所以得到的一年的数据为一个38998行、24列的矩阵;
(2)动态阈值的实现方法是逐像元计算,(d2-d1)/d1,物候始期求最大值(正),物候末期求最小值(负);
(3)sheet里保存38998*24的原始数据,sheet2为比率数据,sheet4为动态阈值及对应的影像期数。
代码如下:
Sub 逐像元阈值()
Dim i As Integer
Dim max As Double
Dim min As Double
Dim j As Long
For j = 1 To 38998