我正在使用Landsat图像计算净辐射。我的转换后反射率栅格层中有非常低的负值(例如:-0.000003)。为了减少未来计算中的误差,我想确保我的反射率在0到1之间。
在R中,如何将小于0的栅格值替换为“NA”,类似于栅格计算函数。我不确定如何提供示例,但我相信你们中的某个人可以帮助我,是吗?
这是我从Bastiaanssen等人(1998)中得出的反射率方程:
假设pb1表示Landsat第1波段的反射率,pi = 3.14 ...,lb1 =第1波段的辐亮度,ESUN =该日大气外波段1的太阳辐照通量,dr =当年天的相对地球 - 太阳距离。
#Calculate reflectivity per band. QC: Always 0 to 1
pb1 = (pi * lb1)/(ESUN1 * cos(solzen) * dr)
创建此栅格后,我想做的就是将小于0的pb1值设置为NA。帮忙吗?
right
不应该是TRUE
才能将 0 设为 NA 吗?r <- raster(nrows=1, ncols=3) r[] <- c(-1, 0, 1) reclassify(r, cbind(-Inf, 0, NA), right=TRUE) - Matifou