changed mosaic r script to work with end_date and offset instead of week

This commit is contained in:
Martin Folkerts 2024-06-24 11:39:47 +02:00
parent 19fac52c7e
commit 607a221028
6 changed files with 47 additions and 25 deletions

View file

@ -1,13 +1,17 @@
#!/bin/bash
weeks_ago="0"
end_date="2024-06-08"
offset=7
data_dir="chemba"
# Parse command line arguments
for arg in "$@"; do
case $arg in
--weeks_ago=*)
weeks_ago="${arg#*=}"
--offset=*)
offset="${arg#*=}"
;;
--end_date=*)
end_date="${arg#*=}"
;;
--data_dir=*)
data_dir="${arg#*=}"
@ -20,15 +24,16 @@ for arg in "$@"; do
shift
done
echo "Weeks ago: $weeks_ago"
echo "offset: $offset"
echo "end_date: $end_date"
# Check if required arguments are set
if [ -z "$weeks_ago" ] || [ -z "$data_dir" ]; then
echo "Missing arguments. Use: build_mosiac.sh --weeks_ago=3 --data_dir=chemba"
if [ -z "$end_date" ] || [ -z "$data_dir" ] || [ -z "$offset" ]; then
echo "Missing arguments. Use: build_mosiac.sh --endate=2024-01-01 --offset=7 --data_dir=chemba"
exit 1
fi
echo 2_CI_data_prep.R $weeks_ago $data_dir
echo 2_CI_data_prep.R $end_date $offset $data_dir
cd ../r_app
Rscript 2_CI_data_prep.R $weeks_ago $data_dir
Rscript 2_CI_data_prep.R $end_date $offset $data_dir

View file

@ -89,7 +89,7 @@ public function handle(): void
$command = [
sprintf('%sbuild_mosaic.sh', $projectFolder),
sprintf('--end_date=%s', $this->mosaic->end_date),
sprintf('--end_date=%s', $this->mosaic->end_date->format('Y-m-d')),
sprintf('--offset=%s', $this->mosaic->offset),
sprintf('--data_dir=%s', $this->mosaic->project->download_path),
];

View file

@ -57,7 +57,7 @@
"dynamicImports": [
"resources/js/alpine.js"
],
"file": "assets/app-a46f5c70.js",
"file": "assets/app-f1d6b98f.js",
"isEntry": true,
"src": "resources/js/app.js"
}

View file

@ -14,17 +14,29 @@ library(exactextractr)
library(readxl)
#funcion CI_prep package
date_list <- function(weeks_in_the_paste){
week <- week(Sys.Date()- weeks(weeks_in_the_paste) )
year <- year(Sys.Date()- weeks(weeks_in_the_paste) )
days_filter <- Sys.Date() - weeks(weeks_in_the_paste) - days(0:6)
return(c("week" = week,
"year" = year,
"days_filter" = list(days_filter)))
date_list <- function(end_date, offset){
offset <- as.numeric(offset) - 1
end_date <- as.Date(end_date)
start_date <- end_date - lubridate::days(offset)
week <- week(start_date)
year <- year(start_date)
days_filter <- seq(from = start_date, to = end_date, by = "day")
return(list("week" = week, "year" = year, "days_filter" = days_filter))
}
# date_list <- function(weeks_in_the_paste){
# week <- week(Sys.Date()- weeks(weeks_in_the_paste) )
# year <- year(Sys.Date()- weeks(weeks_in_the_paste) )
# days_filter <- Sys.Date() - weeks(weeks_in_the_paste) - days(0:6)
#
# return(c("week" = week,
# "year" = year,
# "days_filter" = list(days_filter)))
#
# }
CI_func <- function(x, drop_layers = FALSE){
CI <- x[[4]]/x[[2]]-1
add(x) <- CI
@ -461,16 +473,18 @@ if (length(args) == 0) {
}
# Converteer het eerste argument naar een numerieke waarde
weeks_ago <- as.numeric(args[1])
end_date <- as.Date(args[1])
offset <- as.numeric(args[2])
# Controleer of weeks_ago een geldig getal is
if (is.na(weeks_ago)) {
if (is.na(offset)) {
# stop("Het argument is geen geldig getal")
weeks_ago <- 0
offset <- 7
}
# Converteer het tweede argument naar een string waarde
project_dir <- as.character(args[2])
project_dir <- as.character(args[3])
# Controleer of data_dir een geldige waarde is
if (!is.character(project_dir)) {
@ -508,10 +522,13 @@ dir.create(here(daily_vrt))
dir.create(merged_final)
dir.create(harvest_dir)
week <- week(end_date)
#weeks_ago = 0
# Creating weekly mosaic
dates <- date_list(weeks_ago)
#dates <- date_list(weeks_ago)
dates <- date_list(end_date, offset)
print(dates)
#load pivot geojson
# pivot_sf_q <- st_read(here(data_dir, "pivot.geojson")) %>% dplyr::select(pivot, pivot_quadrant) %>% vect()

Binary file not shown.