SmartCane/r_app/parameters_project.R
Martin Folkerts 056b8dd67b okay
2024-09-17 14:56:33 +02:00

75 lines
2.6 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"))
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),
season_end = as.Date(season_end),
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(),
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(AllPivots0))), collapse = "\n"))
}