Пиксельные частоты сухости / влажности для RasterBrick R

Учитывая rasterbricka с 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
Другие вопросы по тегам