Любая помощь будет принята с благодарностью, поскольку эту проблему я уже давно пытаюсь решить.
У меня есть климатические данные за 13877 дней из ПРИЗМА , данные по суточным осадкам с 01.01.1981 по 31.12.2008.Мне нужны данные «климатические данные: осадки» с «временным периодом: суточные данные».Оттуда данные должны загружаться вручную по годам как * .bil.Данные с плавающей запятой, каждый файл .bil является растром с размером 621 x 1405.
Я хотел бы преобразовать и объединить все эти растровые файлы в один файл * .csv, используя R (или Python)., Этот пост показался близким, но я не смог заставить предложенный код работать должным образом.
При таком большом количестве данных я ищу эффективное решение, если это возможно.Моя последняя попытка была следующей:
#After setting working directory to the folder with all .bil files
library(prism)
library(raster)
library(sp)
type = "ppt"
ls_prism_data(name=TRUE) #lists PRISM files
j = 1
k = 18
final_df = NULL
filepre = paste("PRISM_", type , "_stable_4kmD2_", sep = "")
for (i in 1:771) {
RS1 <- prism_stack(ls_prism_data()[j:k, 1])
l = 18
if (i = 771) {
l = 17 # 770*18 + 17 = 13877
}
j = j + l
k = k + l
pr_df <- data.frame(rasterToPoints(RS1))
long_pr_df <- pr_df %>% gather(Date, type, -x, -y)
long_pr_df$Dates <- gsub(filepre, "", long_pr_df$Dates)
long_pr_df$Dates <- gsub("_bil", "", long_pr_df$Dates)
final_df <- rbind(final_df, long_pr_df)
}
Я думал о том, чтобы преобразовать данные в «пакеты».К сожалению, это приводит к фатальной ошибке, которая приводит к прерыванию R.
В конечном счете, я хотел бы получить информацию в один файл, упорядоченный по годам, по точкам с переменной столбца, обозначающей количество осадков, чтобы я мог продолжить это для другихклиматические переменные.
Мне не нужно исправление вышеприведенного кода как такового, я просто ищу средство для достижения цели.Заранее спасибо за помощь!