RasterBrick R 的逐像素 dryness/wetness 频率
Pixel-wise dryness/wetness frequencies for RasterBrick R
给定 rasterbrick
a
和 standardized rainfall
的 monthly
时间序列数据大约 60 年,我如何在 rasterbrick
上计算以下内容无需诉诸于将数据折叠成 dataframe
:
Q = negative/positive number of severely dry/wet months per total months of severely dry/wet events × 100
其中 severely wet
包括 1.50 to 1.99
范围内的值,而 severely dry
包括 −1.99 to −1.50
范围内的值
我更喜欢 Q
采用 raster
格式。下载数据集并执行:
dd=spei03_df
dd[1:2]<-dd[2:1]#swap lat and lon
a=rasterFromXYZ(dd)
有什么想法吗?谢谢。
您可以使用 raster
包中的栅格代数。这是一个计算严重潮湿的例子。最终输出 a_wet_perc
是栅格图层,其像元值范围为 0 到 100(以百分比表示)。您可以按照相同的逻辑创建一个栅格图层来总结严重的干燥情况。
library(raster)
# Calculate the Severe Wet
a_wet <- a
# Replace vlaues >= 1.5 and <= 1.99 to 100
# (Does not need to be 100. A very large number should be good)
a_wet[a_wet >= 1.5 & a_wet <= 1.99] <- 100
# Replace other values to 0
a_wet[a_wet < 100] <- 0
# Replace 100 to 1
a_wet[a_wet == 100] <- 1
# Calculate the percentage of severe wet
a_wet_perc <- mean(a_wet) * 100
给定 rasterbrick
a
和 standardized rainfall
的 monthly
时间序列数据大约 60 年,我如何在 rasterbrick
上计算以下内容无需诉诸于将数据折叠成 dataframe
:
Q = negative/positive number of severely dry/wet months per total months of severely dry/wet events × 100
其中 severely wet
包括 1.50 to 1.99
范围内的值,而 severely dry
包括 −1.99 to −1.50
我更喜欢 Q
采用 raster
格式。下载数据集并执行:
dd=spei03_df
dd[1:2]<-dd[2:1]#swap lat and lon
a=rasterFromXYZ(dd)
有什么想法吗?谢谢。
您可以使用 raster
包中的栅格代数。这是一个计算严重潮湿的例子。最终输出 a_wet_perc
是栅格图层,其像元值范围为 0 到 100(以百分比表示)。您可以按照相同的逻辑创建一个栅格图层来总结严重的干燥情况。
library(raster)
# Calculate the Severe Wet
a_wet <- a
# Replace vlaues >= 1.5 and <= 1.99 to 100
# (Does not need to be 100. A very large number should be good)
a_wet[a_wet >= 1.5 & a_wet <= 1.99] <- 100
# Replace other values to 0
a_wet[a_wet < 100] <- 0
# Replace 100 to 1
a_wet[a_wet == 100] <- 1
# Calculate the percentage of severe wet
a_wet_perc <- mean(a_wet) * 100