83 lines
2.7 KiB
R
83 lines
2.7 KiB
R
library(here)
|
|
library('readxl')
|
|
#chemba
|
|
|
|
laravel_storage_dir <- here("laravel_app/storage/app", project_dir)
|
|
reports_dir <- here(laravel_storage_dir, "reports")
|
|
log_dir <- here(laravel_storage_dir, "logs")
|
|
planet_tif_folder <- here(laravel_storage_dir, "merged_tif")
|
|
merged_final <- here(laravel_storage_dir, "merged_final_tif")
|
|
planet_tif_folder <- here(laravel_storage_dir, "merged_tif")
|
|
merged_final <- here(laravel_storage_dir, "merged_final_tif")
|
|
data_dir <- here(laravel_storage_dir, "Data")
|
|
extracted_CI_dir <- here(data_dir, "extracted_ci")
|
|
daily_CI_vals_dir <- here(extracted_CI_dir, "daily_vals")
|
|
cumulative_CI_vals_dir <- here(extracted_CI_dir, "cumulative_vals")
|
|
weekly_CI_mosaic <- here(laravel_storage_dir, "weekly_mosaic")
|
|
daily_vrt <- here(data_dir, "vrt")
|
|
harvest_dir <- here(data_dir, "HarvestData")
|
|
|
|
dir.create(here(laravel_storage_dir), showWarnings = FALSE)
|
|
dir.create(here(reports_dir), showWarnings = FALSE)
|
|
dir.create(here(data_dir), showWarnings = FALSE)
|
|
dir.create(here(log_dir), showWarnings = FALSE)
|
|
dir.create(here(extracted_CI_dir), showWarnings = FALSE)
|
|
dir.create(here(daily_CI_vals_dir), showWarnings = FALSE)
|
|
dir.create(here(cumulative_CI_vals_dir), showWarnings = FALSE)
|
|
dir.create(here(weekly_CI_mosaic),showWarnings = FALSE)
|
|
dir.create(here(daily_vrt), showWarnings = FALSE)
|
|
dir.create(merged_final,showWarnings = FALSE)
|
|
dir.create(harvest_dir,showWarnings = FALSE)
|
|
|
|
field_boundaries_sf <- st_read(here(data_dir, "pivot.geojson"), crs = 4326)
|
|
|
|
names(field_boundaries_sf) <- c("field", "sub_field", "geometry")
|
|
|
|
field_boundaries <- field_boundaries_sf %>% terra::vect()
|
|
|
|
harvesting_data <- read_excel(here(data_dir, "harvest.xlsx")) %>%
|
|
dplyr::select(
|
|
c(
|
|
"field",
|
|
"sub_field",
|
|
"year",
|
|
"season_start",
|
|
"season_end",
|
|
"age",
|
|
"sub_area",
|
|
"tonnage_ha"
|
|
)
|
|
) %>%
|
|
mutate(
|
|
field = as.character(field),
|
|
sub_field = as.character(sub_field),
|
|
year = as.numeric(year),
|
|
season_start = as.Date(season_start, format="%d/%m/%Y"),
|
|
season_end = as.Date(season_end, format="%d/%m/%Y"),
|
|
age = as.numeric(age),
|
|
sub_area = as.character(sub_area),
|
|
tonnage_ha = as.numeric(tonnage_ha)
|
|
) %>%
|
|
mutate(
|
|
season_end = case_when(season_end > Sys.Date() ~ Sys.Date(),
|
|
is.na(season_end) ~ Sys.Date(),
|
|
TRUE ~ season_end),
|
|
age = round(as.numeric(season_end - season_start) / 7, 0)
|
|
)
|
|
|
|
log_file <- here(log_dir, paste0(format(Sys.Date(), "%Y%m%d"), ".log"))
|
|
|
|
|
|
|
|
|
|
|
|
# Create a logging function
|
|
log_message <- function(message) {
|
|
cat(message, "\n", file = log_file, append = TRUE)
|
|
}
|
|
|
|
|
|
log_head <- function(list) {
|
|
log_message(paste(capture.output(str(head(list))), collapse = "\n"))
|
|
}
|