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 #!/bin/bash
weeks_ago="0" end_date="2024-06-08"
offset=7
data_dir="chemba" data_dir="chemba"
# Parse command line arguments # Parse command line arguments
for arg in "$@"; do for arg in "$@"; do
case $arg in case $arg in
--weeks_ago=*) --offset=*)
weeks_ago="${arg#*=}" offset="${arg#*=}"
;;
--end_date=*)
end_date="${arg#*=}"
;; ;;
--data_dir=*) --data_dir=*)
data_dir="${arg#*=}" data_dir="${arg#*=}"
@ -20,15 +24,16 @@ for arg in "$@"; do
shift shift
done done
echo "Weeks ago: $weeks_ago" echo "offset: $offset"
echo "end_date: $end_date"
# Check if required arguments are set # Check if required arguments are set
if [ -z "$weeks_ago" ] || [ -z "$data_dir" ]; then if [ -z "$end_date" ] || [ -z "$data_dir" ] || [ -z "$offset" ]; then
echo "Missing arguments. Use: build_mosiac.sh --weeks_ago=3 --data_dir=chemba" echo "Missing arguments. Use: build_mosiac.sh --endate=2024-01-01 --offset=7 --data_dir=chemba"
exit 1 exit 1
fi 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 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 = [ $command = [
sprintf('%sbuild_mosaic.sh', $projectFolder), 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('--offset=%s', $this->mosaic->offset),
sprintf('--data_dir=%s', $this->mosaic->project->download_path), sprintf('--data_dir=%s', $this->mosaic->project->download_path),
]; ];

View file

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

View file

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

Binary file not shown.