From 4ba27ce77171d7599a6492dc3f17fdb94ea93a9a Mon Sep 17 00:00:00 2001 From: Sander Devisscher Date: Tue, 20 Aug 2024 09:58:29 +0200 Subject: [PATCH 01/11] Create label_selecter.R #62 --- R/label_selecter.R | 299 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 299 insertions(+) create mode 100644 R/label_selecter.R diff --git a/R/label_selecter.R b/R/label_selecter.R new file mode 100644 index 0000000..5c6af11 --- /dev/null +++ b/R/label_selecter.R @@ -0,0 +1,299 @@ + +#' @param 'label' een character (lijst) met labelnummer(s) die dienen onderzocht te worden. Dit kan in 3 vormen (volgnummer, met streepjes of zonder streepjes) of een combinatie van deze vormen aangeleverd worden +#' @param 'update' een boolean die aangeeft of ook de nog niet wegeschreven dwh - bestanden moeten worden gecontroleerd. **Deze parameter is nog niet bruikbaar**. **Deze parameter werkt enkel met een connectie met het inbo netwerk (ook via vpn)** +#' @param 'label_type' een een character (lijst) met labeltypes die dienen onderzocht te worden. *Deze parameter is case ongevoelig* +#' @param 'jaar' een numerieke (lijst) van jaren die dienen onderzocht te worden. +#' @param 'soort' een character van de soort die onderzocht dient te worden. *Deze parameter is case ongevoelig* +#' +#' @details De parameter 'label_type', 'jaar' en 'soort' zijn enkel relevant als één van de labels de vorm 'volgnummer' heeft. +#' @details Wanneer deze parameter niet gespecifieerd worden zal een default waarde voor het jaar (2013 t.e.m. max(AfschotMelding$Jaartal)) en label_type (c("REEGEIT", "REEKITS", "REEBOK", "WILD ZWIJN", "DAMHERT", "EDELHERT")) gebruikt worden. +#' @details Wanneer soort gespecifieerd is zal de lijst van labeltypes beperkt worden tot deze die op de soort betrekking hebben. +#' @details voor ree bvb wordt dit reekits, reegeit en reebok. +#' +#' @details deze functie onderzoekt of de lijst van labels bestaan in de volgende datasets: AfschotMelding, ToegekendeLabels,Toekenningen_Cleaned, Dieren_met_onderkaakgegevens, Dieren_met_onderkaakgegevens_Georef. +#' @details Om deze functie te gebruiken maak je een leeg r - bestand (of in de console) en plak je de onderstaande code: +#' @details source("./Functies/label_selecter.R") +#' @details output <- label_selecter(label, update = FALSE, label_type, jaar, soort) +#' +#' @examples #enkel label: +#' @examples label <- c(1234, "ANB2016REEGEIT001234", "ANB-2016-REEGEIT001234") +#' @examples output <- label_selecter(label) +#' +#' @examples #label & labeltype +#' @examples label <- c(1234, "ANB2016REEGEIT001234", "ANB-2016-REEGEIT001234") +#' @examples labeltype <- c("reegeit", "REEBOK") +#' @examples output <- label_selecter(label, label_type = labeltype) +#' +#' @examples #label & jaar & soort +#' @examples label <- c(1234, "ANB2016REEGEIT001234", "ANB-2016-REEGEIT001234") +#' @examples soort <- "ree" +#' @examples jaar <- c(2018, 2019) +#' @examples output <- label_selecter(label, jaar = jaar , soort = soort) +#' + +label_selecter <- function(label, update = FALSE, label_type, jaar, soort){ + + require(tidyverse) + + source("../backoffice-wild-analyse/Functies/Check.R") + + #Datasets to check + AfschotMelding <- read_csv("../backoffice-wild-analyse/Basis_Scripts/Input/E_Loket/AfschotMelding.csv") #AM_OLD + ToegekendeLabels <- read_csv("../backoffice-wild-analyse/Basis_Scripts/Input/E_Loket/ToegekendeLabels.csv") #TL_OLD + Toekenningen_Cleaned <- read_delim("../backoffice-wild-analyse/Basis_Scripts/Interim/Toekenningen_Cleaned.csv", + ";", escape_double = FALSE, trim_ws = TRUE) #TL_CLEANED + Dieren_met_onderkaakgegevens <- read_csv("../backoffice-wild-analyse/Data/Interim/Dieren_met_onderkaakgegevens.csv") #DMOG + Dieren_met_onderkaakgegevens_Georef <- read_delim("../backoffice-wild-analyse/Data/Interim/Dieren_met_onderkaakgegevens_Georef.csv", + ";", escape_double = FALSE, trim_ws = TRUE) #DMOG_GEO + if(update == TRUE){ + print("Updating E_Loket Data") + source("./Basis_Scripts/DWH_connect.R", local = TRUE) + + remove(dataAanvragenAfschot, + dataAanvragenAfschotPartij, + dataDiersoort, + dataErkenningWBE, + dataGeslacht, + dataIdentificaties, + dataKboWbe, + dataLeeftijd, + dataMeldingsformulier, + dataOnderkaak, + dataRapport, + dataRapportGegevens, + dataStaal, + dataVerbandKboWbe, + datawildschade, + csvPath_backoffice, + csvPath_e_loket, + csvPathAanvragenAfschot, + csvPathAanvragenAfschotPartij, + csvPathAfschotMelding, + csvPathdataRapportGegevens, + csvPathDiersoort, + csvPathErkenningWBE, + csvPathGeslacht, + csvPathIdentificaties, + csvPathKboWbe, + csvPathLeeftijd, + csvPathMeldingsformulier, + csvPathOnderkaak, + csvPathRapport, + csvPathSchade, + csvPathStaal, + csvPathVerbandKboWbe) + } + #make labeltypes + if(check(label_type) == 1){ + label_type <- toupper(label_type) + labeltypes <- label_type + }else{ + if(check(soort) == 1){ + soort <- toupper(soort) + if(soort == "REE"){ + labeltypes <- c("REEGEIT", "REEKITS", "REEBOK") + }else{ + labeltypes <- soort + } + }else{ + labeltypes <- c("REEGEIT", "REEKITS", "REEBOK", "WILD ZWIJN", "DAMHERT", "EDELHERT") + warning("Using default labeltypes") + } + } + + #make jaren + if(check(jaar) == 1){ + jaren <- jaar + }else{ + jaren <- 2013 + for(i in 2014:max(AfschotMelding$Jaartal)){ + jaren <- append(jaren, i) + } + warning("Using default jaren") + } + + #Make alternative label_list + ## make empty label checker + label_check <- data.frame(1) + label_check <- + label_check %>% + mutate(label = 1, + numeric = as.numeric(1)) %>% + dplyr::select(-X1) + + progress_bar <- progress_estimated(length(label)) + for(l in label){ + progress_bar$tick()$print() + ##Make empty label_lists + label_list <- NULL + label_list4 <- NULL + ##Check label type + label_check <- + label_check %>% + mutate(label = l, + numeric = as.numeric(l)) + ##Make list + if(is.na(label_check$numeric)){ + print(paste0(l, " is a character")) + if(grepl("-", l)){ + l2 <- gsub("-", "", l) + label_list1 <- c(l, l2) + labeltypes <- substr(l2, 8, nchar(l2)-6) + jaren <- substr(l2, 4, 7) + }else{ + l2 <- substr(l, 8, nchar(l)) + j <- substr(l,4, 7) + l3 <- paste0("ANB-", j, "-", l2) + label_list2 <- c(l, l3) + labeltypes <- substr(l, 8, nchar(l)-6) + jaren <- substr(l, 4, 7) + } + }else{ + print(paste0(l, " is numeric")) + l2 <- str_pad(string = l, 6, "0", side = "left") + label_list4 <- NULL + label_list3a <- NULL + for(lt in labeltypes){ + for(j in jaren){ + l3 <- paste0("ANB", j, lt, l2) + l4 <- paste0("ANB-", j, "-", lt, l2) + label_list3 <- c(l3,l4) + label_list4 <- append(label_list4, label_list3) + } + } + } + #Merge labellists + if(check(label_list1)==0){ + label_list1 <- NULL + }else{ + n <- length(label_list1) + } + if(check(label_list2)==0){ + label_list2 <- NULL + }else{ + n <- length(label_list2) + } + if(check(label_list4)==0){ + label_list4 <- NULL + } + + label_list <- c(label_list1, label_list2, label_list4) + print("Labels to check:") + print(paste0("input_label: ", l)) + print(label_list) + + #Make output dummy + + INPUTLABEL <- l + LABELTYPE <- paste(unlist(labeltypes), collapse='/') + JAAR <- paste(unlist(jaren), collapse='/') + AM_OLD <- FALSE + AM_OLD_LABEL <- NA + TL_OLD <- FALSE + TL_OLD_LABEL <- NA + TL_CLEANED <- FALSE + TL_CLEANED_LABEL <- NA + DMOG <- FALSE + DMOG_LABEL <- NA + DMOG_GEO <- FALSE + DMOG_GEO_LABEL <- NA + if(update == TRUE){ + + AM_NEW <- FALSE + AM_NEW_LABEL <- NA + TL_NEW <- FALSE + TL_NEW_LABEL <- NA + output_temp <- data.frame(INPUTLABEL, LABELTYPE, JAAR, AM_OLD, AM_OLD_LABEL, AM_NEW, AM_NEW_LABEL, TL_OLD, TL_OLD_LABEL, TL_NEW, TL_NEW_LABEL, TL_CLEANED, TL_CLEANED_LABEL, DMOG, DMOG_LABEL, DMOG_GEO,DMOG_GEO_LABEL) + + ##Afschotmeldingen_updated + AM_NEW_CHECK <- subset(dataAfschotMelding, LabelNummer %in% label_list) + AM_NEW_LABEL1 <- unique(AM_NEW_CHECK$LabelNummer) + AM_NEW_LABEL2 <- paste(unlist(AM_NEW_LABEL1), collapse='/') + if(nrow(AM_NEW_CHECK)>0){ + output_temp <- + output_temp %>% + mutate(AM_NEW = TRUE, + AM_NEW_LABEL = AM_NEW_LABEL2) + } + + ##Toegekende labels + TL_NEW_CHECK <- subset(dataToegekendeLabels, Label %in% label_list) + TL_NEW_LABEL1 <- unique(TL_NEW_CHECK$Label) + TL_NEW_LABEL2 <- paste(unlist(TL_NEW_LABEL1), collapse='/') + if(nrow(TL_NEW_CHECK)>0){ + output_temp <- + output_temp %>% + mutate(TL_NEW = TRUE, + TL_NEW_LABEL = TL_NEW_LABEL2) + } + }else{ + output_temp <- data.frame(INPUTLABEL, LABELTYPE, JAAR, AM_OLD, AM_OLD_LABEL, TL_OLD, TL_OLD_LABEL, TL_CLEANED, TL_CLEANED_LABEL, DMOG, DMOG_LABEL, DMOG_GEO,DMOG_GEO_LABEL) + } + + + #Check Aanwezigheid labels + ##Afschotmeldingen + AM_OLD_CHECK <- subset(AfschotMelding, LabelNummer %in% label_list) + AM_OLD_LABEL1 <- unique(AM_OLD_CHECK$LabelNummer) + AM_OLD_LABEL2 <- paste(unlist(AM_OLD_LABEL1), collapse='/') + if(nrow(AM_OLD_CHECK)>0){ + output_temp <- + output_temp %>% + mutate(AM_OLD = TRUE, + AM_OLD_LABEL = AM_OLD_LABEL2) + } + + ##Toegekende labels + TL_OLD_CHECK <- subset(ToegekendeLabels, Label %in% label_list) + TL_OLD_LABEL1 <- unique(TL_OLD_CHECK$Label) + TL_OLD_LABEL2 <- paste(unlist(TL_OLD_LABEL1), collapse='/') + if(nrow(TL_OLD_CHECK)>0){ + output_temp <- + output_temp %>% + mutate(TL_OLD = TRUE, + TL_OLD_LABEL = TL_OLD_LABEL2) + } + + ##Toekenningen_Cleaned + TL_CLEANED_CHECK <- subset(Toekenningen_Cleaned, Label_Toek %in% label_list) + TL_CLEANED_LABEL1 <- unique(TL_CLEANED_CHECK$Label_Toek) + TL_CLEANED_LABEL2 <- paste(unlist(TL_CLEANED_LABEL1), collapse='/') + if(nrow(TL_CLEANED_CHECK)>0){ + output_temp <- + output_temp %>% + mutate(TL_CLEANED = TRUE, + TL_CLEANED_LABEL = TL_CLEANED_LABEL2) + } + + ##Dieren_met_onderkaakgegevens + DMOG_CHECK <- subset(Dieren_met_onderkaakgegevens, label_nummer %in% label_list) + DMOG_LABEL1 <- unique(DMOG_CHECK$label_nummer) + DMOG_LABEL2 <- paste(unlist(DMOG_LABEL1), collapse='/') + if(nrow(DMOG_CHECK)>0){ + output_temp <- + output_temp %>% + mutate(DMOG = TRUE, + DMOG_LABEL = DMOG_LABEL2) + } + + ##Dieren_met_onderkaakgegevens_Georef + DMOG_GEO_CHECK <- subset(Dieren_met_onderkaakgegevens_Georef, label_nummer_samen %in% label_list) + DMOG_GEO_LABEL1 <- unique(DMOG_GEO_CHECK$label_nummer_samen) + DMOG_GEO_LABEL2 <- paste(unlist(DMOG_GEO_LABEL1), collapse='/') + if(nrow(DMOG_GEO_CHECK)>0){ + output_temp <- + output_temp %>% + mutate(DMOG_GEO = TRUE, + DMOG_GEO_LABEL = DMOG_GEO_LABEL2) + } + + #Outputs Samenvoegen + if(check(final) == 0){ + final <- output_temp + }else{ + final <- rbind(final, output_temp) + } + } + return(final) +} + \ No newline at end of file From 801c732d0b358724cff5df84307e194dfa41bc6a Mon Sep 17 00:00:00 2001 From: Sander Devisscher Date: Tue, 20 Aug 2024 11:21:48 +0200 Subject: [PATCH 02/11] rework label_selecter #62 --- R/label_selecter.R | 252 +++++++++++++++++++++++++++------------------ 1 file changed, 154 insertions(+), 98 deletions(-) diff --git a/R/label_selecter.R b/R/label_selecter.R index 5c6af11..2ff5795 100644 --- a/R/label_selecter.R +++ b/R/label_selecter.R @@ -1,57 +1,108 @@ - +#' @title label_selecter +#' +#' @description Deze functie onderzoekt of de labels bestaan in de datasets AfschotMelding (AM), ToegekendeLabels (TL), Toekenningen_Cleaned (TL_Cleaned), Dieren_met_onderkaakgegevens (DMOG), Dieren_met_onderkaakgegevens_Georef (DMOGG). +#' +#' @param 'bo_dir' een character met de directory waar de backoffice-wild-analyse repository staat. #' @param 'label' een character (lijst) met labelnummer(s) die dienen onderzocht te worden. Dit kan in 3 vormen (volgnummer, met streepjes of zonder streepjes) of een combinatie van deze vormen aangeleverd worden -#' @param 'update' een boolean die aangeeft of ook de nog niet wegeschreven dwh - bestanden moeten worden gecontroleerd. **Deze parameter is nog niet bruikbaar**. **Deze parameter werkt enkel met een connectie met het inbo netwerk (ook via vpn)** -#' @param 'label_type' een een character (lijst) met labeltypes die dienen onderzocht te worden. *Deze parameter is case ongevoelig* +#' @param 'update' een boolean die aangeeft of ook de nog niet wegeschreven dwh - bestanden moeten worden gecontroleerd. +#' @param 'label_type' een een character (lijst) met labeltypes die dienen onderzocht te worden. #' @param 'jaar' een numerieke (lijst) van jaren die dienen onderzocht te worden. -#' @param 'soort' een character van de soort die onderzocht dient te worden. *Deze parameter is case ongevoelig* -#' -#' @details De parameter 'label_type', 'jaar' en 'soort' zijn enkel relevant als één van de labels de vorm 'volgnummer' heeft. -#' @details Wanneer deze parameter niet gespecifieerd worden zal een default waarde voor het jaar (2013 t.e.m. max(AfschotMelding$Jaartal)) en label_type (c("REEGEIT", "REEKITS", "REEBOK", "WILD ZWIJN", "DAMHERT", "EDELHERT")) gebruikt worden. -#' @details Wanneer soort gespecifieerd is zal de lijst van labeltypes beperkt worden tot deze die op de soort betrekking hebben. -#' @details voor ree bvb wordt dit reekits, reegeit en reebok. -#' -#' @details deze functie onderzoekt of de lijst van labels bestaan in de volgende datasets: AfschotMelding, ToegekendeLabels,Toekenningen_Cleaned, Dieren_met_onderkaakgegevens, Dieren_met_onderkaakgegevens_Georef. -#' @details Om deze functie te gebruiken maak je een leeg r - bestand (of in de console) en plak je de onderstaande code: -#' @details source("./Functies/label_selecter.R") -#' @details output <- label_selecter(label, update = FALSE, label_type, jaar, soort) -#' -#' @examples #enkel label: -#' @examples label <- c(1234, "ANB2016REEGEIT001234", "ANB-2016-REEGEIT001234") -#' @examples output <- label_selecter(label) -#' -#' @examples #label & labeltype -#' @examples label <- c(1234, "ANB2016REEGEIT001234", "ANB-2016-REEGEIT001234") -#' @examples labeltype <- c("reegeit", "REEBOK") -#' @examples output <- label_selecter(label, label_type = labeltype) -#' -#' @examples #label & jaar & soort -#' @examples label <- c(1234, "ANB2016REEGEIT001234", "ANB-2016-REEGEIT001234") -#' @examples soort <- "ree" -#' @examples jaar <- c(2018, 2019) -#' @examples output <- label_selecter(label, jaar = jaar , soort = soort) -#' +#' @param 'soort' een character van de soort die onderzocht dient te worden. +#' +#' @details +#' De parameter `label_type`, `jaar` en `soort` zijn enkel relevant als één van +#' de labels de vorm 'volgnummer' heeft. Wanneer deze parameter niet gespecifieerd +#' worden zal een default waarde voor het jaar (2013 t.e.m. max(AfschotMelding$Jaartal)) +#' en label_type (c("REEGEIT", "REEKITS", "REEBOK", "WILD ZWIJN", "DAMHERT", "EDELHERT")) +#' gebruikt worden. Wanneer soort gespecifieerd is zal de lijst van labeltypes +#' beperkt worden tot deze die op de soort betrekking hebben. Voor ree bvb wordt dit reekits, reegeit en reebok. +#' +#' De parameters `label`, `label_type`, `jaar` en `soort` kunnen als lijst aangeleverd worden. +#' +#' De parameters `label_type`, `jaar` en `soort` zijn niet hoofdlettergevoelig. +#' +#' `bo_dir` is de directory waar de backoffice-wild-analyse repository staat. +#' De functie checkt namelijk of de labels voorkomen in de lokale versie van de backoffice-wild-analyse repository. +#' Hiervoor is het belangrijk dat de backoffice-wild-analyse repository lokaal aanwezig is en de laatste versie gepulled is. +#' +#' `update` is een boolean die aangeeft of de nog niet wegeschreven dwh - bestanden moeten worden gecontroleerd. +#' om dit te kunnen lopen is een verbinding met de DWH nodig. Dit is enkel mogelijk als je met de VPN van het INBO verbonden bent. +#' Of als je aanwezig bent op een vestiging van de Vlaamse Overheid (VAC). +#' +#' @return Een dataframe met de volgende kolommen: +#' - INPUTLABEL: de input label +#' - LABELTYPE: de labeltype(s) die onderzocht worden +#' - JAAR: het jaar waarin de labels onderzocht worden +#' - AM_OLD: een boolean die aangeeft of de label(s) in AfschotMelding voorkomen **voor** de update van DWH_Connect +#' - AM_OLD_LABEL: de label(s) die in AfschotMelding voorkomen **voor** de update van DWH_Connect +#' - AM_NEW: een boolean die aangeeft of de label(s) in AfschotMelding voorkomen **na** de update van DWH_Connect +#' - AM_NEW_LABEL: de label(s) die in AfschotMelding voorkomen **na** de update van DWH_Connect +#' - TL_OLD: een boolean die aangeeft of de label(s) in ToegekendeLabels voorkomen **voor** de update van DWH_Connect +#' - TL_OLD_LABEL: de label(s) die in ToegekendeLabels voorkomen **voor** de update van DWH_Connect +#' - TL_NEW: een boolean die aangeeft of de label(s) in ToegekendeLabels voorkomen **na** de update van DWH_Connect +#' - TL_NEW_LABEL: de label(s) die in ToegekendeLabels voorkomen **na** de update van DWH_Connect +#' - TL_CLEANED: een boolean die aangeeft of de label(s) in Toekenningen_Cleaned voorkomen +#' - TL_CLEANED_LABEL: de label(s) die in Toekenningen_Cleaned voorkomen +#' - DMOG: een boolean die aangeeft of de label(s) in Dieren_met_onderkaakgegevens voorkomen +#' - DMOG_LABEL: de label(s) die in Dieren_met_onderkaakgegevens voorkomen +#' - DMOG_GEO: een boolean die aangeeft of de label(s) in Dieren_met_onderkaakgegevens_Georef voorkomen +#' - DMOG_GEO_LABEL: de label(s) die in Dieren_met_onderkaakgegevens_Georef voorkomen +#' +#' @family other +#' @export +#' @author Sander Devisscher +#' +#' @examples +#' \dontrun{ +#' #enkel label: +#' label <- c(1234, "ANB2016REEGEIT001234", "ANB-2016-REEGEIT001234") +#' output <- label_selecter(label) +#' +#' #label & labeltype +#' label <- c(1234, "ANB2016REEGEIT001234", "ANB-2016-REEGEIT001234") +#' labeltype <- c("reegeit", "REEBOK") +#' output <- label_selecter(label, label_type = labeltype) +#' +#' #label & jaar & soort +#' label <- c(1234, "ANB2016REEGEIT001234", "ANB-2016-REEGEIT001234") +#' soort <- "ree" +#' jaar <- c(2018, 2019) +#' output <- label_selecter(label, jaar = jaar , soort = soort) +#'} + +label_selecter <- function(bo_dir = "~/Github/backoffice-wild-analyse/", + label, + update = FALSE, + label_type, + jaar, + soort){ + + # check if bo_dir is a directory + if (!dir.exists(bo_dir)) { + stop(paste0(bo_dir, " is geen directory >> probeer 'https://github.com/inbo/backoffice-wild-analyse' te clonen en/of 'bo_dir' te wijzgigen")) + } -label_selecter <- function(label, update = FALSE, label_type, jaar, soort){ - - require(tidyverse) - - source("../backoffice-wild-analyse/Functies/Check.R") - #Datasets to check - AfschotMelding <- read_csv("../backoffice-wild-analyse/Basis_Scripts/Input/E_Loket/AfschotMelding.csv") #AM_OLD - ToegekendeLabels <- read_csv("../backoffice-wild-analyse/Basis_Scripts/Input/E_Loket/ToegekendeLabels.csv") #TL_OLD - Toekenningen_Cleaned <- read_delim("../backoffice-wild-analyse/Basis_Scripts/Interim/Toekenningen_Cleaned.csv", - ";", escape_double = FALSE, trim_ws = TRUE) #TL_CLEANED - Dieren_met_onderkaakgegevens <- read_csv("../backoffice-wild-analyse/Data/Interim/Dieren_met_onderkaakgegevens.csv") #DMOG - Dieren_met_onderkaakgegevens_Georef <- read_delim("../backoffice-wild-analyse/Data/Interim/Dieren_met_onderkaakgegevens_Georef.csv", - ";", escape_double = FALSE, trim_ws = TRUE) #DMOG_GEO + AfschotMelding <- readr::read_csv(paste0(bo_dir, "Basis_Scripts/Input/E_Loket/AfschotMelding.csv")) #AM_OLD + ToegekendeLabels <- readr::read_csv(paste0(bo_dir, "Basis_Scripts/Input/E_Loket/ToegekendeLabels.csv")) #TL_OLD + Toekenningen_Cleaned <- readr::read_delim(paste0(bo_dir,"Basis_Scripts/Interim/Toekenningen_Cleaned.csv", + ";", escape_double = FALSE, trim_ws = TRUE)) #TL_CLEANED + Dieren_met_onderkaakgegevens <- readr::read_csv(paste0(bo_dir,"Data/Interim/Dieren_met_onderkaakgegevens.csv")) #DMOG + Dieren_met_onderkaakgegevens_Georef <- readr::read_delim(paste0(bo_dir,"Data/Interim/Dieren_met_onderkaakgegevens_Georef.csv", + ";", escape_double = FALSE, trim_ws = TRUE)) #DMOG_GEO if(update == TRUE){ print("Updating E_Loket Data") - source("./Basis_Scripts/DWH_connect.R", local = TRUE) - - remove(dataAanvragenAfschot, - dataAanvragenAfschotPartij, - dataDiersoort, + source(paste0(bo_dir,"Basis_Scripts/DWH_connect.R"), + local = TRUE, + verbose = TRUE) + + temp_dir_update <- "Basis_Scripts/Input/" + dir.create(paste0(temp_dir_update, "E_Loket"), showWarnings = FALSE) + dir.create(paste0(temp_dir_update, "INBO"), showWarnings = FALSE) + + remove(dataAanvragenAfschot, + dataAanvragenAfschotPartij, + dataDiersoort, dataErkenningWBE, dataGeslacht, dataIdentificaties, @@ -82,6 +133,10 @@ label_selecter <- function(label, update = FALSE, label_type, jaar, soort){ csvPathSchade, csvPathStaal, csvPathVerbandKboWbe) + + unlink(paste0(temp_dir_update, "E_Loket"), recursive = TRUE) + unlink(paste0(temp_dir_update, "INBO"), recursive = TRUE) + } #make labeltypes if(check(label_type) == 1){ @@ -111,28 +166,30 @@ label_selecter <- function(label, update = FALSE, label_type, jaar, soort){ } warning("Using default jaren") } - + #Make alternative label_list ## make empty label checker label_check <- data.frame(1) - label_check <- - label_check %>% - mutate(label = 1, - numeric = as.numeric(1)) %>% + label_check <- + label_check %>% + dplyr::mutate(label = 1, + numeric = as.numeric(1)) %>% dplyr::select(-X1) - - progress_bar <- progress_estimated(length(label)) + + ##Make progress bar + progress_bar <- progress::progress_bar$new(total = length(label)) + for(l in label){ - progress_bar$tick()$print() + progress_bar$tick() ##Make empty label_lists label_list <- NULL label_list4 <- NULL ##Check label type - label_check <- - label_check %>% - mutate(label = l, + label_check <- + label_check %>% + dplyr::mutate(label = l, numeric = as.numeric(l)) - ##Make list + ##Make list if(is.na(label_check$numeric)){ print(paste0(l, " is a character")) if(grepl("-", l)){ @@ -176,22 +233,22 @@ label_selecter <- function(label, update = FALSE, label_type, jaar, soort){ if(check(label_list4)==0){ label_list4 <- NULL } - + label_list <- c(label_list1, label_list2, label_list4) print("Labels to check:") print(paste0("input_label: ", l)) print(label_list) - + #Make output dummy - + INPUTLABEL <- l LABELTYPE <- paste(unlist(labeltypes), collapse='/') JAAR <- paste(unlist(jaren), collapse='/') - AM_OLD <- FALSE - AM_OLD_LABEL <- NA - TL_OLD <- FALSE + AM_OLD <- FALSE + AM_OLD_LABEL <- NA + TL_OLD <- FALSE TL_OLD_LABEL <- NA - TL_CLEANED <- FALSE + TL_CLEANED <- FALSE TL_CLEANED_LABEL <- NA DMOG <- FALSE DMOG_LABEL <- NA @@ -204,89 +261,89 @@ label_selecter <- function(label, update = FALSE, label_type, jaar, soort){ TL_NEW <- FALSE TL_NEW_LABEL <- NA output_temp <- data.frame(INPUTLABEL, LABELTYPE, JAAR, AM_OLD, AM_OLD_LABEL, AM_NEW, AM_NEW_LABEL, TL_OLD, TL_OLD_LABEL, TL_NEW, TL_NEW_LABEL, TL_CLEANED, TL_CLEANED_LABEL, DMOG, DMOG_LABEL, DMOG_GEO,DMOG_GEO_LABEL) - + ##Afschotmeldingen_updated AM_NEW_CHECK <- subset(dataAfschotMelding, LabelNummer %in% label_list) AM_NEW_LABEL1 <- unique(AM_NEW_CHECK$LabelNummer) AM_NEW_LABEL2 <- paste(unlist(AM_NEW_LABEL1), collapse='/') if(nrow(AM_NEW_CHECK)>0){ - output_temp <- - output_temp %>% - mutate(AM_NEW = TRUE, + output_temp <- + output_temp %>% + dplyr::mutate(AM_NEW = TRUE, AM_NEW_LABEL = AM_NEW_LABEL2) } - + ##Toegekende labels TL_NEW_CHECK <- subset(dataToegekendeLabels, Label %in% label_list) TL_NEW_LABEL1 <- unique(TL_NEW_CHECK$Label) TL_NEW_LABEL2 <- paste(unlist(TL_NEW_LABEL1), collapse='/') if(nrow(TL_NEW_CHECK)>0){ - output_temp <- - output_temp %>% - mutate(TL_NEW = TRUE, + output_temp <- + output_temp %>% + dplyr::mutate(TL_NEW = TRUE, TL_NEW_LABEL = TL_NEW_LABEL2) } }else{ output_temp <- data.frame(INPUTLABEL, LABELTYPE, JAAR, AM_OLD, AM_OLD_LABEL, TL_OLD, TL_OLD_LABEL, TL_CLEANED, TL_CLEANED_LABEL, DMOG, DMOG_LABEL, DMOG_GEO,DMOG_GEO_LABEL) } - - + + #Check Aanwezigheid labels ##Afschotmeldingen AM_OLD_CHECK <- subset(AfschotMelding, LabelNummer %in% label_list) AM_OLD_LABEL1 <- unique(AM_OLD_CHECK$LabelNummer) AM_OLD_LABEL2 <- paste(unlist(AM_OLD_LABEL1), collapse='/') if(nrow(AM_OLD_CHECK)>0){ - output_temp <- - output_temp %>% - mutate(AM_OLD = TRUE, + output_temp <- + output_temp %>% + dplyr::mutate(AM_OLD = TRUE, AM_OLD_LABEL = AM_OLD_LABEL2) } - + ##Toegekende labels TL_OLD_CHECK <- subset(ToegekendeLabels, Label %in% label_list) TL_OLD_LABEL1 <- unique(TL_OLD_CHECK$Label) TL_OLD_LABEL2 <- paste(unlist(TL_OLD_LABEL1), collapse='/') if(nrow(TL_OLD_CHECK)>0){ - output_temp <- - output_temp %>% - mutate(TL_OLD = TRUE, + output_temp <- + output_temp %>% + dplyr::mutate(TL_OLD = TRUE, TL_OLD_LABEL = TL_OLD_LABEL2) } - + ##Toekenningen_Cleaned TL_CLEANED_CHECK <- subset(Toekenningen_Cleaned, Label_Toek %in% label_list) TL_CLEANED_LABEL1 <- unique(TL_CLEANED_CHECK$Label_Toek) TL_CLEANED_LABEL2 <- paste(unlist(TL_CLEANED_LABEL1), collapse='/') if(nrow(TL_CLEANED_CHECK)>0){ - output_temp <- - output_temp %>% - mutate(TL_CLEANED = TRUE, + output_temp <- + output_temp %>% + dplyr::mutate(TL_CLEANED = TRUE, TL_CLEANED_LABEL = TL_CLEANED_LABEL2) } - + ##Dieren_met_onderkaakgegevens DMOG_CHECK <- subset(Dieren_met_onderkaakgegevens, label_nummer %in% label_list) DMOG_LABEL1 <- unique(DMOG_CHECK$label_nummer) DMOG_LABEL2 <- paste(unlist(DMOG_LABEL1), collapse='/') if(nrow(DMOG_CHECK)>0){ - output_temp <- - output_temp %>% - mutate(DMOG = TRUE, + output_temp <- + output_temp %>% + dplyr::mutate(DMOG = TRUE, DMOG_LABEL = DMOG_LABEL2) } - + ##Dieren_met_onderkaakgegevens_Georef DMOG_GEO_CHECK <- subset(Dieren_met_onderkaakgegevens_Georef, label_nummer_samen %in% label_list) DMOG_GEO_LABEL1 <- unique(DMOG_GEO_CHECK$label_nummer_samen) DMOG_GEO_LABEL2 <- paste(unlist(DMOG_GEO_LABEL1), collapse='/') if(nrow(DMOG_GEO_CHECK)>0){ - output_temp <- - output_temp %>% - mutate(DMOG_GEO = TRUE, + output_temp <- + output_temp %>% + dplyr::mutate(DMOG_GEO = TRUE, DMOG_GEO_LABEL = DMOG_GEO_LABEL2) } - + #Outputs Samenvoegen if(check(final) == 0){ final <- output_temp @@ -296,4 +353,3 @@ label_selecter <- function(label, update = FALSE, label_type, jaar, soort){ } return(final) } - \ No newline at end of file From 640610772d7f53a18177803ec7db2b154cd54c09 Mon Sep 17 00:00:00 2001 From: Sander Devisscher Date: Tue, 20 Aug 2024 13:15:24 +0200 Subject: [PATCH 03/11] make label_selecter(update = TRUE) work again #62 --- R/label_selecter.R | 132 +++++++++++++++++++++++---------------------- 1 file changed, 68 insertions(+), 64 deletions(-) diff --git a/R/label_selecter.R b/R/label_selecter.R index 2ff5795..67944e7 100644 --- a/R/label_selecter.R +++ b/R/label_selecter.R @@ -2,12 +2,12 @@ #' #' @description Deze functie onderzoekt of de labels bestaan in de datasets AfschotMelding (AM), ToegekendeLabels (TL), Toekenningen_Cleaned (TL_Cleaned), Dieren_met_onderkaakgegevens (DMOG), Dieren_met_onderkaakgegevens_Georef (DMOGG). #' -#' @param 'bo_dir' een character met de directory waar de backoffice-wild-analyse repository staat. #' @param 'label' een character (lijst) met labelnummer(s) die dienen onderzocht te worden. Dit kan in 3 vormen (volgnummer, met streepjes of zonder streepjes) of een combinatie van deze vormen aangeleverd worden #' @param 'update' een boolean die aangeeft of ook de nog niet wegeschreven dwh - bestanden moeten worden gecontroleerd. #' @param 'label_type' een een character (lijst) met labeltypes die dienen onderzocht te worden. #' @param 'jaar' een numerieke (lijst) van jaren die dienen onderzocht te worden. #' @param 'soort' een character van de soort die onderzocht dient te worden. +#' @param 'bo_dir' een character met de directory waar de backoffice-wild-analyse repository staat. #' #' @details #' De parameter `label_type`, `jaar` en `soort` zijn enkel relevant als één van @@ -35,18 +35,19 @@ #' - JAAR: het jaar waarin de labels onderzocht worden #' - AM_OLD: een boolean die aangeeft of de label(s) in AfschotMelding voorkomen **voor** de update van DWH_Connect #' - AM_OLD_LABEL: de label(s) die in AfschotMelding voorkomen **voor** de update van DWH_Connect -#' - AM_NEW: een boolean die aangeeft of de label(s) in AfschotMelding voorkomen **na** de update van DWH_Connect -#' - AM_NEW_LABEL: de label(s) die in AfschotMelding voorkomen **na** de update van DWH_Connect #' - TL_OLD: een boolean die aangeeft of de label(s) in ToegekendeLabels voorkomen **voor** de update van DWH_Connect #' - TL_OLD_LABEL: de label(s) die in ToegekendeLabels voorkomen **voor** de update van DWH_Connect -#' - TL_NEW: een boolean die aangeeft of de label(s) in ToegekendeLabels voorkomen **na** de update van DWH_Connect -#' - TL_NEW_LABEL: de label(s) die in ToegekendeLabels voorkomen **na** de update van DWH_Connect #' - TL_CLEANED: een boolean die aangeeft of de label(s) in Toekenningen_Cleaned voorkomen #' - TL_CLEANED_LABEL: de label(s) die in Toekenningen_Cleaned voorkomen #' - DMOG: een boolean die aangeeft of de label(s) in Dieren_met_onderkaakgegevens voorkomen #' - DMOG_LABEL: de label(s) die in Dieren_met_onderkaakgegevens voorkomen #' - DMOG_GEO: een boolean die aangeeft of de label(s) in Dieren_met_onderkaakgegevens_Georef voorkomen #' - DMOG_GEO_LABEL: de label(s) die in Dieren_met_onderkaakgegevens_Georef voorkomen +#' *Als `update = TRUE` worden de volgende kolommen toegevoegd:* +#' - AM_NEW: een boolean die aangeeft of de label(s) in AfschotMelding voorkomen **na** de update van DWH_Connect +#' - AM_NEW_LABEL: de label(s) die in AfschotMelding voorkomen **na** de update van DWH_Connect +#' - TL_NEW: een boolean die aangeeft of de label(s) in ToegekendeLabels voorkomen **na** de update van DWH_Connect +#' - TL_NEW_LABEL: de label(s) die in ToegekendeLabels voorkomen **na** de update van DWH_Connect #' #' @family other #' @export @@ -70,12 +71,12 @@ #' output <- label_selecter(label, jaar = jaar , soort = soort) #'} -label_selecter <- function(bo_dir = "~/Github/backoffice-wild-analyse/", - label, +label_selecter <- function(label, update = FALSE, label_type, jaar, - soort){ + soort, + bo_dir = "~/Github/backoffice-wild-analyse/"){ # check if bo_dir is a directory if (!dir.exists(bo_dir)) { @@ -85,57 +86,60 @@ label_selecter <- function(bo_dir = "~/Github/backoffice-wild-analyse/", #Datasets to check AfschotMelding <- readr::read_csv(paste0(bo_dir, "Basis_Scripts/Input/E_Loket/AfschotMelding.csv")) #AM_OLD ToegekendeLabels <- readr::read_csv(paste0(bo_dir, "Basis_Scripts/Input/E_Loket/ToegekendeLabels.csv")) #TL_OLD - Toekenningen_Cleaned <- readr::read_delim(paste0(bo_dir,"Basis_Scripts/Interim/Toekenningen_Cleaned.csv", - ";", escape_double = FALSE, trim_ws = TRUE)) #TL_CLEANED + Toekenningen_Cleaned <- readr::read_delim(paste0(bo_dir,"Basis_Scripts/Interim/Toekenningen_Cleaned.csv"), + ";", escape_double = FALSE, trim_ws = TRUE) #TL_CLEANED Dieren_met_onderkaakgegevens <- readr::read_csv(paste0(bo_dir,"Data/Interim/Dieren_met_onderkaakgegevens.csv")) #DMOG - Dieren_met_onderkaakgegevens_Georef <- readr::read_delim(paste0(bo_dir,"Data/Interim/Dieren_met_onderkaakgegevens_Georef.csv", - ";", escape_double = FALSE, trim_ws = TRUE)) #DMOG_GEO + Dieren_met_onderkaakgegevens_Georef <- readr::read_delim(paste0(bo_dir,"Data/Interim/Dieren_met_onderkaakgegevens_Georef.csv"), + ";", escape_double = FALSE, trim_ws = TRUE) #DMOG_GEO if(update == TRUE){ - print("Updating E_Loket Data") - source(paste0(bo_dir,"Basis_Scripts/DWH_connect.R"), - local = TRUE, - verbose = TRUE) + print("Updating E_Loket Data") + temp_dir_update <- paste0(bo_dir, "Basis_Scripts/Basis_Scripts/Input/") + dir.create(paste0(temp_dir_update, "/E_Loket"), recursive = TRUE, showWarnings = FALSE) + dir.create(paste0(temp_dir_update, "/INBO"), recursive = TRUE, showWarnings = FALSE) - temp_dir_update <- "Basis_Scripts/Input/" - dir.create(paste0(temp_dir_update, "E_Loket"), showWarnings = FALSE) - dir.create(paste0(temp_dir_update, "INBO"), showWarnings = FALSE) + source(paste0(bo_dir,"Basis_Scripts/DWH_connect.R"), + local = TRUE, + verbose = TRUE, + chdir = TRUE) - remove(dataAanvragenAfschot, - dataAanvragenAfschotPartij, - dataDiersoort, - dataErkenningWBE, - dataGeslacht, - dataIdentificaties, - dataKboWbe, - dataLeeftijd, - dataMeldingsformulier, - dataOnderkaak, - dataRapport, - dataRapportGegevens, - dataStaal, - dataVerbandKboWbe, - datawildschade, - csvPath_backoffice, - csvPath_e_loket, - csvPathAanvragenAfschot, - csvPathAanvragenAfschotPartij, - csvPathAfschotMelding, - csvPathdataRapportGegevens, - csvPathDiersoort, - csvPathErkenningWBE, - csvPathGeslacht, - csvPathIdentificaties, - csvPathKboWbe, - csvPathLeeftijd, - csvPathMeldingsformulier, - csvPathOnderkaak, - csvPathRapport, - csvPathSchade, - csvPathStaal, - csvPathVerbandKboWbe) + remove(dataAanvragenAfschot, + dataAanvragenAfschotPartij, + dataDiersoort, + dataErkenningWBE, + dataGeslacht, + dataIdentificaties, + dataKboWbe, + dataLeeftijd, + dataMeldingsformulier, + dataOnderkaak, + dataRapport, + dataRapportGegevens, + dataStaal, + dataVerbandKboWbe, + datawildschade, + csvPath_backoffice, + csvPath_e_loket, + csvPathAanvragenAfschot, + csvPathAanvragenAfschotPartij, + csvPathAfschotMelding, + csvPathdataRapportGegevens, + csvPathDiersoort, + csvPathErkenningWBE, + csvPathGeslacht, + csvPathIdentificaties, + csvPathKboWbe, + csvPathLeeftijd, + csvPathMeldingsformulier, + csvPathOnderkaak, + csvPathRapport, + csvPathSchade, + csvPathStaal, + csvPathVerbandKboWbe) - unlink(paste0(temp_dir_update, "E_Loket"), recursive = TRUE) - unlink(paste0(temp_dir_update, "INBO"), recursive = TRUE) + unlink(paste0(temp_dir_update, "/E_Loket"), recursive = TRUE) + unlink(paste0(temp_dir_update, "/INBO"), recursive = TRUE) + unlink(temp_dir_update, recursive = TRUE) + unlink(paste0(bo_dir, "/Basis_Scripts/"), force = TRUE, expand = TRUE) } #make labeltypes @@ -173,7 +177,7 @@ label_selecter <- function(bo_dir = "~/Github/backoffice-wild-analyse/", label_check <- label_check %>% dplyr::mutate(label = 1, - numeric = as.numeric(1)) %>% + numeric = as.numeric(1)) %>% dplyr::select(-X1) ##Make progress bar @@ -188,7 +192,7 @@ label_selecter <- function(bo_dir = "~/Github/backoffice-wild-analyse/", label_check <- label_check %>% dplyr::mutate(label = l, - numeric = as.numeric(l)) + numeric = as.numeric(l)) ##Make list if(is.na(label_check$numeric)){ print(paste0(l, " is a character")) @@ -204,7 +208,7 @@ label_selecter <- function(bo_dir = "~/Github/backoffice-wild-analyse/", label_list2 <- c(l, l3) labeltypes <- substr(l, 8, nchar(l)-6) jaren <- substr(l, 4, 7) - } + } }else{ print(paste0(l, " is numeric")) l2 <- str_pad(string = l, 6, "0", side = "left") @@ -270,7 +274,7 @@ label_selecter <- function(bo_dir = "~/Github/backoffice-wild-analyse/", output_temp <- output_temp %>% dplyr::mutate(AM_NEW = TRUE, - AM_NEW_LABEL = AM_NEW_LABEL2) + AM_NEW_LABEL = AM_NEW_LABEL2) } ##Toegekende labels @@ -281,7 +285,7 @@ label_selecter <- function(bo_dir = "~/Github/backoffice-wild-analyse/", output_temp <- output_temp %>% dplyr::mutate(TL_NEW = TRUE, - TL_NEW_LABEL = TL_NEW_LABEL2) + TL_NEW_LABEL = TL_NEW_LABEL2) } }else{ output_temp <- data.frame(INPUTLABEL, LABELTYPE, JAAR, AM_OLD, AM_OLD_LABEL, TL_OLD, TL_OLD_LABEL, TL_CLEANED, TL_CLEANED_LABEL, DMOG, DMOG_LABEL, DMOG_GEO,DMOG_GEO_LABEL) @@ -297,7 +301,7 @@ label_selecter <- function(bo_dir = "~/Github/backoffice-wild-analyse/", output_temp <- output_temp %>% dplyr::mutate(AM_OLD = TRUE, - AM_OLD_LABEL = AM_OLD_LABEL2) + AM_OLD_LABEL = AM_OLD_LABEL2) } ##Toegekende labels @@ -308,7 +312,7 @@ label_selecter <- function(bo_dir = "~/Github/backoffice-wild-analyse/", output_temp <- output_temp %>% dplyr::mutate(TL_OLD = TRUE, - TL_OLD_LABEL = TL_OLD_LABEL2) + TL_OLD_LABEL = TL_OLD_LABEL2) } ##Toekenningen_Cleaned @@ -319,7 +323,7 @@ label_selecter <- function(bo_dir = "~/Github/backoffice-wild-analyse/", output_temp <- output_temp %>% dplyr::mutate(TL_CLEANED = TRUE, - TL_CLEANED_LABEL = TL_CLEANED_LABEL2) + TL_CLEANED_LABEL = TL_CLEANED_LABEL2) } ##Dieren_met_onderkaakgegevens @@ -330,7 +334,7 @@ label_selecter <- function(bo_dir = "~/Github/backoffice-wild-analyse/", output_temp <- output_temp %>% dplyr::mutate(DMOG = TRUE, - DMOG_LABEL = DMOG_LABEL2) + DMOG_LABEL = DMOG_LABEL2) } ##Dieren_met_onderkaakgegevens_Georef @@ -341,7 +345,7 @@ label_selecter <- function(bo_dir = "~/Github/backoffice-wild-analyse/", output_temp <- output_temp %>% dplyr::mutate(DMOG_GEO = TRUE, - DMOG_GEO_LABEL = DMOG_GEO_LABEL2) + DMOG_GEO_LABEL = DMOG_GEO_LABEL2) } #Outputs Samenvoegen From 267576746e87495f51b70b096f26afe4bda92aee Mon Sep 17 00:00:00 2001 From: Sander Devisscher Date: Tue, 20 Aug 2024 13:15:53 +0200 Subject: [PATCH 04/11] Create label_selecter.Rd #62 --- man/label_selecter.Rd | 96 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 man/label_selecter.Rd diff --git a/man/label_selecter.Rd b/man/label_selecter.Rd new file mode 100644 index 0000000..4e5228a --- /dev/null +++ b/man/label_selecter.Rd @@ -0,0 +1,96 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/label_selecter.R +\name{label_selecter} +\alias{label_selecter} +\title{label_selecter} +\usage{ +label_selecter( + label, + update = FALSE, + label_type, + jaar, + soort, + bo_dir = "~/Github/backoffice-wild-analyse/" +) +} +\arguments{ +\item{'label'}{een character (lijst) met labelnummer(s) die dienen onderzocht te worden. Dit kan in 3 vormen (volgnummer, met streepjes of zonder streepjes) of een combinatie van deze vormen aangeleverd worden} + +\item{'update'}{een boolean die aangeeft of ook de nog niet wegeschreven dwh - bestanden moeten worden gecontroleerd.} + +\item{'label_type'}{een een character (lijst) met labeltypes die dienen onderzocht te worden.} + +\item{'jaar'}{een numerieke (lijst) van jaren die dienen onderzocht te worden.} + +\item{'soort'}{een character van de soort die onderzocht dient te worden.} + +\item{'bo_dir'}{een character met de directory waar de backoffice-wild-analyse repository staat.} +} +\value{ +Een dataframe met de volgende kolommen: +\itemize{ +\item INPUTLABEL: de input label +\item LABELTYPE: de labeltype(s) die onderzocht worden +\item JAAR: het jaar waarin de labels onderzocht worden +\item AM_OLD: een boolean die aangeeft of de label(s) in AfschotMelding voorkomen \strong{voor} de update van DWH_Connect +\item AM_OLD_LABEL: de label(s) die in AfschotMelding voorkomen \strong{voor} de update van DWH_Connect +\item TL_OLD: een boolean die aangeeft of de label(s) in ToegekendeLabels voorkomen \strong{voor} de update van DWH_Connect +\item TL_OLD_LABEL: de label(s) die in ToegekendeLabels voorkomen \strong{voor} de update van DWH_Connect +\item TL_CLEANED: een boolean die aangeeft of de label(s) in Toekenningen_Cleaned voorkomen +\item TL_CLEANED_LABEL: de label(s) die in Toekenningen_Cleaned voorkomen +\item DMOG: een boolean die aangeeft of de label(s) in Dieren_met_onderkaakgegevens voorkomen +\item DMOG_LABEL: de label(s) die in Dieren_met_onderkaakgegevens voorkomen +\item DMOG_GEO: een boolean die aangeeft of de label(s) in Dieren_met_onderkaakgegevens_Georef voorkomen +\item DMOG_GEO_LABEL: de label(s) die in Dieren_met_onderkaakgegevens_Georef voorkomen +\emph{Als \code{update = TRUE} worden de volgende kolommen toegevoegd:} +\item AM_NEW: een boolean die aangeeft of de label(s) in AfschotMelding voorkomen \strong{na} de update van DWH_Connect +\item AM_NEW_LABEL: de label(s) die in AfschotMelding voorkomen \strong{na} de update van DWH_Connect +\item TL_NEW: een boolean die aangeeft of de label(s) in ToegekendeLabels voorkomen \strong{na} de update van DWH_Connect +\item TL_NEW_LABEL: de label(s) die in ToegekendeLabels voorkomen \strong{na} de update van DWH_Connect +} +} +\description{ +Deze functie onderzoekt of de labels bestaan in de datasets AfschotMelding (AM), ToegekendeLabels (TL), Toekenningen_Cleaned (TL_Cleaned), Dieren_met_onderkaakgegevens (DMOG), Dieren_met_onderkaakgegevens_Georef (DMOGG). +} +\details{ +De parameter \code{label_type}, \code{jaar} en \code{soort} zijn enkel relevant als één van +de labels de vorm 'volgnummer' heeft. Wanneer deze parameter niet gespecifieerd +worden zal een default waarde voor het jaar (2013 t.e.m. max(AfschotMelding$Jaartal)) +en label_type (c("REEGEIT", "REEKITS", "REEBOK", "WILD ZWIJN", "DAMHERT", "EDELHERT")) +gebruikt worden. Wanneer soort gespecifieerd is zal de lijst van labeltypes +beperkt worden tot deze die op de soort betrekking hebben. Voor ree bvb wordt dit reekits, reegeit en reebok. + +De parameters \code{label}, \code{label_type}, \code{jaar} en \code{soort} kunnen als lijst aangeleverd worden. + +De parameters \code{label_type}, \code{jaar} en \code{soort} zijn niet hoofdlettergevoelig. + +\code{bo_dir} is de directory waar de backoffice-wild-analyse repository staat. +De functie checkt namelijk of de labels voorkomen in de lokale versie van de backoffice-wild-analyse repository. +Hiervoor is het belangrijk dat de backoffice-wild-analyse repository lokaal aanwezig is en de laatste versie gepulled is. + +\code{update} is een boolean die aangeeft of de nog niet wegeschreven dwh - bestanden moeten worden gecontroleerd. +om dit te kunnen lopen is een verbinding met de DWH nodig. Dit is enkel mogelijk als je met de VPN van het INBO verbonden bent. +Of als je aanwezig bent op een vestiging van de Vlaamse Overheid (VAC). +} +\examples{ +\dontrun{ +#enkel label: + label <- c(1234, "ANB2016REEGEIT001234", "ANB-2016-REEGEIT001234") + output <- label_selecter(label) + +#label & labeltype + label <- c(1234, "ANB2016REEGEIT001234", "ANB-2016-REEGEIT001234") + labeltype <- c("reegeit", "REEBOK") + output <- label_selecter(label, label_type = labeltype) + +#label & jaar & soort + label <- c(1234, "ANB2016REEGEIT001234", "ANB-2016-REEGEIT001234") + soort <- "ree" + jaar <- c(2018, 2019) + output <- label_selecter(label, jaar = jaar , soort = soort) +} +} +\author{ +Sander Devisscher +} +\concept{other} From c6f05c4c3af7d35442885442c6a82452efcff066 Mon Sep 17 00:00:00 2001 From: Sander Devisscher Date: Tue, 20 Aug 2024 13:16:02 +0200 Subject: [PATCH 05/11] Update NAMESPACE #62 --- NAMESPACE | 1 + 1 file changed, 1 insertion(+) diff --git a/NAMESPACE b/NAMESPACE index 9d56c7f..3d1ef91 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -14,6 +14,7 @@ export(download_gdrive_if_missing) export(download_seq_media) export(install_sp) export(label_converter) +export(label_selecter) importClassesFrom(sp,CRS) importFrom(magrittr,"%>%") importFrom(sp,CRS) From 7e64c1b1e0ae8601e0067e4cce655810ebbf6988 Mon Sep 17 00:00:00 2001 From: Sander Devisscher Date: Tue, 20 Aug 2024 13:20:37 +0200 Subject: [PATCH 06/11] add readr #62 --- DESCRIPTION | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index da1cf5a..f90d946 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -36,4 +36,5 @@ Imports: units (>= 0.8.5), sp (>= 2.1.4), mapview (>= 2.11.2), - osmdata (>= 0.2.5) + osmdata (>= 0.2.5), + readr (>= 2.1.5) From 339bfc5bb1c5d63eeedb01db6198ce0d8ecacaf5 Mon Sep 17 00:00:00 2001 From: Sander Devisscher Date: Tue, 20 Aug 2024 13:21:03 +0200 Subject: [PATCH 07/11] fix devtools::check() warnings #62 --- R/label_selecter.R | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/R/label_selecter.R b/R/label_selecter.R index 67944e7..c49ecf3 100644 --- a/R/label_selecter.R +++ b/R/label_selecter.R @@ -2,12 +2,12 @@ #' #' @description Deze functie onderzoekt of de labels bestaan in de datasets AfschotMelding (AM), ToegekendeLabels (TL), Toekenningen_Cleaned (TL_Cleaned), Dieren_met_onderkaakgegevens (DMOG), Dieren_met_onderkaakgegevens_Georef (DMOGG). #' -#' @param 'label' een character (lijst) met labelnummer(s) die dienen onderzocht te worden. Dit kan in 3 vormen (volgnummer, met streepjes of zonder streepjes) of een combinatie van deze vormen aangeleverd worden -#' @param 'update' een boolean die aangeeft of ook de nog niet wegeschreven dwh - bestanden moeten worden gecontroleerd. -#' @param 'label_type' een een character (lijst) met labeltypes die dienen onderzocht te worden. -#' @param 'jaar' een numerieke (lijst) van jaren die dienen onderzocht te worden. -#' @param 'soort' een character van de soort die onderzocht dient te worden. -#' @param 'bo_dir' een character met de directory waar de backoffice-wild-analyse repository staat. +#' @param label een character (lijst) met labelnummer(s) die dienen onderzocht te worden. Dit kan in 3 vormen (volgnummer, met streepjes of zonder streepjes) of een combinatie van deze vormen aangeleverd worden +#' @param update een boolean die aangeeft of ook de nog niet wegeschreven dwh - bestanden moeten worden gecontroleerd. +#' @param label_type een een character (lijst) met labeltypes die dienen onderzocht te worden. +#' @param jaar een numerieke (lijst) van jaren die dienen onderzocht te worden. +#' @param soort een character van de soort die onderzocht dient te worden. +#' @param bo_dir een character met de directory waar de backoffice-wild-analyse repository staat. #' #' @details #' De parameter `label_type`, `jaar` en `soort` zijn enkel relevant als één van From 1809db541b44361b7f1d093b4e635d65385046fc Mon Sep 17 00:00:00 2001 From: Sander Devisscher Date: Tue, 20 Aug 2024 13:21:18 +0200 Subject: [PATCH 08/11] Update label_selecter.Rd #62 --- man/label_selecter.Rd | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/man/label_selecter.Rd b/man/label_selecter.Rd index 4e5228a..2d0a172 100644 --- a/man/label_selecter.Rd +++ b/man/label_selecter.Rd @@ -14,17 +14,17 @@ label_selecter( ) } \arguments{ -\item{'label'}{een character (lijst) met labelnummer(s) die dienen onderzocht te worden. Dit kan in 3 vormen (volgnummer, met streepjes of zonder streepjes) of een combinatie van deze vormen aangeleverd worden} +\item{label}{een character (lijst) met labelnummer(s) die dienen onderzocht te worden. Dit kan in 3 vormen (volgnummer, met streepjes of zonder streepjes) of een combinatie van deze vormen aangeleverd worden} -\item{'update'}{een boolean die aangeeft of ook de nog niet wegeschreven dwh - bestanden moeten worden gecontroleerd.} +\item{update}{een boolean die aangeeft of ook de nog niet wegeschreven dwh - bestanden moeten worden gecontroleerd.} -\item{'label_type'}{een een character (lijst) met labeltypes die dienen onderzocht te worden.} +\item{label_type}{een een character (lijst) met labeltypes die dienen onderzocht te worden.} -\item{'jaar'}{een numerieke (lijst) van jaren die dienen onderzocht te worden.} +\item{jaar}{een numerieke (lijst) van jaren die dienen onderzocht te worden.} -\item{'soort'}{een character van de soort die onderzocht dient te worden.} +\item{soort}{een character van de soort die onderzocht dient te worden.} -\item{'bo_dir'}{een character met de directory waar de backoffice-wild-analyse repository staat.} +\item{bo_dir}{een character met de directory waar de backoffice-wild-analyse repository staat.} } \value{ Een dataframe met de volgende kolommen: From ae4da3e5540940d7bfb24b0d946e744795dde755 Mon Sep 17 00:00:00 2001 From: Sander Devisscher Date: Tue, 20 Aug 2024 13:23:01 +0200 Subject: [PATCH 09/11] Increment version number to 1.2.0 --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index f90d946..5233783 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: fistools Title: Tools & data used for wildlife management & invasive species in Flanders -Version: 1.1.4 +Version: 1.2.0 Authors@R: c( person(given = "Sander", middle = "", family = "Devisscher", "sander.devisscher@inbo.be", role = c("aut", "cre"), comment = c(ORCID = "0000-0003-2015-5731")), From 7eb1abfc665dd5ba34dc77ddb14dfd418be43b02 Mon Sep 17 00:00:00 2001 From: Sander Devisscher Date: Tue, 20 Aug 2024 13:33:05 +0200 Subject: [PATCH 10/11] add error handling failed update #62 --- R/label_selecter.R | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/R/label_selecter.R b/R/label_selecter.R index c49ecf3..bbd2651 100644 --- a/R/label_selecter.R +++ b/R/label_selecter.R @@ -97,10 +97,17 @@ label_selecter <- function(label, dir.create(paste0(temp_dir_update, "/E_Loket"), recursive = TRUE, showWarnings = FALSE) dir.create(paste0(temp_dir_update, "/INBO"), recursive = TRUE, showWarnings = FALSE) - source(paste0(bo_dir,"Basis_Scripts/DWH_connect.R"), - local = TRUE, - verbose = TRUE, - chdir = TRUE) + # handle a failure with trycatch + tryCatch({ + # download data from DWH + source(paste0(bo_dir,"Basis_Scripts/DWH_connect.R"), + local = TRUE, + verbose = TRUE, + chdir = TRUE) + }, error = function(e) { + warning("DWH_connect.R failed to run >> DWH niet upgedatet") + update <<- FALSE + }) remove(dataAanvragenAfschot, dataAanvragenAfschotPartij, From 34dc9fd87f73df63ddb9c4fe6fea21982ae39fd3 Mon Sep 17 00:00:00 2001 From: Sander Devisscher Date: Tue, 20 Aug 2024 13:53:52 +0200 Subject: [PATCH 11/11] Update label_selecter.R #63 --- R/label_selecter.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/label_selecter.R b/R/label_selecter.R index bbd2651..1381faf 100644 --- a/R/label_selecter.R +++ b/R/label_selecter.R @@ -218,7 +218,7 @@ label_selecter <- function(label, } }else{ print(paste0(l, " is numeric")) - l2 <- str_pad(string = l, 6, "0", side = "left") + l2 <- stringr::str_pad(string = l, 6, "0", side = "left") label_list4 <- NULL label_list3a <- NULL for(lt in labeltypes){