Пиксельные частоты сухости / влажности для RasterBrick R
Учитывая rasterbrick
a
с monthly
данные временного ряда standardized rainfall
в течение 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)
Какие-нибудь мысли? Благодарю.
1 ответ
Решение
Вы можете использовать растровую алгебру из 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