diff --git a/moneos_2025/100_watervogels/10_moneos_watervogels_data.Rmd b/moneos_2025/100_watervogels/10_moneos_watervogels_data.Rmd new file mode 100644 index 0000000..6e532b6 --- /dev/null +++ b/moneos_2025/100_watervogels/10_moneos_watervogels_data.Rmd @@ -0,0 +1,669 @@ +--- +params: + hoofdstuk: "100_watervogels" +knit: (function(inputFile, ...) { + rmarkdown::render(inputFile, + output_dir = paste0(rmarkdown::yaml_front_matter(inputFile)$params$hoofdstuk, "/output"))}) +title: "watervogeldata" +output: word_document +editor_options: + chunk_output_type: console +--- + +```{r setup, include=FALSE} + +knitr::opts_chunk$set(echo = FALSE, error=FALSE, warning=FALSE, message=FALSE, cache=FALSE) + +``` + +```{r libraries} + +library(tidyverse) +library(lubridate) +library(inbodb) ### Read data from INBO databases (SQL Server) with R - see https://tutorials.inbo.be/tutorials/r_database_access/ +library(DBI) ### A database interface definition for communication between R and relational database management systems. +library(rprojroot) ## workaround pad +library(openxlsx) +library(waldo) + +``` + +```{r pad} + +# inlezen van variabelen +# pad naar data : pad_data +# pad naar tabellen : pad_tabellen +# pad naar figuren : pad_figuren + +source(find_root_file("../pad.R", criterion = is_rstudio_project)) + +pad_data <- maak_pad(params$hoofdstuk, "data") +pad_figuren <- maak_pad(params$hoofdstuk, "figuren") +pad_tabellen <- maak_pad(params$hoofdstuk, "tabellen") + +``` + +###Databank bevragen + +```{r inlezen alle data Watervogeldatabank} +#new procedure based on script N. Vanermen 'Watervogels_analyse_2025 - see amazon PRJ-Watervogels +#aangepast om Zeeschelde analyseset correct te bevragen en aan te vullen met MIDMA + + + +con <- inbodb::connect_inbo_dbase("W0004_00_Waterbirds") + + + +########## toelichting bij query########## + +# je ziet deze globale structuur: +# +# with MIDMA as () +# , +# ZSCH as () +# , +# BASE as ( +# SELECT * FROM MIDMA +# UNION +# SELECT * FROM ZSCH +# ) +# +# in het eerste deel creëer je eigenlijk twee tijdelijke tabellen MIDMA en ZSCH +# (via een sql-structuur die gekend is als een Common Table Expression of CTE) +# +# in het tweede deel voeg je die datasets samen met de UNION operator. +# UNION verwijdert automatisch duplicaten (itt UNION ALL die alle records behoudt) +# +# Met een UNION haal je er alleen de echte duplicatien uit (dus 1 telling die +# voor twee analysesets gebruikt wordt). +# Er zijn echter ook gevallen waarbij er twee aparte tellingen zijn voor één +# gebied en waarbij in de ene analyseset de ene en in de andere analyseset de +# andere telling gebruikt wordt. In die gevallen krijgt de ZSCH-telling de +# voorkeur en wordt de MIDMA-telling uit de dataset verwijderd. Dat gebeurt in +# het laatste deel van de query met de LEFT JOIN op de BASE-dataset +# +# meer detail over het MIDMA-deel: +# - dit zijn de tellingen van de MIDMA-analysesets +# - hieronder extra join toegevoegd op een subquery "loc" waarmee de +# locaties beperkt worden tot deze die relevant zijn voor Schelde/Sigma. Je +# kan dat uiteraard ook achteraf in R zelf doen, maar hiermee wordt het aantal +# records dat binnengehaald wordt met 2/3 verkleind en gaat het ook veel +# sneller. Als je extra locatiegroepen of -groeptypes wil toevoegen moet je +# dat dus hier in de query zelf doen (invoegen line 132) +# # inner join (select LocationWVKey +# from [dbo].[FactLocationGroup] +# where 1 = 1 +# AND IsDeleted = 0 +# AND (LocationGroupCode in ('ZS','ZR','ZSVAL','SEST','WETL','NOH', 'BW','DM','DU','KM','KBR','NG','OV','WZ') +# OR LocationGroupTypeCode in ('SCLUS')))loc on loc.LocationWVKey = f.LocationWVKey +# +# +# - bemerk dat ik de taxongroupcode ook heb toegevoegd aan de basisdataset +# - de wintertellingen van de Zeeschelde worden ook beschouwd als +# midmaandelijkse tellingen en leiden dus tot dubbels als we de data +# samenvoegen met de ZSCH-analyseset. Maar met die UNION lossen we dat dus op +# +# meer detail over het ZSCH-deel: +# - dit zijn de tellingen van de ZSCH-analyseset +# - bevat dus ook de zomertellingen + +WV_DB <- dbGetQuery(con, + "with MIDMA AS +( +SELECT SU.SurveyCode as ProjectCode + , SU.SurveyNaam as Project + , L.RegioWVCode as RegioCode + , L.RegioWVNaam as Regio + , L.LocationWVCode as GebiedsCode + , L.LocationWVNaam as Gebied + , SS.Seasonname as Telseizoen + , E.EventCode as TellingCode + , E.EventLabel as Telling + , E.SortOrder as TellingSortOrder + , S.sampleDate as Teldatum + , S.CoverageCode as Telvolledigheid + , T.TaxonGroupCode + , T.TaxonGroupDescription + , T.Commonname as NedNaam + , T.scientificname as WetNaam + , F.Taxoncount as Aantal +FROM FactAnalyseSetOccurrence F + + inner join DimSurvey SU on SU.surveykey = F.surveykey + inner join DimLocationWV L on L.locationwvkey = F.locationwvkey + inner join DimSeason SS on SS.Seasonkey = F.seasonkey + inner join DimEvent E on E.eventkey = F.eventkey + inner join DimSample S on F.samplekey = S.samplekey + inner join DimTaxonWV T on T.taxonwvkey = F.taxonwvkey +WHERE 1=1 + AND S.samplestatus = 'CHECKED' /**alleen gevalideerde records**/ + AND S.coveragecode not in ('-', 'N') /**niet getelde tellingen zijn irrelevant**/ + AND F.taxoncount > 0 + AND F.Analysesetkey in (2, 3, 4) +) +, +ZSCH as +( +SELECT SU.SurveyCode as ProjectCode + , SU.SurveyNaam as Project + , L.RegioWVCode as RegioCode + , L.RegioWVNaam as Regio + , L.LocationWVCode as GebiedsCode + , L.LocationWVNaam as Gebied + , SS.Seasonname as Telseizoen + , E.EventCode as TellingCode + , E.EventLabel as Telling + , E.SortOrder as TellingSortOrder + , S.sampleDate as Teldatum + , S.CoverageCode as Telvolledigheid + , T.TaxonGroupCode + , T.TaxonGroupDescription + , T.Commonname as NedNaam + , T.scientificname as WetNaam + , F.Taxoncount as Aantal +FROM FactAnalyseSetOccurrence F + inner join DimSurvey SU on SU.surveykey = F.surveykey + inner join DimLocationWV L on L.locationwvkey = F.locationwvkey + inner join DimSeason SS on SS.Seasonkey = F.seasonkey + inner join DimEvent E on E.eventkey = F.eventkey + inner join DimSample S on F.samplekey = S.samplekey + inner join DimTaxonWV T on T.taxonwvkey = F.taxonwvkey +WHERE 1=1 + AND S.samplestatus = 'CHECKED' /**alleen gevalideerde records**/ + AND S.coveragecode not in ('-', 'N') /**niet getelde tellingen zijn irrelevant**/ + AND F.taxoncount > 0 + AND F.Analysesetkey in (1) +) +--UNION removes only true duplicates (one sample used in multiple analysissets) +, BASE as +( +SELECT * FROM MIDMA + UNION + SELECT * FROM ZSCH +) + +--subquery checks for locations with two distinct samples in the BASE-data. +--These are not duplicates in the strict sense, but for analysis only the ZSCH-sample should be used, the MIDMA-sample is dropped +SELECT * +FROM BASE b +LEFT JOIN (SELECT DISTINCT m.GebiedsCode + , m.Gebied + , m.Teldatum + FROM MIDMA m + FULL JOIN ZSCH z ON m.GebiedsCode = z.GebiedsCode + AND m.Telseizoen = z.Telseizoen + AND m.Telling = z.Telling + WHERE m.ProjectCode <> z.ProjectCode)tmp ON tmp.Gebiedscode = b.GebiedsCode AND tmp.Teldatum = b.Teldatum AND b.ProjectCode ='MIDMA' +WHERE tmp.Gebied IS NULL") + + + +WVgroep <- dbGetQuery(con, + "SELECT + TW.commonname as NedNaam + ,TW.TaxonGroupCode as Groepscode + ,TW.TaxonGroupDescription as Groep + FROM DimTaxonWV TW") + +Gebieden_ZS <- dbGetQuery(con, + "select LocationGroupCode +, LocationGroupNaam +, LocationGroupTypeCode +, LocationGroupTypeNaam +, LocationWVCode +, LocationWVNaam +, StartDate +, EndDate +from [dbo].[FactLocationGroup] +where 1 = 1 +AND IsDeleted = 0 +AND LocationGroupCode in ('ZS','ZR','ZSVAL','SEST','WETL','NOH')" +) + +Clusters_Sigma <- dbGetQuery(con, + "select LocationGroupCode +, LocationGroupNaam +, LocationGroupCode +, LocationGroupTypeCode +, LocationGroupTypeNaam +, LocationWVCode +, LocationWVNaam +, StartDate +, EndDate +from [dbo].[FactLocationGroup] +where 1 = 1 +AND IsDeleted = 0 +AND LocationGroupTypeNaam in ('Sigma-clusters')" +) + +Clusters_ZS <- dbGetQuery(con, + "select LocationGroupCode +, LocationGroupNaam +, LocationGroupTypeNaam +, LocationGroupTypeCode +, LocationWVCode +, LocationWVNaam +, StartDate +, EndDate +from [dbo].[FactLocationGroup] +where 1 = 1 +AND IsDeleted = 0 +AND LocationGroupTypeNaam in ('KRW-zones Zeeschelde (analyse)') +" +) + +dbDisconnect(con) + +WV_DB <- WV_DB %>% + select(-((ncol(WV_DB)-2):ncol(WV_DB))) +# +#### basisfiles opslaan + +# +WV_DB %>% + write_delim(paste0(pad_data, "WV_DB_00.csv"), + delim = ";") +Gebieden_ZS %>% + write_delim(paste0(pad_data, "Gebieden_ZS_00.csv"), + delim = ";") +Clusters_ZS %>% + write_delim(paste0(pad_data, "Clusters_ZS_MONEOS_00.csv"), + delim = ";") +Clusters_Sigma %>% + write_delim(paste0(pad_data, "Clusters_Sigma_00.csv"), +delim = ";") + +### Basisfiles openen zonder databank +# +# WV_DB <- +# read_delim(paste0(pad_data, "WV_DB_00.csv"), +# delim = ";") +# Gebieden_ZS <- +# read_delim(paste0(pad_data, "Gebieden_ZS_00.csv"), +# delim = ";") +# Clusters_ZS <- +# read_delim(paste0(pad_data, "Clusters_ZS_MONEOS_00.csv"), +# delim = ";") +# Clusters_Sigma <- +# read_delim(paste0(pad_data, "Clusters_Sigma_00.csv"), +# delim = ";") + + + +``` + +```{r beetje verkennen} +WV_DB %>% glimpse() +WV_DB %>% distinct(ProjectCode, Project) +WV_DB %>% group_by(Project) %>% summarise(N = n()) + +scheldearm <- dplyr::filter(WV_DB, GebiedsCode == '2050810') + +verken <- dplyr::filter(WV_DB, GebiedsCode == "3156629" & + Telseizoen == "2024/25" & + Telling == "Oktober") + + +``` + +#####trofische groep koppelen + +```{r data-trofische-groep koppelen voor MONEOSrapport} + +### join met WVgroep +WV_DB <- WV_DB %>% left_join(WVgroep) + +data_trofische_groep <- + read_delim(paste0(pad_data, "Voedselgilde_exoten_Moneosrapport.csv"), + delim = ";") + +data_trofische_groep <- data_trofische_groep %>% + rename_all(tolower) %>% + rename(nednaam = species) + +# testen voor dubbels in trofische groep +# data_trofische_groep %>% +# group_by(Species, Indicator) %>% +# summarise(n = n()) %>% +# ungroup() %>% +# filter(n > 1) +# +# data_trofische_groep %>% +# group_by(Species) %>% +# summarise(n = n()) %>% +# ungroup() %>% +# filter(n > 1) + + +### toevoegen trofisch groep aan dataset +WV_DB <- + WV_DB %>% + left_join(data_trofische_groep, by = c("NedNaam" = "nednaam")) + +### list of species not included in trophic analysis MONEOS +listspecies <- WV_DB %>% + dplyr::filter(is.na(trofische_groep)) %>% + distinct(NedNaam) +##all rare species for Scheldt, not in high numbers present (of no influence for trophic trends) + +``` + + +##### gebiedsindeling T2021 toevoegen aan datasets + +```{r gebiedsindeling T2021} + +data_gebiedsindeling_T2021 <- + read_delim(paste0(pad_data, "Gebiedsindeling_T2021.csv"), + delim = ";") + +data_gebiedsindeling_T2021 <- + data_gebiedsindeling_T2021 %>% + mutate(rivier = case_when( + niveau4 == "Rupel" ~ "Rupel", + niveau4 == "GetijdeDurme" ~ "Durme", + niveau4 == "GetijdeDijle" ~ "Dijle", + niveau4 == "GetijdeZenne" ~ "Zenne", + niveau4 == "Monding" ~ "Monding", + niveau2 == "Westerschelde" ~"Westerschelde", + TRUE ~ "Zeeschelde" + )) + +data_gebiedsindeling_T2021 <- data_gebiedsindeling_T2021 %>% + rename(gebiedsgroep = krw) %>% + select("niveau1", "niveau2","niveau3", "gebiedsgroep", "rivier") %>% + distinct() %>% + dplyr::filter(gebiedsgroep != "Getijdenetes") + +knitr::kable(data_gebiedsindeling_T2021) + + +#### toevoegen gebiedsindeling EMSE aan WV_DB + +## join voorbereiden +## er is geen opdeling in de rivieren op niveau 3 of 4 uit databank te halen +## kolom met info op niveau 4 aanmaken om te kunnen koppelen + +Gebieden_ZS_MONEOS <- Gebieden_ZS %>% + dplyr::filter(LocationGroupNaam %in% c("Zeeschelde", "Zijrivieren Zeeschelde")) %>% + mutate(rivier = case_when( + LocationWVCode == "3121303" ~ "Rupel", + LocationWVCode == "4140216" ~ "Rupel", + LocationWVCode == "4140205" ~ "Rupel", + LocationWVCode == "4140217" ~ "Rupel", + LocationWVCode == "4140206" ~ "Rupel", + LocationWVCode == "2091301" ~ "Durme", + LocationWVCode == "2091305" ~ "Durme", + LocationWVCode == "2080605" ~ "Durme", + LocationWVCode == "3121003" ~ "Dijle", + LocationWVCode == "3120101" ~ "Zenne", + LocationWVCode == "3120104" ~ "Zenne", + LocationWVCode == "3121412" ~ "Zenne", + LocationWVCode == "3120103" ~ "Zenne", + TRUE ~ "Zeeschelde" + )) %>% + select(LocationWVCode, LocationWVNaam, rivier) + +Clusters_ZS_MONEOS <- Clusters_ZS %>% + left_join(Gebieden_ZS_MONEOS) %>% + mutate(niveau3 = case_when ( + rivier == "Rupel" ~ "Rupel", + rivier == "Durme" ~ "Durme", + rivier == "Zenne"~ "Zoet zijrivier", + rivier == "Dijle"~ "Zoet zijrivier", + LocationGroupCode == "ZS4" ~ "Saliniteitsgradient", + LocationGroupCode == "ZS3" ~ "Oligohalien", + LocationGroupCode == "ZS2" ~ "Zoet lang verblijf", + LocationGroupCode == "ZS1" ~ "Zoet kort verblijf", + TRUE ~ "nvt" + ))%>% + left_join(data_gebiedsindeling_T2021) %>% + select(-gebiedsgroep) + +### gebiedsklassen hernoemen +Gebieden_ZS <- Gebieden_ZS %>% + mutate(Gebiedsklasse = ifelse(LocationGroupCode %in% c("SEST","WETL"), "Sigmagebied", + ifelse(LocationGroupCode == "ZSVAL", "Valleigebied", + if_else(LocationGroupCode %in% c("ZS","ZR"), "Estuarium", + if_else(LocationGroupCode == "NOH", "Haven", NA))))) %>% + rename_all(tolower) %>% + rename(gebiedsklassecode = locationgroupcode) %>% + rename(zone = locationgroupnaam) %>% + rename(analyseset = locationgrouptypecode) %>% + rename(gebiedscode = locationwvcode) %>% + rename(gebied = locationwvnaam) + + +### check: +# Gebieden_ZS %>% +# anti_join(., WV_DB, by = c("locationwvnaam" = "gebied")) %>% +# select(locationwvnaam) %>% +# pull() +# ### '0' geen mismatches: alle gebieden zitten ook in de WV_DB + +Clusters_ZS_MONEOS <- Clusters_ZS_MONEOS %>% + rename_all(tolower) %>% + rename(krwcode = locationgroupcode) %>% + rename(krwzone = locationgroupnaam) %>% + rename(analyseset2 = locationgrouptypecode) %>% + rename(gebiedscode = locationwvcode) %>% + rename(gebied = locationwvnaam) %>% + select(-locationgrouptypenaam) + +##samenvoegen van gebiedsinfo + +Gebieden_ZS <- Gebieden_ZS %>% + left_join(Clusters_ZS_MONEOS) + + + +WV_DB <- + WV_DB %>% + dplyr::left_join(Gebieden_ZS, by = c("GebiedsCode" = "gebiedscode")) %>% + mutate(niveau3 = fct_relevel(niveau3, c("Saliniteitsgradient","Oligohalien","Zoet lang verblijf","Zoet kort verblijf", "Rupel","Durme", "Zoet zijrivier"))) %>% + rename (gebiedMONEOS = gebied) + + +WV_DB %>% + distinct(niveau3) + + + +``` + +###correcties op dataset +```{r correcties-Waterbirds} + +# checken voor dubbels in de dataset +dubbels <- WV_DB %>% + group_by_at(vars(-Aantal)) %>% + mutate(n = n()) %>% + ungroup() %>% + dplyr::filter(n>1) %>% + arrange(Gebied, Telseizoen, Telling, Teldatum, NedNaam, ProjectCode) + +# Correctie hiervoor +WV_DB <- + WV_DB %>% + group_by_at(vars(-Aantal)) %>% + summarise(Aantal = max(Aantal)) %>% # maximum van de dubbele tellingen + ungroup() + + +## Telzones op nederlands grondgebied worden niet meegeteld (strik gesproken geen Zeeschelde). Dit gaat over de teltrajecten (9999999 en 9999998) gelegen op Nederlands grondgebied. Deze teltrajecten zitten niet in de gebiedsgroepen file +##Correctie Groot Schoor Hamme +## boottelling Schelde St. Amands - Oude Briel (LO) bevat infeite de vogels die foerageren in ontpoldering Groot Schoor Hamme +## voor 2022,2023,2024 houden we dezelfde aantallen als 2021 in teltraject +## Sigmagebied wordt niet goed geteld; we rekenen de vogelaantallen voor de ontpoldering als deze geteld op Zeeschelde vermindert met baseline aantallen van 2021 in teltraject +## Deze correctie werd gedaan in rapportage 2024 - men kan zich afvragen of we dat uberhaupt moet beginnen corrigeren - de vogels maken gebruik van beide deelgebieden. Dit zal een overschatting geven van de aantallen maar deze uitwisseling is er overal langs de Zeeschelde. Het blijft wel jammer dat het effect van Sigma niet volledig goed kan gedocumenteerd worden doordat zeker in de eeste jaren werd geteld bij ongunstig getij. + +# +# StAmandstotOudeBriel2020 <- +# WV_DB %>% +# dplyr::filter(GebiedsCode == 4143122) %>% +# dplyr::filter(Telseizoen == "2020/21") +# +# years <- years(1) +# StAmandstotOudeBriel2021false <- +# StAmandstotOudeBriel2020 %>% +# mutate(Telseizoen = str_replace_all(Telseizoen, "2020/21", "2021/22")) %>% +# mutate(Teldatum = Teldatum +years) +# +# StAmandstotOudeBriel2022false <- +# StAmandstotOudeBriel2021false %>% +# mutate(Telseizoen = str_replace_all(Telseizoen, "2021/22", "2022/23")) %>% +# mutate(Teldatum = Teldatum +years) +# +# StAmandstotOudeBriel2023false <- +# StAmandstotOudeBriel2022false %>% +# mutate(Telseizoen = str_replace_all(Telseizoen, "2022/23", "2023/24")) %>% +# mutate(Teldatum = Teldatum +years) +# +# #GrootSchorberekend te gebruiken voor Sigma-estuarien ontpoldering Groot Schoor Hamme ipv landtelling +# #bergeenden zijn nu wel onderschatting +# +# #pas dit ook aan in Sigma dataset! +# +# GrootSchorberekend2021 <- +# WV_DB %>% +# dplyr::filter(GebiedsCode == 4143122) %>% +# dplyr::filter(Telseizoen == "2021/22") %>% +# left_join(StAmandstotOudeBriel2020, by = c("NedNaam","Telling"), suffix = c("_winter2021", "_Baseline2020"),keep = TRUE) %>% +# mutate(across(c(Aantal_Baseline2020), ~replace_na(., 0))) %>% +# mutate(Aantal_diff = Aantal_winter2021 - Aantal_Baseline2020) %>% +# dplyr::filter(Aantal_diff >= 0) %>% +# select(ends_with("winter2021"), Aantal_diff) %>% +# select(-Aantal_winter2021) %>% +# rename_with(~ str_remove(.x, "_winter2021")) %>% +# rename(Aantal = Aantal_diff) %>% +# mutate(GebiedsCode = if_else(GebiedsCode == "4143122", "2091308", GebiedsCode)) %>% +# mutate(Gebied = if_else(Gebied == "Schelde St. Amands - Oude Briel (LO)", "Groot Schoor HAMME", Gebied)) %>% +# mutate(Analyseset = if_else(Analyseset == "boottelling", "SIGMA_MIDMA", Analyseset)) +# +# GrootSchorberekend2022 <- +# WV_DB %>% +# dplyr::filter(GebiedsCode == 4143122) %>% +# dplyr::filter(Telseizoen == "2022/23") %>% +# left_join(StAmandstotOudeBriel2020, by = c("NedNaam","Telling"), suffix = c("_winter2021", "_Baseline2020"),keep = TRUE) %>% +# mutate(across(c(Aantal_Baseline2020), ~replace_na(., 0))) %>% +# mutate(Aantal_diff = Aantal_winter2021 - Aantal_Baseline2020) %>% +# dplyr::filter(Aantal_diff >= 0) %>% +# select(ends_with("winter2021"), Aantal_diff) %>% +# select(-Aantal_winter2021) %>% +# rename_with(~ str_remove(.x, "_winter2021")) %>% +# rename(Aantal = Aantal_diff)%>% +# mutate(GebiedsCode = if_else(GebiedsCode == "4143122", "2091308", GebiedsCode)) %>% +# mutate(Gebied = if_else(Gebied == "Schelde St. Amands - Oude Briel (LO)", "Groot Schoor HAMME", Gebied)) %>% +# mutate(Analyseset = if_else(Analyseset == "boottelling", "SIGMA_MIDMA", Analyseset)) +# +# GrootSchorberekend2023 <- +# WV_DB %>% +# dplyr::filter(GebiedsCode == 4143122) %>% +# dplyr::filter(Telseizoen == "2023/24") %>% +# left_join(StAmandstotOudeBriel2020, by = c("NedNaam","Telling"), suffix = c("_winter2021", "_Baseline2020"),keep = TRUE) %>% +# mutate(across(c(Aantal_Baseline2020), ~replace_na(., 0))) %>% +# mutate(Aantal_diff = Aantal_winter2021 - Aantal_Baseline2020) %>% +# dplyr::filter(Aantal_diff >= 0) %>% +# select(ends_with("winter2021"), Aantal_diff) %>% +# select(-Aantal_winter2021) %>% +# rename_with(~ str_remove(.x, "_winter2021")) %>% +# rename(Aantal = Aantal_diff)%>% +# mutate(GebiedsCode = if_else(GebiedsCode == "4143122", "2091308", GebiedsCode)) %>% +# mutate(Gebied = if_else(Gebied == "Schelde St. Amands - Oude Briel (LO)", "Groot Schoor HAMME", Gebied)) %>% +# mutate(Analyseset = if_else(Analyseset == "boottelling", "SIGMA_MIDMA", Analyseset)) +# +# +# datathvGrootschoor %>% +# dplyr::filter(!(GebiedsCode == 2091308 & (Telseizoen == "2021/22" | Telseizoen == "2022/23" | Telseizoen == "2023/24"))) %>% +# dplyr::filter(!(GebiedsCode == 4143122 & (Telseizoen == "2021/22" | Telseizoen == "2022/23" | Telseizoen == "2023/24"))) %>% +# bind_rows(GrootSchorberekend2021, GrootSchorberekend2022,GrootSchorberekend2023) %>% +# bind_rows(StAmandstotOudeBriel2021false, StAmandstotOudeBriel2022false,StAmandstotOudeBriel2023false) %>% +# write_delim(paste0(pad_data, "datathvGrootSchoorHamme.csv"), +# delim = ";") +# +# GrootSchoorHamme <- bind_rows(GrootSchorberekend2021, GrootSchorberekend2022,GrootSchorberekend2023) +# +# WV_DB <- +# WV_DB %>% +# dplyr::filter(!(GebiedsCode == 4143122 & (Telseizoen == "2021/22" | Telseizoen == "2022/23" | Telseizoen == "2023/24"))) %>% +# bind_rows(StAmandstotOudeBriel2021false, StAmandstotOudeBriel2022false,StAmandstotOudeBriel2023false) +# +# #### ook nog aanpassen in Sigmadataset voor rapportage! +# +# WV_DB <- +# WV_DB %>% +# dplyr::filter(!(GebiedsCode == 2091308 & (Telseizoen == "2021/22" | Telseizoen == "2022/23" | Telseizoen == "2023/24"))) %>% +# bind_rows(GrootSchoorHamme) + +``` + + +```{r controle volledigheid} + +Aantaltellingenpergebied0 <- WV_DB %>% + rename_all(tolower) %>% + mutate(maand = month(teldatum)) %>% + dplyr::filter(!is.na(niveau3)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter (telseizoen == "2023/24"| + telseizoen == "2024/25") %>% + distinct(krwzone, gebiedscode, gebied, telseizoen, teldatum) %>% + count(krwzone,gebiedscode, gebied, telseizoen) + +# aantal tellingen per telseizoen ingevoerd + + +knitr::kable(Aantaltellingenpergebied0) + + +``` + + + +###datasets wegschrijven +```{r volledige dataset wegschrijven} + +WV_DB %>% + write_delim(paste0(pad_data, "WV_DB.csv"), + delim = ";") +Gebieden_ZS %>% + write_delim(paste0(pad_data, "Gebieden_ZS.csv"), + delim = ";") +Clusters_ZS %>% + write_delim(paste0(pad_data, "Clusters_ZS_MONEOS.csv"), + delim = ";") +Clusters_Sigma %>% + write_delim(paste0(pad_data, "Clusters_Sigma.csv"), + delim = ";") + + +### datasets VLIZ +## MONEOS inclusief meeuwen +## Samenvatten data per maand + + +# WV_DB_MONEOS <- + WV_DB %>% + rename_all(tolower) %>% + mutate(maand = month(teldatum)) %>% + dplyr::filter(gebiedscode %in% Clusters_ZS_MONEOS$gebiedscode) %>% + group_by(krwzone, + rivier, + telseizoen, + maand, + nednaam, + wetnaam, + trofische_groep, + exoot, + niveau1, + niveau2, + niveau3) %>% + summarise(aantal = sum(aantal)) %>% + ungroup() %>% + dplyr::select(-wetnaam)%>% + write_delim(paste0(pad_data, "Watervogels_ZeescheldeVLIZ.csv"), + delim = ";") + + +``` diff --git a/moneos_2025/100_watervogels/10_moneos_watervogels_data_oud.Rmd b/moneos_2025/100_watervogels/10_moneos_watervogels_data_oud.Rmd new file mode 100644 index 0000000..a02f64a --- /dev/null +++ b/moneos_2025/100_watervogels/10_moneos_watervogels_data_oud.Rmd @@ -0,0 +1,1556 @@ +--- +params: + hoofdstuk: "100_watervogels" +knit: (function(inputFile, ...) { + rmarkdown::render(inputFile, + output_dir = paste0(rmarkdown::yaml_front_matter(inputFile)$params$hoofdstuk, "/output"))}) +title: "watervogeldata" +output: word_document +editor_options: + chunk_output_type: console +--- + +```{r setup, include=FALSE} + +knitr::opts_chunk$set(echo = FALSE, error=FALSE, warning=FALSE, message=FALSE, cache=FALSE) + +``` + +```{r libraries} + +library(tidyverse) +library(lubridate) +#library(inborutils) ## moet dat nu inbodb worden?? +library(inbodb) +library(DBI) +library(rprojroot) ## workaround pad +library(openxlsx) +library(waldo) + +``` + +```{r pad} + +# inlezen van variabelen +# pad naar data : pad_data +# pad naar tabellen : pad_tabellen +# pad naar figuren : pad_figuren + +source(find_root_file("../pad.R", criterion = is_rstudio_project)) + +pad_data <- maak_pad(params$hoofdstuk, "data") +pad_figuren <- maak_pad(params$hoofdstuk, "figuren") +pad_tabellen <- maak_pad(params$hoofdstuk, "tabellen") + +``` + + +```{r benodigde-seizoenen} + +vroegste_seizoen <- "1991/1992" +laatste_seizoen <- "2024/2025" + +seizoenen <- + (vroegste_seizoen %>% str_sub(0, 4) %>% as.numeric):(laatste_seizoen %>% str_sub(0, 4) %>% as.numeric) %>% + paste(., {.+1} %>% as.character() %>% str_sub(3, 5), sep = "/") + +seizoenen_query <- + paste0("'", seizoenen, "'", collapse = ",") %>% + paste0("(", ., ")") + +``` + + +```{r gebiedsgroepen en gebiedsindeling T2021} +gebiedsgroepenall <- + read_delim(paste0(pad_data, "Zeeschelde_gebiedsgroepen_corrWM.csv"), + delim = ";") %>% + mutate(gebiedscode = as.character(gebiedscode)) + +gebiedsindeling_T2021 <- + read_delim(paste0(pad_data, "Gebiedsindeling_T2021.csv"), + delim = ";") + +gebiedsindeling_T2021 <- + gebiedsindeling_T2021 %>% + mutate(rivier = case_when( + niveau4 == "Rupel" ~ "Rupel", + niveau4 == "GetijdeDurme" ~ "Durme", + niveau4 == "GetijdeDijle" ~ "Dijle", + niveau4 == "GetijdeZenne" ~ "Zenne", + niveau4 == "GetijdeNete" ~ "Nete", + niveau4 == "Monding" ~ "Monding", + niveau2 == "Westerschelde" ~"Westerschelde", + TRUE ~ "Zeeschelde" + )) + +gebiedsindeling_T2021 <- gebiedsindeling_T2021 %>% + rename(gebiedsgroep = krw) %>% + select("niveau1", "niveau2","niveau3","gebiedsgroep", "rivier") %>% + distinct() + + +knitr::kable(gebiedsindeling_T2021) + +gebiedsindeling <- + gebiedsgroepenall %>% + dplyr::left_join(gebiedsindeling_T2021) %>% + mutate(niveau3 = fct_relevel(niveau3, c("Saliniteitsgradient","Oligohalien","Zoet lang verblijf","Zoet kort verblijf", "Rupel","Durme", "Zoet zijrivier"))) + # filter(gebiedsgroeptype_code != "SALZS") %>% + # filter(gebiedsgroeptype_code != "OMES") %>% + # filter(gebiedsgroeptype_code != "STRJ") + +gebiedsindeling %>% + distinct(niveau3) +gebiedsindeling %>% + write_delim(paste0(pad_data, "gebiedsindeling_watervogels_T2021join.csv"), + delim = ";") + + +gebiedsgroepen <- + read_delim(paste0(pad_data, "Zeeschelde_gebiedsgroepen_corrWM.csv"), + delim = ";") %>% + dplyr::filter(gebiedsgroeptype_code == "KRWZS") %>% + mutate(gebiedscode = as.character(gebiedscode)) + +``` + + +```{r gebiedsgroepen imputatiedataset - check} +# # gebiedsgroepenall <- +# # read_delim(paste0(pad_data, "Zeeschelde_gebiedsgroepen_corrWM.csv"), +# # delim = ";") %>% +# # mutate(gebiedscode = as.character(gebiedscode)) +# +# ## vergelijk imputatielijst met MONEOSlijst +# +# gebiedsgroepenall_old <- +# read_delim(paste0(pad_data, "Zeeschelde_gebiedsgroepen_corrWM.csv"), +# delim = ";") %>% +# mutate(gebiedscode = as.character(gebiedscode)) +# gebiedsgroepen_old <- +# read_delim(paste0(pad_data, "Zeeschelde_gebiedsgroepen_corrWM.csv"), +# delim = ";") %>% +# dplyr::filter(gebiedsgroeptype_code == "KRWZS") %>% +# mutate(gebiedscode = as.character(gebiedscode)) +# +# gebiedsgroepenall <- read.xlsx(paste0(pad_data, "FctLocationGroup_info.xlsx")) +# +# gebiedsgroepenall$StartDate <- as.Date(convertToDateTime(gebiedsgroepenall$StartDate, origin = "1899-12-31"), format = "%d-%m-%Y") +# gebiedsgroepenall$EndDate <- as.Date(convertToDateTime(gebiedsgroepenall$EndDate, origin = "1899-12-31"), format = "%d-%m-%Y") +# +# ########################################## +# ## vergelijking old dataset tijdelijke code +# ########################################## +# +# gebiedsgroepen_ZS <- gebiedsgroepenall %>% +# select(LocationWVCode, LocationWVNaam, LocationGroupNaam) %>% +# filter(LocationGroupNaam == "Zeeschelde" | LocationGroupNaam == "Zijrivieren Zeeschelde") %>% +# select(-LocationGroupNaam) +# +# gebiedsgroepen_old_ZS <- gebiedsgroepen_old %>% +# select(gebiedscode, gebiedsnaam) %>% +# rename(LocationWVCode = gebiedscode) %>% +# rename(LocationWVNaam = gebiedsnaam) +# +# differences <- waldo::compare(gebiedsgroepen_ZS, gebiedsgroepen_old_ZS) +# print(differences) +# +# differences_rows <- gebiedsgroepen_ZS %>% +# full_join(gebiedsgroepen_old_ZS, by = "LocationWVCode", suffix = c("_new", "_old")) %>% +# dplyr::filter(LocationWVNaam_new != LocationWVNaam_old) +# +# print(differences_rows) +# +# ### conclusie - exact dezelfde gebieden bevraagd dus we houden oude gebiedscodelijst aan voor MONEOS 2024 + + +``` + +```{r sigmagebieden enkel langsheen de Zeeschelde} + +##Gebiedskenmerken + +## lijst met telgebieden aangemaakt met een aantal kenmerken - file Wim +# Gebied2 <- read_delim(paste0(pad_data, "Gebieden2.csv"), +# delim = ";") +## Gebied: naam van telgebied zoals in databank +## Estuarien: 1: getijderivier, 0: geen getijderivier (estuariene Sigmaprojectgebieden: 0) +## Vallei: 1: valleigebied; 0: geen valleigebied +## Sigma: 1 Sigmaprojectgebied, 0: geen Sigmaprojectgebied +## NOHaven: 1: Natuurontwikkelingsgebieden van de haven, 0: geen NOgebied van haven +## Voor de Sigmaprojectgebieden is er bijkomende info. + +# Sigma2 <- Gebied2 %>% +# filter(Sigma == 1) %>% +# rename(gebiedsnaam = Gebied) + +gebiedsgroepenSigma <- gebiedsgroepenall %>% + dplyr::filter(gebiedsgroeptype == "Sigma-gebieden") %>% + mutate(gebiedscode = as.character(gebiedscode)) + +knitr::kable(gebiedsgroepenSigma) + +gebiedsgroepenSigma_zeeschelde <- gebiedsgroepenall %>% + dplyr::filter(gebiedsgroeptype == "Sigma-gebieden") %>% + dplyr::filter(rivier == "Zeeschelde") %>% + mutate(gebiedscode = as.character(gebiedscode)) %>% + mutate(niveau3 = case_when( + gebiedsgroep_code == "MH" ~ "Saliniteitsgradient", + gebiedsgroep_code == "OH" ~ "Oligohalien", + gebiedsgroep_code == "ZLVT"~ "Zoet lang verblijf", + gebiedsgroep_code == "ZKVT"~ "Zoet kort verblijf", + gebiedsgroep_code == "Durme"~ "Durme", + gebiedsgroep_code == "Rupel"~ "Rupel", + TRUE ~ "nvt" + )) + +knitr::kable(gebiedsgroepenSigma_zeeschelde) + +gebiedsgroepenSigma_zeeschelde %>% + write_delim(paste0(pad_tabellen, "gebiedsgroepenSigma_zeeschelde.csv"), + delim = ";") + +##vergelijking tussen de files van Wim en Gunther +# check <- Sigma2 %>% +# left_join(gebiedsgroepenSigma) +## de file van gebiedsgroepen verschilt een beetje voor de sigmagebieden in Gebied2 (basis natuurindicator) maar niet veel en je kan erover ##discussieren of je sommige gebieden kan tellen als sigmagebied ## +##Burchtse weel zoet water buffer is geen deel van Sigma (zit wel in vallei) +##NOHaveis is onbekend in watervogeltelgebieden layer +##Lillo fort - LocationWVNaam is in watervogeldatabank FORT Lillo (selectie zal niet gebeuren met Gebied2 set) + +``` + +```{r valleigebieden Zeeschelde} + +gebiedsgroepenVallei <- gebiedsgroepenall %>% + dplyr::filter(gebiedsgroeptype != "Sigma-gebieden") %>% + dplyr::filter(gebiedsgroep == "Vallei") %>% + mutate(gebiedscode = as.character(gebiedscode)) + +knitr::kable(gebiedsgroepenVallei) + +gebiedsgroepenVallei_zeeschelde <- gebiedsgroepenall %>% + dplyr::filter(gebiedsgroeptype != "Sigma-gebieden") %>% + dplyr::filter(gebiedsgroep == "Vallei") %>% + dplyr::filter(rivier == "Zeeschelde") %>% + mutate(gebiedscode = as.character(gebiedscode)) +``` + + +```{r query-tellingen} + +query_tellingen <- +"SELECT + su.SurveyCode AS ProjectCode +, su.SurveyNaam AS Project +, a.AnalyseSetKey AS AnalyseSetCode +, a.AnalyseSetNaam AS AnalyseSet +, l.RegioWVNaam AS Regio +, l.LocationWVCode AS GebiedsCode +, l.LocationWVNaam AS Gebied +, ss.Seasonname AS Telseizoen +, e.EventLabel AS Telling +, e.SortOrder AS TellingSortOrder +, f.SampleDate AS Teldatum +, s.CoverageCode AS TelvolledigheidCode +, s.CoverageDescription AS Telvolledigheid +, s.IsNulTelling AS Nultelling +FROM FactAnalyseSetOccurrence f + INNER JOIN DimSurvey su ON su.surveykey = f.surveykey + INNER JOIN DimAnalyseSet a ON a.AnalyseSetKey = f.AnalyseSetKey + INNER JOIN DimLocationWV l ON l.locationwvkey = f.locationwvkey + INNER JOIN DimSeason ss ON ss.Seasonkey = f.seasonkey + INNER JOIN DimEvent e ON e.eventkey = f.eventkey + INNER JOIN DimSample s ON s.SampleKey = f.SampleKey +WHERE 1=1 + AND s.samplestatus = 'CHECKED' /**alleen gevalideerde records**/ + AND s.coveragecode not in ('-', 'N') /**niet getelde tellingen zijn irrelevant**/ +;" + +query_grouping <- +"GROUP BY + su.SurveyCode +, su.SurveyNaam +, a.AnalyseSetKey +, a.AnalyseSetNaam +, l.RegioWVCode +, l.RegioWVNaam +, l.LocationWVCode +, l.LocationWVNaam +, ss.Seasonname +, e.EventCode +, e.EventLabel +, e.SortOrder +, f.SampleDate +, s.CoverageCode +, s.CoverageDescription +, s.IsNulTelling;" + + + + +``` + + +```{r bevragen-warehouse-zeeschelde-tellingen} + +query <- + paste0(str_sub(query_tellingen, end=-2), + " AND f.AnalyseSetKey = 1 /**alleen Zeescheldetellingen**/", + " AND ss.seasonname in ", + seizoenen_query, + str_sub(query_grouping, end=-2), + ";" + ) + +con <- connect_inbo_dbase("W0004_00_Waterbirds") +overzicht_tellingen <- + dbGetQuery(con, + query) +# dbDisconnect(con) + +# selectie van de telgebieden gespecifieerd in de Zeeschelde_gebiedsgroepen - KRWZS +overzicht_tellingen <- + overzicht_tellingen %>% + dplyr::filter(GebiedsCode %in% gebiedsgroepen$gebiedscode) + +overzicht_tellingen %>% + distinct(Nultelling) + +``` + +#### teldata uit watervogeldatabank halen + +```{r basis-query bevraging Watervogeldatabank} + +basis_query <- + paste0( +"SELECT + SU.SurveyCode as ProjectCode +, SU.SurveyNaam as Project +, L.RegioWVCode as RegioCode +, L.RegioWVNaam as Regio +, L.LocationWVCode as GebiedsCode +, L.LocationWVNaam as Gebied +, SS.Seasonname as Telseizoen +, E.EventCode as TellingCode +, E.EventLabel as Telling +, E.SortOrder as TellingSortOrder +, S.sampleDate as Teldatum +, S.CoverageCode as Telvolledigheid +, T.Commonname as NedNaam +, T.scientificname as WetNaam +, T.TaxonGroupCode +, F.Taxoncount as Aantal + +FROM FactAnalyseSetOccurrence F +inner join DimSurvey SU on SU.surveykey = F.surveykey +inner join DimLocationWV L on L.locationwvkey = F.locationwvkey +inner join DimSeason SS on SS.Seasonkey = F.seasonkey +inner join DimEvent E on E.eventkey = F.eventkey +inner join DimSample S on F.samplekey = S.samplekey +inner join DimTaxonWV T on T.taxonwvkey = F.taxonwvkey +WHERE 1=1 + AND S.samplestatus = 'CHECKED' /**alleen gevalideerde records**/ + AND S.coveragecode not in ('-', 'N') /**niet getelde tellingen zijn irrelevant**/ + AND F.taxoncount > 0;" + ) + +``` + + +```{r checken details in databank} + +con <- connect_inbo_dbase("W0004_00_Waterbirds") + +q_WVgebiedenHamme <- "SELECT * + FROM DimLocationWV + WHERE LocationWVNaam LIKE '%HAMME%'" + +q_WVgebiedenBriel <- "SELECT * + FROM DimLocationWV + WHERE LocationWVNaam LIKE '%Briel%'" + +# q_WVgebiedenNete <- "SELECT * +# FROM DimLocationWV +# WHERE LocationWVNaam LIKE '%Nete%'" + + +# Selectie gebieden +GebiedenHamme <- + tbl(src = con, sql(q_WVgebiedenHamme)) %>% + select(LocationWVCode, LocationWVNaam, IsStandardizedLocationWV) %>% + collect() + +GebiedenBriel <- + tbl(src = con, sql(q_WVgebiedenBriel)) %>% + select(LocationWVCode, LocationWVNaam, IsStandardizedLocationWV) %>% + collect() + +# GebiedenNete <- +# tbl(src = con, sql(q_WVgebiedenNete)) %>% +# select(LocationWVCode, LocationWVNaam, IsStandardizedLocationWV) %>% +# collect() + +# query midmaandelijkse tellingen +q_midmaandtellingen <- + "SELECT SU.SurveyCode as ProjectCode +, SU.SurveyNaam as Project +, L.RegioWVCode as RegioCode +, L.RegioWVNaam as Regio +, L.LocationWVCode as GebiedsCode +, L.LocationWVNaam as Gebied +, SS.Seasonname as Telseizoen +, E.EventCode as TellingCode +, E.EventLabel as Telling +, E.SortOrder as TellingSortOrder +, S.sampleDate as Teldatum +--, S.IceCoverCode as Ijsbedekking +--, S.SnowCoverCode as Sneeuwbedekking +, S.CoverageCode as Telvolledigheid +, T.Commonname as NedNaam +, T.scientificname as WetNaam +, T.TaxonGroupCode +, F.Taxoncount as Aantal +FROM FactAnalyseSetOccurrence F +inner join DimSurvey SU on SU.surveykey = F.surveykey +inner join DimLocationWV L on L.locationwvkey = F.locationwvkey +inner join DimSeason SS on SS.Seasonkey = F.seasonkey +inner join DimEvent E on E.eventkey = F.eventkey +inner join DimSample S on F.samplekey = S.samplekey +inner join DimTaxonWV T on T.taxonwvkey = F.taxonwvkey +WHERE 1=1 + " +# Selectie midmaandelijkse tellingen in gebieden + +WaterbirdsHamme <- + tbl(src = con, + sql(q_midmaandtellingen)) %>% + dplyr::filter(GebiedsCode %in% !!GebiedenHamme$LocationWVCode) %>% + collect() + +WaterbirdsBriel <- + tbl(src = con, + sql(q_midmaandtellingen)) %>% + dplyr::filter(GebiedsCode %in% !!GebiedenBriel$LocationWVCode) %>% + collect() + +# WaterbirdsNete <- +# tbl(src = con, +# sql(q_midmaandtellingen)) %>% +# filter(GebiedsCode %in% !!GebiedenNete$LocationWVCode) %>% +# collect() + +dbDisconnect(con) + +# Totalen per gebied per seizoen +Totaal_n_Watervogels_Gebied_seizoen_Hamme <- + WaterbirdsHamme %>% + group_by(Gebied, Telseizoen) %>% + summarise(Totaal = sum(Aantal, na.rm = TRUE)) %>% + spread(key = Gebied, value = Totaal) + +Totaal_n_Watervogels_Gebied_seizoen_Briel <- + WaterbirdsBriel %>% + group_by(Gebied, Telseizoen) %>% + summarise(Totaal = sum(Aantal, na.rm = TRUE)) %>% + spread(key = Gebied, value = Totaal) + +# Totaal_n_Watervogels_Gebied_seizoen_Nete <- +# WaterbirdsNete %>% +# group_by(Gebied, Telseizoen) %>% +# summarise(Totaal = sum(Aantal, na.rm = TRUE)) %>% +# spread(key = Gebied, value = Totaal) + +#trends in Grote Wal, Groot Schoor en bootteltraject Schelde St Amands - Oude Briel LO code 4143122 + + +datathvGrootschoor1 <- WaterbirdsHamme %>% + dplyr::filter(Gebied == "Grote Wal HAMME" | Gebied == "Groot Schoor HAMME") %>% + mutate(Analyseset = "SIGMA_MIDMA") + +datathvGrootschoor2 <- WaterbirdsBriel %>% + dplyr::filter(Gebied == "Schelde St. Amands - Oude Briel (LO)")%>% + mutate(Analyseset = "boottelling") + +datathvGrootschoor <- rbind(datathvGrootschoor1, datathvGrootschoor2) +# datathvGrootschoor %>% +# write_delim(paste0(pad_data, "datathvGrootSchoorHamme.csv"), +# delim = ";") + +# +# # sla op als spreadsheet +# Totaal_n_Watervogels_Gebied_seizoen_Lier %>% +# write_delim(paste0(pad_data, "Totalen_gebiedenLier.csv"), +# delim = ";") +# +# Totaal_n_Watervogels_Gebied_seizoen_Nete %>% +# write_delim(paste0(pad_data, "Totalen_gebiedenNete.csv"), +# delim = ";") +# + + + +``` + + +```{r bevragen-warehouse-zeeschelde-analyseset} + +query <- + paste0(str_sub(basis_query, end=-2), + " AND F.Analysesetkey in (1) /**alleen boottellingen, i.e. uit ZSCH-analyseset**/", + " AND SS.seasonname in ", + seizoenen_query, + ";" + ) + +con <- connect_inbo_dbase("W0004_00_Waterbirds") +WaterbirdsBT <- + dbGetQuery(con, + query) +dbDisconnect(con) + +# selectie van de telgebieden gespecifieerd in de Zeeschelde_gebiedsgroepen - KRWZS + +out <-WaterbirdsBT %>% + dplyr::filter(!GebiedsCode %in% gebiedsgroepen$gebiedscode) + +# verwijder uit dataset boottelling +WaterbirdsBT <- + WaterbirdsBT %>% + dplyr::filter(GebiedsCode %in% gebiedsgroepen$gebiedscode) %>% + mutate(Analyseset = "boottelling") + +``` + + +```{r toevoegen-warehouse-MIDMA-zijrivieren-analyseset} + +telzones_zijrivieren <- + gebiedsgroepen$gebiedscode %>% + unique() %>% + setdiff(WaterbirdsBT$GebiedsCode %>% + unique()) + +telzones_query <- + paste0("'", telzones_zijrivieren, "'", collapse = ",") %>% + paste0("(", ., ")") + +query <- + paste0(str_sub(basis_query, end=-2), + " AND F.Analysesetkey in (2, 3, 4) /**alleen midmaandelijkse tellingen, i.e. uit MIDMA-analysesets**/", + " AND SS.seasonname in ", + seizoenen_query, + " AND L.LocationWVCode in ", + telzones_query, + ";" + ) + +con <- connect_inbo_dbase("W0004_00_Waterbirds") +waterbirds_zijrivieren <- + dbGetQuery(con, + query) +dbDisconnect(con) + +waterbirds_zijrivieren <- waterbirds_zijrivieren %>% +mutate(Analyseset = "zijrivier_MIDMA") + +WaterbirdsBT_ZR <- + WaterbirdsBT %>% + bind_rows(waterbirds_zijrivieren) + +Waterbirds <- + WaterbirdsBT %>% + bind_rows(waterbirds_zijrivieren) + +``` + +```{r bevragen-warehouse-MIDMA-Sigma-analyseset} + +## alle sigmagebieden +telzones_sigma <- + gebiedsgroepenSigma %>% + pull(gebiedsnaam) + + +telzones_query <- + paste0("'", telzones_sigma, "'", collapse = ",") %>% + paste0("(", ., ")") + +query <- + paste0(str_sub(basis_query, end=-2), + " AND F.Analysesetkey in (2, 3, 4) /**alleen midmaandelijkse tellingen, i.e. uit MIDMA-analysesets**/", + " AND SS.seasonname in ", + seizoenen_query, + " AND L.LocationWVNaam in ", + telzones_query, + ";" + ) + +con <- connect_inbo_dbase("W0004_00_Waterbirds") +waterbirds_sigma <- + dbGetQuery(con, + query) +dbDisconnect(con) + +waterbirds_sigma <- waterbirds_sigma %>% + mutate(Analyseset = "SIGMA_MIDMA") + +Waterbirds_bt_zr_sigma <- + WaterbirdsBT_ZR %>% + bind_rows(waterbirds_sigma) + + + + + +``` + +```{r bevragen-warehouse-MIDMA-vallei-analyseset} + +telzones_vallei <- + gebiedsgroepenVallei %>% + pull(gebiedsnaam) + +telzones_query <- + paste0("'", telzones_vallei, "'", collapse = ",") %>% + paste0("(", ., ")") + +query <- + paste0(str_sub(basis_query, end=-2), + " AND F.Analysesetkey in (2, 3, 4) /**alleen midmaandelijkse tellingen, i.e. uit MIDMA-analysesets**/", + " AND SS.seasonname in ", + seizoenen_query, + " AND L.LocationWVNaam in ", + telzones_query, + ";" + ) + +con <- connect_inbo_dbase("W0004_00_Waterbirds") +waterbirds_vallei <- + dbGetQuery(con, + query) +dbDisconnect(con) + +waterbirds_vallei <- waterbirds_vallei %>% + mutate(Analyseset = "VALLEI_MIDMA") + +Waterbirds_bt_zr_sigma_vallei <- + Waterbirds_bt_zr_sigma %>% + bind_rows(waterbirds_vallei) + +#### + +# telzones_vallei_zeeschelde <- +# gebiedsgroepenVallei_zeeschelde %>% +# pull(gebiedsnaam) +# +# telzones_query <- +# paste0("'", telzones_vallei_zeeschelde, "'", collapse = ",") %>% +# paste0("(", ., ")") +# +# query <- +# paste0(str_sub(basis_query, end=-2), +# " AND F.Analysesetkey in (2, 3, 4) /**alleen midmaandelijkse tellingen, i.e. uit MIDMA-analysesets**/", +# " AND SS.seasonname in ", +# seizoenen_query, +# " AND L.LocationWVNaam in ", +# telzones_query, +# ";" +# ) +# +# con <- connect_inbo_dbase("W0004_00_Waterbirds") +# waterbirds_vallei_zeeschelde <- +# dbGetQuery(con, +# query) +# dbDisconnect(con) +# +# waterbirds_vallei_zeeschelde <- waterbirds_vallei_zeeschelde %>% +# mutate(Analyseset = "VALLEI_ZSCH_MIDMA") +# +# Waterbirds_bt_zr_sigma_sigmazs_vallei_valleizs <- +# Waterbirds_bt_zr_sigma_sigmazs_vallei %>% +# bind_rows(waterbirds_vallei_zeeschelde) +# +Waterbirds <- Waterbirds_bt_zr_sigma_vallei + +``` + +#### volledigheid van de tellingen controleren + +```{r basis-query-tellingen} + +basis_query_tellingen <- +"WITH NulTelling AS + ( + SELECT SampleKey + FROM + ( + SELECT sampleKey, sum(taxoncount) as AantalIndividu + FROM FactAnalyseSetOccurrence + WHERE AnalyseSetKey = 1 + GROUP BY sampleKey + )tmp + WHERE tmp.AantalIndividu = 0 + ) +SELECT + su.SurveyCode AS ProjectCode +, su.SurveyNaam AS Project +, a.AnalyseSetKey AS AnalyseSetCode +, a.AnalyseSetNaam AS AnalyseSet +, l.RegioWVNaam AS Regio +, l.LocationWVCode AS GebiedsCode +, l.LocationWVNaam AS Gebied +, ss.Seasonname AS Telseizoen +, e.EventLabel AS Telling +, e.SortOrder AS TellingSortOrder +, f.SampleDate AS Teldatum +, s.CoverageCode AS TelvolledigheidCode +, s.CoverageDescription AS Telvolledigheid +, CASE WHEN NulTelling.SampleKey IS NOT NULL THEN 1 ELSE 0 END AS IsNulTelling +FROM FactAnalyseSetOccurrence f + INNER JOIN DimSurvey su ON su.surveykey = f.surveykey + INNER JOIN DimAnalyseSet a ON a.AnalyseSetKey = f.AnalyseSetKey + INNER JOIN DimLocationWV l ON l.locationwvkey = f.locationwvkey + INNER JOIN DimSeason ss ON ss.Seasonkey = f.seasonkey + INNER JOIN DimEvent e ON e.eventkey = f.eventkey + INNER JOIN DimSample s ON s.SampleKey = f.SampleKey + LEFT OUTER JOIN NulTelling ON NulTelling.SampleKey = f.SampleKey +WHERE 1=1 + AND s.samplestatus = 'CHECKED' /**alleen gevalideerde records**/ + AND s.coveragecode not in ('-', 'N') /**niet getelde tellingen zijn irrelevant**/ +;" + +grouping_tellingen <- +"GROUP BY + su.SurveyCode +, su.SurveyNaam +, a.AnalyseSetKey +, a.AnalyseSetNaam +, l.RegioWVCode +, l.RegioWVNaam +, l.LocationWVCode +, l.LocationWVNaam +, ss.Seasonname +, e.EventCode +, e.EventLabel +, e.SortOrder +, f.SampleDate +, s.CoverageCode +, s.CoverageDescription +, s.IsNulTelling +, NulTelling.SampleKey;" +``` + + +```{r bevragen-warehouse-zeeschelde-tellingen} + +query <- + paste0(str_sub(basis_query_tellingen, end=-2), + " AND f.AnalyseSetKey = 1 /**alleen Zeescheldetellingen**/", + " AND ss.seasonname in ", + seizoenen_query, + str_sub(grouping_tellingen, end=-2), + ";" + ) + +con <- connect_inbo_dbase("W0004_00_Waterbirds") +overzicht_tellingen <- + dbGetQuery(con, + query) +dbDisconnect(con) + +# selectie van de telgebieden gespecifieerd in de Zeeschelde_gebiedsgroepen - KRWZS +overzicht_tellingen0 <- + overzicht_tellingen %>% + mutate(jaar = Teldatum %>% + ymd() %>% + year(), + maand = Teldatum %>% + ymd() %>% + month()) %>% + # dplyr::filter(GebiedsCode %in% gebiedsgroepen$gebiedscode) %>% + dplyr::filter(Telseizoen == "2024/25") %>% + dplyr::filter(maand %in% c(10:12, 1:3)) + +``` + +```{r toevoegen-warehouse-tellingen-MIDMA-zijrivieren} + +telzones_zijrivieren <- + gebiedsgroepen$gebiedscode %>% + unique() %>% + setdiff(overzicht_tellingen$GebiedsCode %>% + unique()) + +telzones_query <- + paste0("'", telzones_zijrivieren, "'", collapse = ",") %>% + paste0("(", ., ")") + +query <- + paste0(str_sub(basis_query_tellingen, end=-2), + " AND f.Analysesetkey = 2 /**alleen midmaandelijkse tellingen, i.e. uit MIDMA-analysesets - voldoende om enkel analyseset 2 te nemen**/", + " AND ss.seasonname in ", + seizoenen_query, + " AND l.LocationWVCode in ", + telzones_query, + str_sub(grouping_tellingen, end=-2), + ";" + ) + + +con <- connect_inbo_dbase("W0004_00_Waterbirds") +tellingen_zijrivieren <- + dbGetQuery(con, + query) +dbDisconnect(con) + +overzicht_tellingen <- + overzicht_tellingen %>% + bind_rows(tellingen_zijrivieren) + + +``` + + +```{r correcties-overzicht_tellingen} + +# checken voor dubbels in de dataset +overzicht_tellingen %>% + arrange(Gebied, Telseizoen, Telling, Teldatum, ProjectCode) %>% + distinct(Gebied, Telseizoen, Telling, Teldatum, ProjectCode) + + + +``` + + +```{r toevoegentellinging-informatie-gebiedsgroepen} + +overzicht_tellingen <- + overzicht_tellingen %>% + rename_all(tolower) %>% + left_join(gebiedsgroepen) %>% + select(-telling, -tellingsortorder) + +``` + +```{r overzicht-aantal-tellingen} + +overzicht_tellingen <- + overzicht_tellingen %>% + mutate(IsNulTelling = if_else(isnultelling == 1, "ja", "nee")) + + +# overzicht aantal tellingen +aantaltellingen <- overzicht_tellingen %>% + count(analyseset, telvolledigheidcode, telvolledigheid, isnultelling) + +knitr::kable(aantaltellingen) + +# volledigheid wintertelseizoen +overzicht_tellingen %>% + dplyr::filter (telseizoen == "2023/24") %>% + dplyr::filter(month(teldatum) %in% c(10, 11, 12, 1, 2, 3)) %>% + group_by(projectcode, gebiedscode, gebied, gebiedsgroep_code) %>% + count(telseizoen, sort= TRUE) %>% + dplyr::filter (n < 6) # gebieden met minder dan 6 tellingen vertonen ontbrekende wintertellingen + +# overzicht_tellingen %>% +# filter (telseizoen == "2021/22") %>% +# filter(month(teldatum) %in% c(10, 11, 12, 1, 2, 3)) %>% +# group_by(gebiedscode, gebied, gebiedsgroep_code) %>% +# count(telseizoen, sort= TRUE) %>% +# filter (n < 6) # gebieden met minder dan 6 tellingen vertonen ontbrekende wintertellingen +# # pull(gebiedscode) + + +# test <-overzicht_tellingen %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# mutate(jaar = teldatum %>% +# ymd() %>% +# year(), +# maand = teldatum %>% +# ymd() %>% +# month()) %>% +# filter (telseizoen == "2021/22") %>% +# filter (gebiedscode == ontbrekendetellingen) %>% +# # select(gebied, teldatum) %>% #kijk alleen naar teldatum want telling en tellingsortorder kloppen niet in databank +# arrange(teldatum) + +overzicht_tellingen %>% + dplyr::filter (telseizoen == "2023/24") %>% + dplyr::filter (gebiedscode == "3121003") %>% + select(projectcode, gebiedscode, gebied, teldatum) %>% #kijk alleen naar teldatum want telling en tellingsortorder kloppen niet in databank + arrange(teldatum) + + +``` + +#### correcties op de opgehaalde data uit de watervogeldatabank + +```{r correcties-Waterbirds} + +# checken voor dubbels in de dataset +Waterbirds %>% + group_by_at(vars(-Aantal)) %>% + mutate(n = n()) %>% + ungroup() %>% + dplyr::filter(n>1) %>% + arrange(Gebied, Telseizoen, Telling, Teldatum, NedNaam, ProjectCode) + +# Correctie hiervoor +Waterbirds <- + Waterbirds %>% + group_by_at(vars(-Aantal)) %>% + summarise(Aantal = max(Aantal)) %>% # maximum van de dubbele tellingen + ungroup() + +# Twee gebieden in dataset die er niet thuishoren: +Waterbirds %>% + dplyr::filter(str_detect(Gebied, "aapskooi|Oude Dijle")) %>% + group_by(Gebied) %>% + summarise() %>% + ungroup() + +# Correctie +Waterbirds <- + Waterbirds %>% + dplyr::filter(!str_detect(Gebied, "aapskooi|Oude Dijle")) + +# Telzones op nederlands grondgebied worden niet meegeteld (strik gesproken geen Zeeschelde). Dit gaat over de teltrajecten (9999999 en 9999998) gelegen op Nederlands grondgebied. Deze teltrajecten zitten niet in de gebiedsgroepen file + +# # Enkel wintertellingen +# WaterbirdsBTw <- WaterbirdsBT %>% filter(month(Teldatum) %in% c(10, 11, 12, 1, 2, 3)) + +# Correctie Groot Schoor Hamme +## boottelling Schelde St. Amands - Oude Briel (LO) bevat infeite de vogels die foerageren in ontpoldering Groot Schoor Hamme +## voor 2022,2023,2024 houden we dezelfde aantallen als 2021 in teltraject +## Sigmagebied wordt niet goed geteld; we rekenen de vogelaantallen voor de ontpoldering als deze geteld op Zeeschelde vermindert met baseline aantallen van 2021 in teltraject + +StAmandstotOudeBriel2020 <- + Waterbirds %>% + dplyr::filter(GebiedsCode == 4143122) %>% + dplyr::filter(Telseizoen == "2020/21") + +years <- years(1) +StAmandstotOudeBriel2021false <- + StAmandstotOudeBriel2020 %>% + mutate(Telseizoen = str_replace_all(Telseizoen, "2020/21", "2021/22")) %>% + mutate(Teldatum = Teldatum +years) + +StAmandstotOudeBriel2022false <- + StAmandstotOudeBriel2021false %>% + mutate(Telseizoen = str_replace_all(Telseizoen, "2021/22", "2022/23")) %>% + mutate(Teldatum = Teldatum +years) + +StAmandstotOudeBriel2023false <- + StAmandstotOudeBriel2022false %>% + mutate(Telseizoen = str_replace_all(Telseizoen, "2022/23", "2023/24")) %>% + mutate(Teldatum = Teldatum +years) + +#GrootSchorberekend te gebruiken voor Sigma-estuarien ontpoldering Groot Schoor Hamme ipv landtelling +#bergeenden zijn nu wel onderschatting + +#pas dit ook aan in Sigma dataset! + +GrootSchorberekend2021 <- + Waterbirds %>% + dplyr::filter(GebiedsCode == 4143122) %>% + dplyr::filter(Telseizoen == "2021/22") %>% + left_join(StAmandstotOudeBriel2020, by = c("NedNaam","Telling"), suffix = c("_winter2021", "_Baseline2020"),keep = TRUE) %>% + mutate(across(c(Aantal_Baseline2020), ~replace_na(., 0))) %>% + mutate(Aantal_diff = Aantal_winter2021 - Aantal_Baseline2020) %>% + dplyr::filter(Aantal_diff >= 0) %>% + select(ends_with("winter2021"), Aantal_diff) %>% + select(-Aantal_winter2021) %>% + rename_with(~ str_remove(.x, "_winter2021")) %>% + rename(Aantal = Aantal_diff) %>% + mutate(GebiedsCode = if_else(GebiedsCode == "4143122", "2091308", GebiedsCode)) %>% + mutate(Gebied = if_else(Gebied == "Schelde St. Amands - Oude Briel (LO)", "Groot Schoor HAMME", Gebied)) %>% + mutate(Analyseset = if_else(Analyseset == "boottelling", "SIGMA_MIDMA", Analyseset)) + +GrootSchorberekend2022 <- + Waterbirds %>% + dplyr::filter(GebiedsCode == 4143122) %>% + dplyr::filter(Telseizoen == "2022/23") %>% + left_join(StAmandstotOudeBriel2020, by = c("NedNaam","Telling"), suffix = c("_winter2021", "_Baseline2020"),keep = TRUE) %>% + mutate(across(c(Aantal_Baseline2020), ~replace_na(., 0))) %>% + mutate(Aantal_diff = Aantal_winter2021 - Aantal_Baseline2020) %>% + dplyr::filter(Aantal_diff >= 0) %>% + select(ends_with("winter2021"), Aantal_diff) %>% + select(-Aantal_winter2021) %>% + rename_with(~ str_remove(.x, "_winter2021")) %>% + rename(Aantal = Aantal_diff)%>% + mutate(GebiedsCode = if_else(GebiedsCode == "4143122", "2091308", GebiedsCode)) %>% + mutate(Gebied = if_else(Gebied == "Schelde St. Amands - Oude Briel (LO)", "Groot Schoor HAMME", Gebied)) %>% + mutate(Analyseset = if_else(Analyseset == "boottelling", "SIGMA_MIDMA", Analyseset)) + +GrootSchorberekend2023 <- + Waterbirds %>% + dplyr::filter(GebiedsCode == 4143122) %>% + dplyr::filter(Telseizoen == "2023/24") %>% + left_join(StAmandstotOudeBriel2020, by = c("NedNaam","Telling"), suffix = c("_winter2021", "_Baseline2020"),keep = TRUE) %>% + mutate(across(c(Aantal_Baseline2020), ~replace_na(., 0))) %>% + mutate(Aantal_diff = Aantal_winter2021 - Aantal_Baseline2020) %>% + dplyr::filter(Aantal_diff >= 0) %>% + select(ends_with("winter2021"), Aantal_diff) %>% + select(-Aantal_winter2021) %>% + rename_with(~ str_remove(.x, "_winter2021")) %>% + rename(Aantal = Aantal_diff)%>% + mutate(GebiedsCode = if_else(GebiedsCode == "4143122", "2091308", GebiedsCode)) %>% + mutate(Gebied = if_else(Gebied == "Schelde St. Amands - Oude Briel (LO)", "Groot Schoor HAMME", Gebied)) %>% + mutate(Analyseset = if_else(Analyseset == "boottelling", "SIGMA_MIDMA", Analyseset)) + + +datathvGrootschoor %>% + dplyr::filter(!(GebiedsCode == 2091308 & (Telseizoen == "2021/22" | Telseizoen == "2022/23" | Telseizoen == "2023/24"))) %>% + dplyr::filter(!(GebiedsCode == 4143122 & (Telseizoen == "2021/22" | Telseizoen == "2022/23" | Telseizoen == "2023/24"))) %>% + bind_rows(GrootSchorberekend2021, GrootSchorberekend2022,GrootSchorberekend2023) %>% + bind_rows(StAmandstotOudeBriel2021false, StAmandstotOudeBriel2022false,StAmandstotOudeBriel2023false) %>% + write_delim(paste0(pad_data, "datathvGrootSchoorHamme.csv"), + delim = ";") + +GrootSchoorHamme <- bind_rows(GrootSchorberekend2021, GrootSchorberekend2022,GrootSchorberekend2023) + +Waterbirds <- + Waterbirds %>% + dplyr::filter(!(GebiedsCode == 4143122 & (Telseizoen == "2021/22" | Telseizoen == "2022/23" | Telseizoen == "2023/24"))) %>% + bind_rows(StAmandstotOudeBriel2021false, StAmandstotOudeBriel2022false,StAmandstotOudeBriel2023false) + +#### ook nog aanpassen in Sigmadataset voor rapportage! + +Waterbirds <- + Waterbirds %>% + dplyr::filter(!(GebiedsCode == 2091308 & (Telseizoen == "2021/22" | Telseizoen == "2022/23" | Telseizoen == "2023/24"))) %>% +bind_rows(GrootSchoorHamme) + +``` + +```{r telseizoen metadata} + + +laatste_telseizoen <- + WaterbirdsBT %>% + pull(Telseizoen) %>% + unique() %>% + sort() %>% + last() + + + +``` + +```{r toevoegen-informatie-gebiedsgroepen} + +Waterbirds_all <- + Waterbirds %>% + rename_all(tolower) %>% + left_join(gebiedsgroepenall) %>% + select(gebiedsgroeptype_code, + gebiedsgroep_code, + gebiedsgroep, + rivier, + gebiedscode, + gebied = gebiedsnaam, + telseizoen, + teldatum, + nednaam, + wetnaam, + taxongroepcode = taxongroupcode, + aantal, + analyseset) + +Waterbirds_all %>% + write_delim(paste0(pad_data, "Watervogels_all_ruwedata.csv"), + delim = ";") + +####dataset inlezen zonder databank bevraging +# Waterbirds <- +# read_delim(paste0(pad_data, "Watervogels_all_ruwedata.csv"), +# delim = ";") + + +#MONEOStelgebieden gebiedsgroepinfo (niet voor sigma, vallei) +Waterbirds <- + Waterbirds %>% + rename_all(tolower) %>% + mutate(gebiedscode = as.character(gebiedscode)) %>% + left_join(gebiedsgroepen) %>% + select(gebiedsgroeptype_code, + gebiedsgroep_code, + gebiedsgroep, + rivier, + gebiedscode, + gebied = gebiedsnaam, + telseizoen, + teldatum, + nednaam, + wetnaam, + taxongroepcode = taxongroupcode, + aantal, + analyseset) + + + + +``` + +```{r controle volledigheid} +Aantaltellingenpergebied0 <- WaterbirdsBT %>% + rename_all(tolower) %>% + dplyr::filter (telseizoen == "2023/24") %>% + distinct(gebiedscode, telseizoen, teldatum) %>% + count(gebiedscode, telseizoen, teldatum) + +# aantal tellingen per telseizoen ingevoerd +Aantaltellingenpergebied <- WaterbirdsBT %>% + rename_all(tolower) %>% + dplyr::filter(analyseset =="boottelling") %>% + dplyr::filter (telseizoen == "2020/21") %>% + distinct(gebiedscode, teldatum, telseizoen) %>% + count(gebiedscode, telseizoen) + + +knitr::kable(Aantaltellingenpergebied) + +Aantaltellingenpergebied <- WaterbirdsBT %>% + rename_all(tolower) %>% + dplyr::filter(analyseset =="zijrivier_MIDMA") %>% + dplyr::filter (telseizoen == "2021/22") %>% + distinct(gebiedscode, teldatum, telseizoen) %>% + count(gebiedscode, telseizoen) + + +knitr::kable(Aantaltellingenpergebied) + +Aantaltellingenpergebied <- WaterbirdsBT %>% + rename_all(tolower) %>% + dplyr::filter(analyseset =="SIGMA_MIDMA") %>% + dplyr::filter(telseizoen == "2023/24") %>% + distinct(gebiedscode, teldatum, telseizoen) %>% + count(gebiedscode, telseizoen) + + +knitr::kable(Aantaltellingenpergebied) + +``` + +```{r optellen-per-gebiedsgroep-rivier MONEOS dataset} + +Waterbirds_Moneos <- + Waterbirds %>% + dplyr::filter(analyseset == "boottelling" | analyseset == "zijrivier_MIDMA") %>% + group_by(gebiedsgroep_code, + gebiedsgroep, + rivier, + telseizoen, + teldatum, + nednaam, + wetnaam, + taxongroepcode) %>% + summarise(aantal = sum(aantal)) %>% + ungroup() %>% + mutate(analyseset = "Zeeschelde en Zijrivieren") + + + +Waterbirds_sets <- + Waterbirds %>% + group_by(gebiedsgroeptype_code, + gebiedsgroep_code, + gebiedsgroep, + rivier, + telseizoen, + teldatum, + nednaam, + wetnaam, + taxongroepcode, + analyseset) %>% + summarise(aantal = sum(aantal)) %>% + ungroup() + + +# #enkel de data van de Zeeschelde +# WaterbirdsBT_ZSCH <- +# WaterbirdsBTall %>% +# filter(analyseset == "boottelling") %>% +# group_by(gebiedsgroep_code, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# wetnaam, +# taxongroepcode) %>% +# summarise(aantal = sum(aantal)) %>% +# ungroup() %>% +# mutate(analyseset = "boottelling") +# +# #enkel de data van de sigmagebieden +# WaterbirdsBT_sigma <- +# WaterbirdsBTall %>% +# filter(analyseset == "SIGMA_MIDMA") %>% +# group_by(gebiedsgroep_code, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# wetnaam, +# taxongroepcode) %>% +# summarise(aantal = sum(aantal)) %>% +# ungroup() %>% +# mutate(analyseset = "Sigma") +# +# +# #enkel de data van de sigmagebieden langsheen de Zeeschelde +# WaterbirdsBT_sigma_zeeschelde <- +# WaterbirdsBTall %>% +# filter(analyseset == "SIGMA_ZSCH_MIDMA") %>% +# group_by(gebiedsgroep_code, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# wetnaam, +# taxongroepcode) %>% +# summarise(aantal = sum(aantal)) %>% +# ungroup() %>% +# mutate(analyseset = "Sigma Zeeschelde") +# +# WaterbirdsBT_vallei <- +# WaterbirdsBTall %>% +# filter(analyseset == "VALLEI_MIDMA") %>% +# group_by(gebiedsgroep_code, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# wetnaam, +# taxongroepcode) %>% +# summarise(aantal = sum(aantal)) %>% +# ungroup() %>% +# mutate(analyseset = "Vallei") +# +# WaterbirdsBT_vallei_zeeschelde <- +# WaterbirdsBTall %>% +# filter(analyseset == "VALLEI_ZSCH_MIDMA") %>% +# group_by(gebiedsgroep_code, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# wetnaam, +# taxongroepcode) %>% +# summarise(aantal = sum(aantal)) %>% +# ungroup() %>% +# mutate(analyseset = "Vallei Zeeschelde") +# +# +# ####data ontpolderingen en GGG's Sigma +# +# WaterbirdsBT_sigma_estuarien <- +# WaterbirdsBTallcheck %>% +# filter(analyseset == "SIGMA_MIDMA") %>% +# filter(gebiedsgroep == "GGG" | gebiedsgroep == "Ontpoldering") %>% +# group_by(gebiedsgroep_code, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# wetnaam, +# taxongroepcode) %>% +# summarise(aantal = sum(aantal)) %>% +# ungroup() %>% +# mutate(analyseset = "Sigma_estuarien") + + + +# Waterbirds_sigma_estuarien <- +# WaterbirdsBTallcheck %>% +# filter(analyseset == "SIGMA_MIDMA") %>% +# filter(gebiedsgroep == "Estuarien") %>% +# group_by(gebiedsgroep_code, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# wetnaam, +# taxongroepcode) %>% +# summarise(aantal = sum(aantal)) %>% +# ungroup() %>% +# mutate(analyseset = "Sigma estuarien") +# +# Waterbirds_sigma_estuarien %>% +# group_by(telseizoen) %>% +# summarise(totaal = sum(aantal)) + +# WaterbirdsBT_sigma_wetland <- +# WaterbirdsBTallcheck %>% +# filter(gebiedsgroep == "Wetland") %>% +# group_by(gebiedsgroep_code, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# wetnaam, +# taxongroepcode) %>% +# summarise(aantal = sum(aantal)) %>% +# ungroup() %>% +# mutate(analyseset = "Sigma_wetland") + + +``` + + +```{r toevoegen-nultellingen, eval=FALSE} + +Waterbirds_Moneos <- + Waterbirds_Moneos %>% + complete(nesting(gebiedsgroep_code, gebiedsgroep, rivier, telseizoen, teldatum), + nesting(nednaam, wetnaam, taxongroepcode), + fill = list(0)) +Waterbirds_sets <- + Waterbirds_sets %>% + complete(nesting(gebiedsgroep_code, gebiedsgroep, rivier, telseizoen, teldatum), + nesting(nednaam, wetnaam, taxongroepcode), + fill = list(0)) +Waterbirds_all <- + Waterbirds_all %>% + complete(nesting(gebiedsgroep_code, gebiedsgroep, rivier, telseizoen, teldatum), + nesting(nednaam, wetnaam, taxongroepcode), + fill = list(0)) +# WaterbirdsBT_ZSCH <- +# WaterbirdsBT_ZSCH %>% +# complete(nesting(gebiedsgroep_code, gebiedsgroep, rivier, telseizoen, teldatum), +# nesting(nednaam, wetnaam, taxongroepcode), +# fill = list(0)) +# +# WaterbirdsBT_sigma <- +# WaterbirdsBT_sigma %>% +# complete(nesting(gebiedsgroep_code, gebiedsgroep, rivier, telseizoen, teldatum), +# nesting(nednaam, wetnaam, taxongroepcode), +# fill = list(0)) +# +# WaterbirdsBT_sigma_zeeschelde <- +# WaterbirdsBT_sigma_zeeschelde %>% +# complete(nesting(gebiedsgroep_code, gebiedsgroep, rivier, telseizoen, teldatum), +# nesting(nednaam, wetnaam, taxongroepcode), +# fill = list(0)) +# +# WaterbirdsBT_sigma_wetland <- +# WaterbirdsBT_sigma_wetland %>% +# complete(nesting(gebiedsgroep_code, gebiedsgroep, rivier, telseizoen, teldatum), +# nesting(nednaam, wetnaam, taxongroepcode), +# fill = list(0)) +# +# WaterbirdsBT_vallei <- +# WaterbirdsBT_vallei %>% +# complete(nesting(gebiedsgroep_code, gebiedsgroep, rivier, telseizoen, teldatum), +# nesting(nednaam, wetnaam, taxongroepcode), +# fill = list(0)) +# +# WaterbirdsBT_vallei_zeeschelde <- +# WaterbirdsBT_vallei_zeeschelde %>% +# complete(nesting(gebiedsgroep_code, gebiedsgroep, rivier, telseizoen, teldatum), +# nesting(nednaam, wetnaam, taxongroepcode), +# fill = list(0)) + +``` + + + +```{r data-trofische-groep} + +data_trofische_groep <- + read_delim(paste0(pad_data, "Voedselgilde_exoten_Moneosrapport.csv"), + delim = ";") + +data_trofische_groep <- data_trofische_groep %>% + rename_all(tolower) %>% + rename(nednaam = species) + +# testen voor dubbels in trofische groep +# data_trofische_groep %>% +# group_by(Species, Indicator) %>% +# summarise(n = n()) %>% +# ungroup() %>% +# filter(n > 1) +# +# data_trofische_groep %>% +# group_by(Species) %>% +# summarise(n = n()) %>% +# ungroup() %>% +# filter(n > 1) + + +# toevoegen trofisch groep aan dataset +Waterbirds_Moneos <- + Waterbirds_Moneos %>% + left_join(data_trofische_groep) + +``` + + + +##### gebiedsindeling T2021 + +```{r gebiedsindeling T2021} + +data_gebiedsindeling_T2021 <- + read_delim(paste0(pad_data, "Gebiedsindeling_T2021.csv"), + delim = ";") + +data_gebiedsindeling_T2021 <- + data_gebiedsindeling_T2021 %>% + mutate(rivier = case_when( + niveau4 == "Rupel" ~ "Rupel", + niveau4 == "GetijdeDurme" ~ "Durme", + niveau4 == "GetijdeDijle" ~ "Dijle", + niveau4 == "GetijdeZenne" ~ "Zenne", + niveau4 == "Monding" ~ "Monding", + niveau2 == "Westerschelde" ~"Westerschelde", + TRUE ~ "Zeeschelde" + )) + +data_gebiedsindeling_T2021 <- data_gebiedsindeling_T2021 %>% + rename(gebiedsgroep = krw) %>% + select("niveau1", "niveau2","niveau3", "gebiedsgroep", "rivier") %>% + distinct() %>% + dplyr::filter(gebiedsgroep != "Getijdenetes") + +knitr::kable(data_gebiedsindeling_T2021) + + +#### toevoegen gebiedsindeling EMSE + Waterbirds_Moneos <- + Waterbirds_Moneos %>% + dplyr::left_join(data_gebiedsindeling_T2021) %>% + mutate(niveau3 = fct_relevel(niveau3, c("Saliniteitsgradient","Oligohalien","Zoet lang verblijf","Zoet kort verblijf", "Rupel","Durme", "Zoet zijrivier"))) + +Waterbirds_Moneos %>% + distinct(niveau3) + +Waterbirds_sets <- + Waterbirds_sets %>% + dplyr::left_join(data_gebiedsindeling_T2021) %>% + mutate(niveau3 = fct_relevel(niveau3, c("Saliniteitsgradient","Oligohalien","Zoet lang verblijf","Zoet kort verblijf", "Rupel","Durme", "Zoet zijrivier"))) + +Waterbirds_sets %>% + distinct(niveau3) + +# Waterbirds_all <- +# Waterbirds_all %>% +# left_join(data_gebiedsindeling_T2021, na.rm = TRUE) %>% +# mutate(niveau3 = fct_relevel(niveau3, c("Saliniteitsgradient","Oligohalien","Zoet lang verblijf","Zoet kort verblijf", "Rupel","Durme", "Zoet zijrivier"))) +# +# Waterbirds_all %>% +# distinct(niveau3) + +# data_watervogels$niveau3 <- factor(data_watervogels1$niveau3, levels = c("Saliniteitsgradient","Oligohalien","Zoet lang verblijf","Zoet kort verblijf", "Rupel","Durme", "Zoet zijrivier")) %>% + +``` + + +```{r wegschrijven-data} + +Waterbirds_Moneos %>% + write_delim(paste0(pad_data, "Watervogels_Zeeschelde_moneos.csv"), + delim = ";") + +Waterbirds_sets %>% + write_delim(paste0(pad_data, "Watervogels_analysesets.csv"), + delim = ";") + +table(Waterbirds_Moneos$gebiedsgroep_code) + +Waterbirds_Moneos %>% + mutate(maand = month(teldatum)) %>% + dplyr::select(-c(taxongroepcode,gebiedsgroep_code, wetnaam, teldatum, analyseset)) %>% + dplyr::rename(KRW_zone = gebiedsgroep) %>% + write_delim(paste0(pad_data, "Watervogels_ZeescheldeVLIZ.csv"), + delim = ";") + + +WaterbirdsBT_sigma_estuarien <- + Waterbirds_all %>% + dplyr::filter(analyseset == "SIGMA_MIDMA") %>% + dplyr::filter(gebiedsgroep == "Ontpoldering" | gebiedsgroep == "GGG") %>% + complete(nesting(gebiedsgroep_code, gebiedsgroep, rivier, telseizoen, teldatum), + nesting(nednaam, wetnaam, taxongroepcode), + fill = list(0)) + +WaterbirdsBT_sigma_estuarien %>% + mutate(maand = month(teldatum)) %>% + dplyr::rename(Sigmagebiedstype = gebiedsgroep) %>% + mutate(niveau3 = case_when( + gebiedsgroep_code == "MH" ~ "Saliniteitsgradient", + gebiedsgroep_code == "OH" ~ "Oligohalien", + gebiedsgroep_code == "ZLVT"~ "Zoet lang verblijf", + gebiedsgroep_code == "ZKVT"~ "Zoet kort verblijf", + gebiedsgroep_code == "Durme"~ "Durme", + gebiedsgroep_code == "Rupel"~ "Rupel", + TRUE ~ "Zoet zijrivier" + )) %>% + dplyr::select(-c(gebiedsgroep_code, taxongroepcode, wetnaam, teldatum, analyseset, gebiedscode, gebied)) %>% + write_delim(paste0(pad_data, "Watervogels_Sigma_estuarienVLIZ.csv"), + delim = ";") + + + +# WaterbirdsBT_sigma_wetland <- +# Waterbirds_all %>% +# dplyr::filter(gebiedsgroep == "Wetland") %>% +# group_by(gebiedsgroep_code, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# wetnaam, +# taxongroepcode) %>% +# summarise(aantal = sum(aantal)) %>% +# ungroup() %>% +# mutate(analyseset = "Sigma_wetland") + +# WaterbirdsBT_ZSCH %>% +# write_delim(paste0(pad_data, "Watervogels_Zeeschelde_SS.csv"), +# delim = ";") + +# WaterbirdsBT_sigma %>% +# write_delim(paste0(pad_data, "Watervogels_Sigma.csv"), +# delim = ";") +# +# WaterbirdsBT_sigma_zeeschelde %>% +# write_delim(paste0(pad_data, "Watervogels_Sigma_zeeschelde.csv"), +# delim = ";") +# +# +# WaterbirdsBT_vallei %>% +# write_delim(paste0(pad_data, "Watervogels_Vallei.csv"), +# delim = ";") +# WaterbirdsBT_vallei_zeeschelde %>% +# write_delim(paste0(pad_data, "Watervogels_Vallei_zeeschelde.csv"), +# delim = ";") +# +# WaterbirdsBT_sigma_estuarien %>% +# write_delim(paste0(pad_data, "Watervogels_Sigma_estuarien.csv"), +# delim = ";") +# +# WaterbirdsBT_sigma_wetland %>% +# write_delim(paste0(pad_data, "Watervogels_Sigma_wetland.csv"), +# delim = ";") + +``` + + + + diff --git a/moneos_2025/100_watervogels/20_moneos_watervogels_analyse.Rmd b/moneos_2025/100_watervogels/20_moneos_watervogels_analyse.Rmd new file mode 100644 index 0000000..a2babad --- /dev/null +++ b/moneos_2025/100_watervogels/20_moneos_watervogels_analyse.Rmd @@ -0,0 +1,3645 @@ +--- +params: + hoofdstuk: "100_watervogels" +knit: (function(inputFile, ...) { + rmarkdown::render(inputFile, + output_dir = paste0(rmarkdown::yaml_front_matter(inputFile)$params$hoofdstuk, "/output"))}) +title: "analyse watervogels" +output: word_document +editor_options: + chunk_output_type: console +--- + +```{r setup, include=FALSE} + +knitr::opts_chunk$set(echo = FALSE, error=FALSE, warning=FALSE, message=FALSE, cache=FALSE, fig.showtext = TRUE, dpi = 300) + +``` + +```{r libraries} + +library(tidyverse) +library(lubridate) +# library(readxl) +library(INBOtheme) +library(writexl) +library(rprojroot) ## workaround pad +library(RcppRoll) +library(rtrim) +library(conflicted) +conflict_prefer("filter", "dplyr") + +``` + +```{r pad} + +# inlezen van variabelen +# pad naar data : pad_data +# pad naar tabellen : pad_tabellen +# pad naar figuren : pad_figuren + +source(find_root_file("../pad.R", criterion = is_rstudio_project)) + +pad_data <- maak_pad(params$hoofdstuk, "data") +pad_figuren <- maak_pad(params$hoofdstuk, "figuren") +pad_tabellen <- maak_pad(params$hoofdstuk, "tabellen") + +``` + +```{r data-watervogels inlezen en voorbereiden voor analyse} +WV_DB <- + read_delim(paste0(pad_data, "WV_DB.csv"), + delim = ";") + +WV_DB <- WV_DB %>% + rename_all(tolower) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 > 1990) + + +Gebieden_ZS <- + read_delim(paste0(pad_data, "Gebieden_ZS.csv"), + delim = ";") + + +# toevoegen jaar en maand +WV_DB <- + WV_DB %>% + mutate(jaar = teldatum %>% + ymd() %>% + year(), + maand = teldatum %>% + ymd() %>% + month()) + + +# vroegste en meest recente telseizoen +vroegste_telseizoen <- + WV_DB %>% + pull(telseizoen) %>% + unique() %>% + sort() %>% + first() + +laatste_telseizoen <- + WV_DB %>% + pull(telseizoen) %>% + unique() %>% + sort() %>% + last() + + +# vroegste en meest recente jaar +vroegste_jaar <- + WV_DB %>% + pull(jaar) %>% + unique() %>% + sort() %>% + first() + +laatste_jaar <- + WV_DB %>% + pull(jaar) %>% + unique() %>% + sort() %>% + last() + +``` + + +##### testen voor dubbels + +```{r data-controle} + +# testen voor dubbels in tellingen +dubbele_tellingen <- + WV_DB %>% + group_by_at(vars(-aantal)) %>% + mutate(n = n()) %>% + ungroup() %>% + dplyr::filter(n>1) %>% + arrange() + + +``` + +- Er zijn `r nrow(dubbele_tellingen)` dubbele tellingen in de dataset + +##### rivieren in de dataset + +```{r rivieren} + +rivieren <- + WV_DB %>% + distinct(rivier) %>% + dplyr::filter(!is.na(rivier)) + +knitr::kable(rivieren) + +``` + +```{r dataset maken voor trends volledige Zeeschelde alluvium - NOPzoneplus} + + +### selecteren van de tellingen in de relevante telgebieden NOPzoneplus +Tellingen_ZS_alles <- WV_DB %>% right_join(Gebieden_ZS, by = c("gebiedscode"),suffix = c("", "")) + +### relevante kolommen + +# Tellingen_ZS_alles %>% distinct(projectcode, project) +# Tellingen_ZS_alles %>% distinct(gebiedsklassecode, zone) + + +### selecteren periode 1991/92 -> 2023/24; meeuwen Wel of niet betrokken in de analyse +Tellingen_ZS_alles <- Tellingen_ZS_alles %>% + dplyr::filter(teldatum < "2025-04-01") %>% +# dplyr::filter(groep != "Meeuwen en Sternen") %>% + dplyr::filter(telseizoen1 > 1990) + +### om de Vlaamse trend mee te hebben ook op volledige dataset +WV_DB_noMS <- WV_DB %>% + dplyr::filter(groep != "Meeuwen en Sternen", + teldatum < "2025-04-01", + telseizoen1 > 1990 & telseizoen1 < 2024) + +### samenvatten dataset niveau 3 +Tellingen_ZS_sets <- + Tellingen_ZS_alles %>% + group_by(krwcode, + niveau3, + niveau2, + rivier, + telseizoen, + jaar, + maand, + nednaam, + taxongroupcode, + exoot, + trofische_groep, + gebiedsklassecode, + zone, + krwzone) %>% + summarise(aantal = sum(aantal)) %>% + ungroup() + +### toevoegen nultellingen dataset watervogels Zeeschelde MONEOSrapport +data_watervogels <- + Tellingen_ZS_sets %>% + complete(nesting(krwcode, krwzone, niveau3, niveau2, rivier, gebiedsklassecode, zone, telseizoen, maand, jaar), + nesting(nednaam, taxongroupcode, exoot, trofische_groep), + fill = list(0)) %>% + dplyr::filter(!is.na(niveau3))## to keep all data including sigma and haven unactivate this line + +data_watervogels$niveau3 <- factor(data_watervogels$niveau3, levels = c("Saliniteitsgradient","Oligohalien","Zoet lang verblijf","Zoet kort verblijf", "Rupel","Durme", "Zoet zijrivier")) + +``` + + +##### oppervlakte beschikbaar habitat + +```{r data-oppervlakte-slikken} + +# data_oppecotoop <- +# read_delim(paste0(pad_data, "OppEcotoop2001_19_2022copy2019.csv"), +# delim = ";") #remark aug 2024: file - values corrupt (komma separation??) + +##new file - same as benthosfile + +data_oppecotoop <- + read_csv2(paste0(pad_data, "SpatialEcotopenOpp_INBO_2022.csv")) + +print(head(data_oppecotoop)) + +data_oppecotoop <-data_oppecotoop %>% + dplyr::filter(waterloop != "Tijarm") %>% + mutate(niveau3 = case_when( + waterloop == "Zeeschelde IV" ~ "Saliniteitsgradient", + waterloop == "Zeeschelde III" ~"Oligohalien", + waterloop == "Zeeschelde II" ~ "Zoet lang verblijf", + waterloop == "Zeeschelde I" ~ "Zoet kort verblijf", + waterloop == "Rupel"~ "Rupel", + waterloop == "Durme" ~ "Durme", + TRUE ~ "rest" + )) + +data_oppecotoop <- data_oppecotoop %>% + dplyr::filter(niveau3 != "rest") %>% + mutate(niveau3 = fct_relevel(niveau3, c("Saliniteitsgradient","Oligohalien","Zoet lang verblijf","Zoet kort verblijf", "Rupel","Durme"))) + +## we selecteren de jaren met volledige kaart BEZ BOZ Rupel Durme + +data_oppecotoop <-data_oppecotoop %>% + mutate(telseizoen = case_when( + jaar == "2001" ~ "2001/02", + jaar == "2010" ~ "2010/11", + jaar == "2013" ~ "2013/14", + jaar == "2016" ~ "2016/17", + jaar == "2019" ~ "2019/20", + jaar == "2022" ~ "2022/23", + TRUE ~ "incomplete" + )) %>% + dplyr::filter(telseizoen != "incomplete") + + +data_oppzachtslikKRWZS <- data_oppecotoop %>% + dplyr::filter(str_detect(ecotoopruw, "zacht")) %>% + # dplyr::filter(Uitbreiding == 0) %>% ##uitbreidingen worden niet of niet goed geteld vanop de boot bij laagwater + # dplyr::filter(str_detect(Ecotoop, "zacht")) %>% + group_by(niveau3,jaar,telseizoen) %>% + summarise(somha = sum(SomVanShape_Area)) %>% + ungroup() + +##correctie op Durme slikoppervlakte : stroomopwaartse oppervlakte 4.8ha (ongeveer) er vanaf getrokken +data_oppzachtslikKRWZS <- data_oppzachtslikKRWZS %>% + mutate(somha = case_when(niveau3 == "Durme" ~ somha - 4.8, + TRUE ~ somha)) +##correctie op uitbreidingen in Zoet kort vanaf telseizoen 2016: zacht slik - 12ha (niet te tellen vanaf boot) + +data_oppzachtslikKRWZS <- data_oppzachtslikKRWZS %>% + mutate(somha = case_when(niveau3 == "Zoet kort verblijf" & jaar > 2013 ~ somha - 12, + TRUE ~ somha)) + + +# data_oppzachtslikKRWZS %>% +# write_delim(paste0(pad_data, "data_oppzachtslikKRWZS.csv"), +# delim = ";") +#we koppelen de data aan volledige jaren (jaar x = juni x tot juli x+1) of aan winterjaar of wintertelseizoen (okt jaar x - mrt jaar x+1) + +###dataset nog niet goed de jaargangen met Zeeschelde III vr 2012,2014,2015,2017,2018 moeten eruit - slechts gedeeltelijke data + # dplyr::filter(KRWzone != "Zeeschelde III + Rupel" + # if Jaar == 2012,) +###dataset ook nog beperkt aantal jaren - meerdere jaren zouden geintepoleerd kunnen worden - nog uit te zoeken hoe je dat in R doet + +# library(zoo) + + +# df %>% +# group_by(variable) %>% +# arrange(variable, event.date) %>% +# mutate(ip.value = na.approx(value, maxgap = 4, rule = 2)) + + +``` + +##### soorten in de dataset + +```{r soorten} + +###opgelet voor de natuurindicator werken we met alle soorten, dus render script zonder selectie op soorten die meer dan 30 keer voorkomen + +# soortnamen +soortnamen <- + data_watervogels %>% + distinct(nednaam) + +#lijst ZS soorten die minstens 30 keer werden waargenomen - EMSE + +overzichtsoorten_analyse <- + data_watervogels %>% + group_by(nednaam) %>% + dplyr::filter(nednaam != "Morinelplevier") %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + dplyr::filter(aantal > 30) %>% + select(nednaam) %>% + ungroup() + +#ontbreken er soorten waarvan we geen dieet opnamen in data trofische groep? + +# trofische_groep_aanvullen <- +# left_join(overzichtsoorten_analyse, data_trofische_groep) %>% +# dplyr::filter(is.na(trofische_groep)) +# +# # trofische_groep_aanvullen %>% +# # write_delim(paste0(pad_data, "trofischegroepaanvullen.csv"), +# # delim = ";") +# +# Soorten_analyse_trofisch <- +# left_join(overzichtsoorten_analyse, data_trofische_groep) +# +# Soorten_analyse_trofisch %>% +# rename(Soort = nednaam) %>% +# rename(Trofie = trofische_groep) %>% +# rename(Exoot = exoot) %>% +# write_delim(paste0(pad_tabellen, "Soorten_EMSE_analyse.csv"), +# delim = ";") + +###verwijder alle soorten die niet voldoen aan het criterium van minimaal 30 wrn EMSE + +data_watervogels <- data_watervogels %>% + dplyr::filter(nednaam %in% overzichtsoorten_analyse$nednaam) + +geen_trofische_groep <- + data_watervogels %>% + dplyr::filter(is.na(trofische_groep)) %>% + pull(nednaam) %>% + unique() %>% + sort() + +tabel_trofische_groep <- + data_watervogels %>% + dplyr::filter(!is.na(trofische_groep)) %>% + distinct(trofische_groep, nednaam) %>% + group_by(trofische_groep) %>% + summarise(aantal_soorten = n()) %>% + ungroup() + + +``` + +- Er zijn `r nrow(soortnamen)` soorten in de dataset +- `r length(geen_trofische_groep)` soorten hebben geen indicatie van trofische groep + - `r geen_trofische_groep` +- de overige soorten behoren tot volgende trofische groepen + - `r knitr::kable(tabel_trofische_groep)` + +#### shannon diversity + +```{r Shannon index} + +## inclusief exoten, inclusief meeuwen en sternen + +data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 %in% c(2001:2025)) %>% + # dplyr::filter(taxongroepcode != "MS") %>% # geen meeuwen of sternen # geen meeuwen of sternen + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(krwzone != "Getijdedurme" | telseizoen1 > 2012) %>% + # dplyr::filter(krwzone != "Getijdedijle en Getijdezenne") %>% #EMSE rapporteert niet over Dijle en Zenne + dplyr::filter(krwzone != "Getijdedijle en Getijdezenne" | telseizoen1 != 2006) %>% + group_by(telseizoen1, niveau3) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, niveau3, nednaam,totaal) %>% + summarise(aantalsp = sum(aantal, na.rm = TRUE)) %>% + dplyr::filter(aantalsp > 0) %>% + mutate(pi = aantalsp/totaal) %>% + mutate(lnpi = log(pi)) %>% + mutate(pilnpi = pi * lnpi) %>% + ungroup() %>% + group_by(telseizoen1, niveau3) %>% + summarise(H_shannon = sum(pilnpi *-1, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), H_shannon, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line(size = 1) + + labs(x = "telseizoen", + y = "Shannon diversiteit H") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank())+ + scale_y_continuous() + +# ggsave(paste0(pad_figuren, "100_figuur_ShannonDiversity_wintervogels.jpg")) +ggsave(paste0(pad_figuren, "100_figuur_ShannonDiversity_wintervogels_metmeeuwen.jpg")) + +levels(data_watervogels$niveau3) + +###facet_wrap figuur +data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 %in% c(2009:2024)) %>% + # dplyr::filter(taxongroepcode != "MS") %>% # geen meeuwen of sternen # geen meeuwen of sternen + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(krwzone != "Getijdedurme" | telseizoen1 > 2012) %>% + # dplyr::filter(krwzone != "Getijdedijle en Getijdezenne") %>% #EMSE rapporteert niet over Dijle en Zenne + dplyr::filter(krwzone != "Getijdedijle en Getijdezenne" | telseizoen1 != 2006) %>% + group_by(telseizoen1, niveau3) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, niveau3, nednaam,totaal) %>% + summarise(aantalsp = sum(aantal, na.rm = TRUE)) %>% + dplyr::filter(aantalsp > 0) %>% + mutate(pi = aantalsp/totaal) %>% + mutate(lnpi = log(pi)) %>% + mutate(pilnpi = pi * lnpi) %>% + ungroup() %>% + group_by(telseizoen1, niveau3) %>% + summarise(H_shannon = sum(pilnpi *-1, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), H_shannon, group = niveau3)) + + geom_line(size = 1) + + labs(x = "telseizoen", + y = "Shannon diversiteit H") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank())+ + scale_y_continuous()+ + facet_wrap(~niveau3) + + + +##grafiek niveau2 +data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 %in% c(2001:2024)) %>% + # dplyr::filter(taxongroepcode != "MS") %>% # geen meeuwen of sternen # geen meeuwen of sternen + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(krwzone != "Getijdedurme" | telseizoen1 > 2012) %>% + # dplyr::filter(krwzone != "Getijdedijle en Getijdezenne") %>% #EMSE rapporteert niet over Dijle en Zenne + group_by(telseizoen1, niveau2) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, niveau2, nednaam,totaal) %>% + summarise(aantalsp = sum(aantal, na.rm = TRUE)) %>% + dplyr::filter(aantalsp > 0) %>% + mutate(pi = aantalsp/totaal) %>% + mutate(lnpi = log(pi)) %>% + mutate(pilnpi = pi * lnpi) %>% + ungroup() %>% + group_by(telseizoen1, niveau2) %>% + summarise(H_shannon = sum(pilnpi *-1, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), H_shannon, group = niveau2, color = niveau2)) + + geom_point(aes(shape = niveau2)) + + geom_line(size = 1) + + labs(x = "telseizoen", + y = "Shannon diversiteit H") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank())+ + scale_y_continuous()+ + ylim(0.75, 2.6) + +ggsave(paste0(pad_figuren, "100_figuur_ShannonDiversity_wintervogels_metmeeuwen_niveau2.jpg")) + +``` + +##### figuur maandelijkse totalen wintervogels Zeeschelde + +```{r 100-figuur-maandelijkse-totalen-winter-Zeeschelde, fig.height=5, fig.width=8} + +# data_watervogels %>% +# dplyr::filter(str_detect(krwcode, "ZS")) %>% ##♦dit rekent inclusief rupel +# mutate(datum = paste(jaar, maand, "15", sep = "-") %>% +# ymd()) %>% +# group_by(telseizoen, datum) %>% +# summarise(aantal = sum(aantal)) %>% +# ungroup() %>% +# ggplot(aes(datum, aantal)) + +# geom_col() + +# scale_x_date(date_breaks = "1 year", date_labels = "%Y") + +# labs(x = "datum", y = "aantal") + +# theme(axis.text.x = element_text(angle = 35)) +# probleem met deze figuur is dat sinds het stopzetten van de zomertellingen stroomop Antwerpen de zomercijfers niet meer in 1 figuur kunnen gezien worden - dit kan enkel nog in ZS4 waar jaarrond telling is. + +data_watervogels %>% + dplyr::filter(rivier == "Zeeschelde") %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(datum > "2020-06-01") %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(color = "trendlijn")) + +ggsave(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_ZSwinter.jpg")) + +data_watervogels %>% + dplyr::filter(rivier == "Zeeschelde") %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(datum > "2007-06-01") %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(color = "trendlijn")) +ggsave(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_ZSwinter_sinds2008.jpg")) + +``` + +##### figuur maandelijkse totalen vogels Zeeschelde IV - Saliniteitsgradiënt + +```{r 100-figuur-maandelijkse-totalen-ZeescheldeIV, fig.height=5, fig.width=8} +data_watervogels %>% + dplyr::filter(krwcode == "ZS4") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + # dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(datum < "2025-04-01") %>% + # dplyr::filter(teldatum > "2007-06-01") %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen,datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal", title = "Maandelijkse totalen saliniteitsgradiënt") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(), color = "red") + +ggsave(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_ZSIV.jpg")) + +data_watervogels %>% + dplyr::filter(krwcode == "ZS4") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + # dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(datum < "2025-04-01") %>% + dplyr::filter(datum > "2007-10-01") %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen,datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal", title = "Maandelijkse totalen saliniteitsgradiënt") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(), color = "red") + +ggsave(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_ZSIV_sinds2008.jpg")) + + +data_watervogels %>% + dplyr::filter(krwcode == "ZS4") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + # dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(maand %in% c(4:9)) %>% + dplyr::filter(nednaam == "Scholekster") %>% + dplyr::filter(datum < "2025-04-01") %>% + dplyr::filter(datum > "2007-10-01") %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen,datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal", title = "Maandelijkse totalen saliniteitsgradiënt") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(), color = "red") +ggsave(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_saliniteitsgradient_scholekster.jpg")) + +data_watervogels %>% + dplyr::filter(krwcode == "ZS4") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + # dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(maand %in% c(4:9)) %>% + dplyr::filter(nednaam == "Bergeend") %>% + dplyr::filter(datum < "2025-04-01") %>% + dplyr::filter(datum > "2007-10-01") %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen,datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal", title = "Maandelijkse totalen saliniteitsgradiënt") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(), color = "red") +``` + +##### figuur maandelijkse totalen vogels Zeeschelde II - Zoet lang - focusgrafieken +```{r 100-figuur-maandelijkse-totalen-ZeescheldeII, fig.height=5, fig.width=8} + +data_watervogels %>% + dplyr::filter(krwcode == "ZS2") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(datum > "2007-06-01") %>% + dplyr::filter(datum < "2025-04-01") %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen,datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal", title = "Maandelijkse totalen zoet lang Boottellingen") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(), color = "red") + +ggsave(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_ZSII_sinds2008.jpg")) + +data_watervogels %>% + dplyr::filter(krwcode == "ZS2") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(datum > "2007-06-01") %>% + dplyr::filter(datum < "2025-04-01") %>% + dplyr::filter(nednaam == "Bergeend") %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen,datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal", title = "Bergeend maandelijkse totalen zoet lang Boottellingen") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(), color = "red") + +ggsave(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_ZSII_Bergeendsinds2008.jpg")) + +# Waterbirds_all <- +# read_delim(paste0(pad_data, "Watervogels_all_ruwedata.csv"), +# delim = ";") +# Waterbirds_all <- +# Waterbirds_all %>% +# mutate(jaar = teldatum %>% +# ymd() %>% +# year(), +# maand = teldatum %>% +# ymd() %>% +# month()) +# +# Waterbirds_all %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# # dplyr::filter(telseizoen1 > 2009) %>% +# dplyr::filter(analyseset == "SIGMA_MIDMA") %>% +# dplyr::filter(gebiedsgroep == "Estuarien" | gebiedsgroep == "Wetland") %>% +# dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld +# dplyr::filter(analyseset == "SIGMA_MIDMA") %>% +# group_by(telseizoen, maand, krwcode) %>% +# summarise(som = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, krwcode) %>% +# summarise(maximum = max(som, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), maximum)) + +# geom_col() + +# labs(x = "telseizoen", +# y = "wintermaximum per telseizoen") + +# facet_wrap(~krwcode, +# ncol = 2, scales = "free") + +# theme(axis.text.x = element_text(angle = 90)) +# +# ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_sigma_estuarien_wetland.jpg")) +# +# table(check$krwcode) +# +# Waterbirds_all %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(telseizoen1 > 2009) %>% +# dplyr::filter(analyseset == "SIGMA_MIDMA") %>% +# dplyr::filter(gebiedsgroep == "Estuarien" | gebiedsgroep == "Wetland") %>% +# dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld +# group_by(telseizoen, maand,gebiedsgroep) %>% +# summarise(som = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, gebiedsgroep) %>% +# summarise(gemiddelde = mean(som, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), gemiddelde)) + +# geom_col() + +# labs(x = "telseizoen", +# y = "gemiddelde per telseizoen") + +# facet_wrap(~gebiedsgroep, +# # ncol = 2, scales = "free" +# ) + +# theme(axis.text.x = element_text(angle = 90)) +# +# +# +# Waterbirds_sigma_estuarien %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# # dplyr::filter(telseizoen1 > 2009) %>% +# dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld +# group_by(telseizoen, maand, krwcode) %>% +# summarise(som = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, krwcode) %>% +# summarise(maximum = max(som, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), maximum)) + +# geom_col() + +# labs(x = "telseizoen", +# y = "wintermaximum per telseizoen Sigma estuarien") + +# facet_wrap(~krwcode, +# ncol = 2, scales = "free") + +# theme(axis.text.x = element_text(angle = 90)) +# +# Waterbirds_sigma_estuarien %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# # dplyr::filter(telseizoen1 > 2009) %>% +# dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld +# group_by(telseizoen, maand, krwcode) %>% +# summarise(som = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, krwcode) %>% +# summarise(gemiddelde = mean(som, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), gemiddelde)) + +# geom_col() + +# labs(x = "telseizoen", +# y = "gemiddelde per telseizoen Sigma estuarien") + +# facet_wrap(~krwcode, +# ncol = 2, scales = "free") + +# theme(axis.text.x = element_text(angle = 90)) + +``` + + +```{r 100-figuur-maandelijkse-wintertotalen-KRWzones} +data_watervogels %>% + # dplyr::filter(krwcode == "ZS4") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(datum > "2005-10-01" & datum < "2025-04-01") %>% # + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + dplyr::filter(nednaam =="Wintertaling") %>% + group_by(telseizoen,datum,krwcode, niveau3) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(), color = "red") + + facet_wrap(~niveau3, ncol = 2, scales = "free")+ + ggtitle("Wintertaling") + + + +``` + +##### figuur verhouding aantallen + +```{r 100-figuur-verhouding-aantallen, fig.height=5, fig.width=8} + +# figuur met gemiddelde over tellingen per seizoen en gebiedsgroep +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + # dplyr::filter(gebiedsgroep != "Getijdedurme" | telseizoen1 > 2012) %>% #Het telgebied oude durme en durme was vroeger samengeteld - dat is een probleem voor de estuariene evaluatie vn de watervogels + dplyr::filter(rivier =="Zeeschelde") %>% + group_by(telseizoen, niveau3, rivier) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, fill = niveau3)) + + geom_col(position = "fill") + + scale_y_continuous(breaks = seq(0,1,0.1), labels = paste0(seq(0,100,10),"%")) + + scale_fill_manual(values = inbo_palette()) + + labs(x = "telseizoen", + y = "") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_verhouding_aantallen_niveau3Zeeschelde.jpg")) + +# dit is de oorspronkelijke figuur met de som over alle tellingen +# data_watervogels %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen, gebiedsgroep) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal, fill = gebiedsgroep)) + +# geom_col(position = "fill") + +# scale_y_continuous(breaks = seq(0,1,0.1), labels = paste0(seq(0,100,10),"%")) + +# scale_fill_manual(values = inbo.2015.colours()) + +# labs(x = "telseizoen", y = "") + +# theme(axis.text.x = element_text(angle = 35), +# legend.position = "bottom", +# legend.title = element_blank()) + +``` + +##### figuur wintermaxima Zeeschelde + +```{r 100-figuur-wintermaxima-Zeeschelde, fig.height=6, fig.width=8} + + +# figuur met max over tellingen per seizoen en gebiedsgroep + +data_watervogels %>% + dplyr::filter(rivier == "Zeeschelde") %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen) %>% + summarise(maximum = max(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), maximum)) + + geom_col() + + labs(x = "telseizoen", + y = "wintermaximum per telseizoen") + + theme(axis.text.x = element_text(angle = 90)) + +ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_Zeeschelde.jpg")) + +wintermaximumZS <- data_watervogels %>% + dplyr::filter(rivier == "Zeeschelde") %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen) %>% + summarise(maximum = max(som, na.rm = TRUE)) + +knitr::kable(wintermaximumZS) + +# tabel met maximum per jaar en in welke maand dit viel +# tabel waarin geteld wordt in welke maand het maximum valt per seizoen /// lukt me niet direct om de code goed te krijgen +# wintermaximummaandZS <- data_watervogels %>% +# dplyr::filter(rivier == "Zeeschelde") %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld +# group_by(telseizoen, maand) %>% +# summarise(som = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(maand, som) %>% +# summarise(maandmax = count(som, na.rm = TRUE)) +# +# knitr::kable(wintermaximummaandZS) +``` + +##### figuur wintermaxima KRW + +```{r 100-figuur-wintermaxima-KRWzones, fig.height=6, fig.width=8} + + +# figuur met max over tellingen per seizoen en gebiedsgroep + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 > 2008) %>% + dplyr::filter(krwzone != "Getijdedurme" | telseizoen1 > 2012) %>% #Het telgebied oude durme en durme was vroeger samengeteld - dat is een probleem voor de estuariene evaluatie vn de watervogels + group_by(telseizoen, niveau3, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3) %>% + summarise(maximum = max(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), maximum)) + + geom_col() + + labs(x = "telseizoen", + y = "wintermaximum per telseizoen") + + facet_wrap(~niveau3, + ncol = 2, scales = "free") + + theme(axis.text.x = element_text(angle = 90)) + +ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_niveau3.jpg")) + + +``` + +##### figuur wintermaxima zijrivieren + +```{r 100-figuur-wintermaxima-zijrivieren, fig.height=6, fig.width=8} + +# figuur met max over tellingen per seizoen en gebiedsgroep + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(krwzone != "Getijdedurme" | telseizoen1 > 2012) %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, rivier, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, rivier) %>% + summarise(maximum = max(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), maximum)) + + geom_col() + + labs(x = "telseizoen", + y = "wintermaximum per telseizoen") + + facet_wrap(~rivier, + ncol = 2, scales = "free") + + theme(axis.text.x = element_text(angle = 90)) + +ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_rivier.jpg")) +``` + +#### Watervogels Sigma estuarien en wetlands + +```{r winteraantallen Sigma} + +##nog te doen + +table(Tellingen_ZS_alles$gebiedsklassecode) +table(Tellingen_ZS_alles$zone) +table(Tellingen_ZS_alles$projectcode) + +Tellingen_ZS_alles %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(telseizoen1 > 2009) %>% + dplyr::filter(projectcode == "MIDMA") %>% + dplyr::filter(zone == "Sigma-Estuarien" | zone == "Sigma-Wetland") %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, maand, zone) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, zone) %>% + summarise(maximum = max(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), maximum)) + + geom_col() + + labs(x = "telseizoen", + y = "wintermaximum per telseizoen") + + facet_wrap(~zone, + # ncol = 2, scales = "free" + ) + + theme(axis.text.x = element_text(angle = 90)) + +ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_sigma_estuarien_wetland.jpg")) + +# Waterbirds %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(telseizoen1 > 2009) %>% +# dplyr::filter(analyseset == "SIGMA_MIDMA") %>% +# dplyr::filter(gebiedsgroep == "Wetland") %>% +# dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld +# group_by(telseizoen, maand, gebiedsgroep, krwcode) %>% +# summarise(som = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, gebiedsgroep, krwcode) %>% +# summarise(maximum = max(som, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), maximum)) + +# geom_col() + +# labs(x = "telseizoen", +# y = "wintermaximum per telseizoen") + +# facet_wrap(~krwcode, +# # ncol = 2, scales = "free" +# ) + +# theme(axis.text.x = element_text(angle = 90)) + + +Tellingen_ZS_alles %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(telseizoen1 > 2009) %>% + dplyr::filter(projectcode == "MIDMA") %>% + dplyr::filter(zone == "Sigma-Estuarien") %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, maand, zone) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, zone) %>% + summarise(maximum = max(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), maximum)) + + geom_col() + + labs(x = "telseizoen", + y = "wintermaximum per telseizoen") + + theme(axis.text.x = element_text(angle = 90)) + +ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_sigma_estuarien.jpg")) +``` + +#### details Sigmagebieden + +```{r detail sigmagebieden} + +# check <- Waterbirds_sigma_estuarien %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(telseizoen1 > 2009) %>% +# group_by(telseizoen1, maand, gebied) %>% +# summarise(som = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1, gebied) %>% +# summarise(maximum = max(som, na.rm = TRUE)) +# +# table(Waterbirds_sigma_estuarien$gebied) +# +# Waterbirds_sigma_estuarien <-Waterbirds_sigma_estuarien %>% +# mutate(gebied = fct_relevel(gebied, c("Molen / Potpolder LILLO", "Burchtse Weel - Getijdengebied","GOG-GGG Kruibeekse Polder","GOG-GGG Bazelse Polder Noord","Bazelse Kreek KRUIBEKE", "Kruibeekse Kreek KRUIBEKE","Lippensbroek HAMME","Groot Schoor HAMME", "Bergenmeersen WICHELEN","Wijmeers-Ontpoldering UITBERGEN", "Ontpoldering Heusdenbrug (vroeger Driehoekig Plasje) HEUSDEN", "GGG Zennegat MECHELEN"))) +# +# Waterbirds_sigma_estuarien %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(telseizoen1 > 2009) %>% +# group_by(telseizoen1, maand, gebied, Sigmagebiedstype) %>% +# summarise(som = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1, gebied, Sigmagebiedstype) %>% +# summarise(maximum = max(som, na.rm = TRUE)) %>% +# ggplot(aes(as.factor(telseizoen1), maximum, colour = Sigmagebiedstype)) + +# geom_line(aes(group = 1)) + +# # geom_point()+ +# facet_wrap(~gebied, scales = "free")+ +# expand_limits(y=0)+ +# theme(axis.text.x = element_text(angle = 90)) +# +# +# +# ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_sigmagebieden_estuarien.jpg"), width = 30, height = 15, units = "cm" ) +# +# Waterbirds_sigma_estuarien %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(telseizoen1 > 2009) %>% +# group_by(telseizoen1, maand, gebied, Sigmagebiedstype) %>% +# summarise(som = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1, gebied, Sigmagebiedstype) %>% +# summarise(gemiddelde = mean(som, na.rm = TRUE)) %>% +# ggplot(aes(as.factor(telseizoen1), gemiddelde, colour = Sigmagebiedstype)) + +# geom_line(aes(group = 1)) + +# # geom_point()+ +# facet_wrap(~gebied, scales = "free")+ +# expand_limits(y=0)+ +# theme(axis.text.x = element_text(angle = 90)) + +``` + +#### Natuurindicator berekening IHD-Z + +```{r wintermaximum-Natuurindicatorberekening, fig.height=6, fig.width=8} + +# IHD-Z: gemiddelde van de seizoensmaxima (excl. meeuwen) over de laatse 5 seizoenen mag niet minder zijn dan 40 000. Dit criterium is afgeleid van de aantallen op de Zeeschelde maar de doelen moeten gehaald worden binnen werkingsgebied IHD-Z (? of enkel binnen estuarium Zeeschelde) +# er is ook een criterium voor het seizoensminimum voor de Zeeschelde (3500) maar door het terugschroeven van de monitoring kan dit niet meer berekend worden (en in de sigma en vallei gebieden is er geen systematische jaarrond watervogeltelling als je dit zou willen evalueren op het volledige IHD-Z gebied) + +##pas telseizoen1 aan! + +SeizMax <- function(data, type){ + data %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 %in% c(1991:2024)) %>% + dplyr::filter(taxongroupcode != "MS") %>% # geen meeuwen of sternen # geen meeuwen of sternen + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + group_by(telseizoen1) %>% + summarise(Wmax = max(aantal, na.rm = TRUE)) %>% + mutate(type = type) +} + +Wmax_Zsch <- data_watervogels %>% + dplyr::filter(rivier == "Zeeschelde") %>% + SeizMax("Zeeschelde") #zonder de boottellingen op de rupel + +##voor natuurindicator met zijrivieren +Wmax_Zsch_ZR <- data_watervogels %>% + SeizMax("Zeeschelde + zijrivieren") + +Wmax_Zsch_ZR_Sigma <- + Tellingen_ZS_alles %>% + # dplyr::filter(telseizoen1 > 2009) %>% + dplyr::filter(zone == "Sigma-Estuarien" | zone == "Sigma-Wetland" | zone == "Zeeschelde" | zone == "Zijrivieren Zeeschelde") %>% + dplyr::filter(taxongroupcode != "MS") %>% + group_by(telseizoen1, + krwcode, + zone, + rivier, + telseizoen, + teldatum, + nednaam, + taxongroupcode, + maand) %>% + summarise(aantal = sum(aantal)) %>% + SeizMax("Zeeschelde + zijrivieren + Sigma") + + +table(Tellingen_ZS_alles$krwcode) + +# Wmax_Zsch_boottelling <- Waterbirds %>% +# dplyr::filter(krwcode == "ZSEST") %>% +# dplyr::filter(analyseset == "boottelling") %>% +# group_by(telseizoen1, +# krwcode, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# taxongroepcode, +# maand) %>% +# summarise(aantal = sum(aantal)) %>% +# SeizMax("Zeeschelde_Rupelboottelling") #met boottellingen op Rupel + +# Wmax_Zsch_boottellingss <- data_analysesets %>% +# dplyr::filter(analyseset == "boottelling") %>% +# dplyr::filter(krwcode == "ZSEST") %>% +# dplyr::filter(rivier == "Zeeschelde") %>% +# group_by(telseizoen1, +# krwcode, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# taxongroepcode, +# maand) %>% +# summarise(aantal = sum(aantal)) %>% +# SeizMax("Zeeschelde_boottellingss") + + +#wwintermaximum Zeeschelde (zonder ZR) en sigmagebieden estuarien (langs Zeeschelde) +# Wmax_Zsch_Sigma_estuarien <- Waterbirds %>% +# dplyr::filter(analyseset == "boottelling" | analyseset == "SIGMA_MIDMA") %>% +# dplyr::filter(krwcode == "ZSEST" ) %>% +# dplyr::filter(rivier == "Zeeschelde") %>% +# group_by(telseizoen1, +# krwcode, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# taxongroepcode, +# maand) %>% +# summarise(aantal = sum(aantal)) %>% +# SeizMax("Zeeschelde_boottelling_Sigma_estuarien") +# +# #wwintermaximum Zeeschelde (zonder ZR) en sigmagebieden estuarien (langs Zeeschelde) +# Wmax_Zsch_Sigma_estuarien_wetland <- Waterbirds %>% +# dplyr::filter(analyseset == "boottelling" | analyseset == "SIGMA_MIDMA") %>% +# dplyr::filter(krwcode == "ZSEST"| krwcode == "WETL" ) %>% +# dplyr::filter(rivier == "Zeeschelde") %>% +# group_by(telseizoen1, +# krwcode, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# taxongroepcode, +# maand) %>% +# summarise(aantal = sum(aantal)) %>% +# SeizMax("Zeeschelde_boottelling_Sigma_estuarien_wetland") +# +# +# +# + + + + +``` + +```{r bereken glijdendgemiddel met CI, include=FALSE} +# Bereken glijdend gemiddelde met CI +# data = tibble, x = column for x-data, value = column with data for rolling mean, n = width of average(window size) +mav_wm <- function(data, x, value, n){ + rol <- data %>% + mutate(x = x, + v = value, + m = roll_mean(value,n=n, fill = NA), + sd = roll_sd(value,n=n, fill = NA), + ci_min = m + 1.96*sd/sqrt(n), + ci_max = m - 1.96*sd/sqrt(n)) +} +mav_Zsc <- Wmax_Zsch %>% mav_wm(.$telseizoen1, .$Wmax, 5) +mav_Zscboottelling <- Wmax_Zsch_boottelling %>% mav_wm(.$telseizoen1, .$Wmax, 5) +mav_ZschSigma_estuarien <- Wmax_Zsch_Sigma_estuarien %>% mav_wm(.$telseizoen1, .$Wmax, 5) +mav_ZschSigma_estuarien_wetland <- Wmax_Zsch_Sigma_estuarien_wetland %>% mav_wm(.$telseizoen1, .$Wmax, 5) + +##voor natuurindicator +mav_Zsc_ZR <- Wmax_Zsch_ZR %>% mav_wm(.$telseizoen1, .$Wmax, 5) + +mav_Zsc_ZR %>% + write_csv(paste0(pad_tabellen, "mav_Zsc_ZR.csv")) +mav_Zsc_ZR %>% write_tsv(paste0(pad_tabellen, "mav_Zsc_ZR.tsv")) +mav_Zsc_ZR_Sigma <- Wmax_Zsch_ZR_Sigma %>% mav_wm(.$telseizoen1, .$Wmax, 5) +mav_Zsc_ZR_Sigma %>% write_tsv(paste0(pad_tabellen, "mav_Zsc_ZR_Sigma.tsv")) + +mav_Zsc_ZR_Sigma %>% + write_csv(paste0(pad_tabellen, "mav_Zsc_ZR_Sigma.csv")) + +# mav_ZscZRSigmaVallei <- Wmax_ZschZRSigmaVallei %>% mav_wm(.$telseizoen1, .$Wmax, 5) +# mav_ZscSigma <- Wmax_Zsch_Sigma %>% mav_wm(.$telseizoen1, .$Wmax, 5) +# mav_ZscSigmaVallei <- Wmax_Zsch_Sigma_vallei %>% mav_wm(.$telseizoen1, .$Wmax, 5) + + +# mav_Zsc %>% +# write_delim(paste0(pad_data, "mav_Zsc.csv"), +# delim = ";") + +# mav_ZscZR %>% +# write_delim(paste0(pad_data, "mav_ZscZR.csv"), +# delim = ";") +# +# mav_ZscZRSigma %>% +# write_delim(paste0(pad_data, "mav_ZscZRSigma.csv"), +# delim = ";") +# +# mav_ZscZRSigmaVallei %>% +# write_delim(paste0(pad_data, "mav_ZscZRSigmaVallei.csv"), +# delim = ";") + +# Doelstelling "Zeeschelde IHD-Z" bepaald op basis van winterseizoens glijdend gemiddelde (n=5) tussen 1995-2005 aantal vogels + +#enkel langsheen de Zeeschelde (excl. rupel) +mav_Zsc %>% + dplyr::filter(telseizoen1%in% c(1995:2005)) %>% + summarise(doel = mean(m, na.rm = TRUE)) %>% + pull() + +#enkel langsheen de Zeeschelde (incl. rupel) +mav_Zscboottelling %>% + dplyr::filter(telseizoen1%in% c(1995:2005)) %>% + summarise(doel = mean(m, na.rm = TRUE)) %>% + pull() + +##enkel berekend in de Zeeschelde vallei ss (sigmagebieden langs Zeeschelde) +# mav_ZscSigma %>% +# dplyr::filter(telseizoen1%in% c(1995:2005)) %>% +# summarise(doel = mean(m, na.rm = TRUE)) %>% +# pull() +# +# mav_ZscSigmaVallei%>% +# dplyr::filter(telseizoen1%in% c(1995:2005)) %>% +# summarise(doel = mean(m, na.rm = TRUE)) %>% +# pull() + +#gemiddelde max winterseizoen 1995-2005 Zeeschelde is 41926 (43952 als ook de boottellingen langsheen de Rupel beschouwd) - het doel is destijds afgerond naar onder en nu verondersteld als te behalen doelstelling binnen Zeeschelde + zijrivieren + Sigmagebieden (wetland + ontpoldering) (maar niet binnen de vallei IHD-Z contour) + +# mav_ZscZR %>% +# dplyr::filter(telseizoen1%in% c(1995:2005)) %>% +# summarise(doel = mean(m, na.rm = TRUE)) +# +# mav_ZscZRSigma %>% +# dplyr::filter(telseizoen1%in% c(1995:2005)) %>% +# summarise(doel = mean(m, na.rm = TRUE)) +# +# mav_ZscZRSigmaVallei %>% +# dplyr::filter(telseizoen1%in% c(1995:2005)) %>% +# summarise(doel = mean(m, na.rm = TRUE)) + + +``` + +```{r plotfunctie natuurindicator, include=FALSE} +# Plot glijdend gemiddelde + +# plot_mav <- function(data){ +# if(n_distinct(data$type)<2){ +# data %>% ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5, color="blue") + +# geom_line(aes(y=m), color="blue") + +# geom_hline(yintercept = 40000, linetype = 2, size = 1.4) + +# labs(y = "Wintermaximum") + +# scale_x_continuous(breaks = seq(1990, 2020, by = 5)) + +# scale_y_continuous(breaks = seq(0, 85000, by = 20000), +# limits = c(0, 85000)) + +# theme(axis.title.x = element_blank()) } +# else{ +# data %>% ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max, color = type), width=.2, +# position=position_dodge(0.1)) + +# geom_point(aes(y=m, color = type), size = 2.5) + +# geom_line(aes(y=m, color = type)) + +# geom_hline(yintercept = 40000, linetype = 2, size = 1.4) + +# labs(y = "Wintermaximum") + +# scale_x_continuous(breaks = seq(1990, 2020, by = 5)) + +# scale_y_continuous(breaks = seq(0, 85000, by = 20000), +# limits = c(0, 85000)) + +# theme(axis.title.x = element_blank()) + +# scale_color_manual(values=c("blue", "red"))+ +# theme(legend.title=element_blank(), +# legend.position="top") } +# } + +plot_mav <- function(data){ + if(n_distinct(data$type)<2){ + data %>% ggplot(aes(x=x)) + + geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + + geom_point(aes(y=m), size = 2.5, color="blue") + + geom_line(aes(y=m), color="blue") + + # geom_hline(yintercept = 40000, linetype = 2, size = 1.4) + + labs(y = "Wintermaximum") + + scale_x_continuous(breaks = seq(1990, 2022, by = 5)) + + scale_y_continuous(breaks = seq(0, 85000, by = 20000), + limits = c(0, 85000)) + + theme(axis.title.x = element_blank()) + }else if(n_distinct(data$type)>1 & n_distinct(data$type)<3){ + data %>% ggplot(aes(x=x)) + + geom_errorbar(aes(ymin=ci_min, ymax=ci_max, color = type), width=.2, + position=position_dodge(0.1)) + + geom_point(aes(y=m, color = type), size = 2.5) + + geom_line(aes(y=m, color = type)) + + # geom_hline(yintercept = 40000, linetype = 2, size = 1.4) + + labs(y = "Wintermaximum") + + scale_x_continuous(breaks = seq(1990, 2022, by = 5)) + + scale_y_continuous(breaks = seq(0, 85000, by = 20000), + limits = c(0, 85000)) + + theme(axis.title.x = element_blank()) + + scale_color_manual(values=c("blue", "red"))+ + theme(legend.title=element_blank(), + legend.position="top") + }else{ + data %>% ggplot(aes(x=x)) + + geom_errorbar(aes(ymin=ci_min, ymax=ci_max, color = type), width=.2, + position=position_dodge(0.1)) + + geom_point(aes(y=m, color = type), size = 2.5) + + geom_line(aes(y=m, color = type)) + + # geom_hline(yintercept = 40000, linetype = 2, size = 1.4) + + labs(y = "Wintermaximum") + + scale_x_continuous(breaks = seq(1990, 2022, by = 5)) + + scale_y_continuous(breaks = seq(0, 85000, by = 20000), + limits = c(0, 85000)) + + theme(axis.title.x = element_blank()) + + scale_color_manual(values=c("blue", "red","green"))+ + theme(legend.title=element_blank(), + legend.position="top") + } + } +``` + +```{r 100-figuur-wintermaximum-Natuurindicatorberekening, fig.height=6, fig.width=15} + +# , fig.cap="Vijfjarig glijdend gemiddelde van het wintermaximum van het totaal aantal watervogels in de getijderivieren van het Zeeschelde-estuarium." + +# mav_Zsc %>% +# dplyr::filter(telseizoen1%in% c(1995:2005)) %>% +# plot_mav() +# ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_glijdendgemiddelde_ZS_doelIHD.jpg")) +# +# # mav_Zsc %>% bind_rows(mav_ZscSigma) %>% +# # plot_mav() +# + +mav_Zsc %>% plot_mav() + +mav_Zsc %>% bind_rows(mav_ZschSigma_estuarien) %>% plot_mav() +ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_glijdendgemiddelde_Zeeschelde_estuarien.jpg")) + +mav_Zsc_ZR %>% plot_mav() +mav_Zsc_ZR %>% bind_rows(mav_Zsc_ZR_Sigma) %>% + plot_mav() + +ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_website2023.png"), width = 30, height = 15, units = "cm") + +mav_Zsc %>% bind_rows(mav_ZschSigma_estuarien) %>% bind_rows(mav_ZschSigma_estuarien_wetland) %>% plot_mav() +ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_ZeescheldeSS_estuarien_Wetland.png"), width = 30, height = 15, units = "cm") + +# +# mav_Zsc %>% bind_rows(mav_ZscSigma) %>% bind_rows(mav_ZscSigmaVallei) %>% +# plot_mav() +# ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_glijdendgemiddelde_Zeeschelde_sensustricto.jpg")) +# +# +# mav_ZscZR %>% plot_mav() +# +# ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_glijdendgemiddelde_ZSZR.jpg")) +# +# mav_ZscZR %>% bind_rows(mav_ZscZRSigma) %>% +# plot_mav() +# +# ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_glijdendgemiddelde_ZSZR_Sigma.jpg")) +# +# mav_ZscZR %>% bind_rows(mav_ZscZRSigma) %>% bind_rows(mav_ZscZRSigmaVallei) %>% +# plot_mav() +# +# ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_glijdendgemiddelde_ZSZR_Sigma_Vallei.jpg")) +# + +``` + +### IHD overwinterende watervogels - soortdoelstellingen S-IHD besluit + +```{r berekening s-IHD soortdoelstellingen} + +# populatiedoelstellingen te bepalen obv dataset IHD-Z werkingsgebied: Zeeschelde + zijrivieren + Sigmagebieden + exclusief rest-IHDgebied/vallei wat geen deel is van S-IHD +# pijlstaart : winter seizoensgemiddelde telseizoen 2000/01 tot 2005/06 +# wintertaling : winter seizoensgemiddelde telseizoen 1998/99 tot 2005/06 +# krakeend: winter seizoensgemiddelde telseizoen 2002/03 tot 2006/07 +# tafeleend: winter seizoensgemiddelde telseizoen 2001/02 tot 2006/07 +# bergeend: winter seizoensgemiddelde telseizoen 1992/93 tot 2006/07 +# slobeend: winter seizoensgemiddelde telseizoen 2001/02 tot 2006/07 +# kleine zwaan : winter seizoensgemiddelde telseizoen 2001/02 tot 2006/07 (niet gespecifieerd in S-IHD rapport maar hier verondersteld) +# kokmeeuw : winter seizoensgemiddelde telseizoen 2001/02 tot 2006/07 (niet gespecifieerd in S-IHD rapport maar hier verondersteld) + +##### doelstellingen op basis van Zeeschelde + zijrivieren + +doelpijlstaart <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Pijlstaart") %>% + dplyr::filter(telseizoen1 %in% c(2000:2005)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doelwintertaling <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Wintertaling") %>% + dplyr::filter(telseizoen1 %in% c(1998:2005)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doelkrakeend <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Krakeend") %>% + dplyr::filter(telseizoen1 %in% c(2002:2006)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doeltafeleend <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Tafeleend") %>% + dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doelbergeend <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Bergeend") %>% + dplyr::filter(telseizoen1 %in% c(1992:2006)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doelslobeend <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Slobeend") %>% + dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doelkleinezwaan <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Kleine Zwaan") %>% + dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doelkokmeeuw <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Kokmeeuw") %>% + dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + + +##### doelstellingen op basis van Zeeschelde + zijrivieren + Sigmagebieden + +## code nog aan te passen aan data_analysesets + +# doelpijlstaart_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Pijlstaart") %>% +# dplyr::filter(telseizoen1 %in% c(2000:2005)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doelwintertaling_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Wintertaling") %>% +# dplyr::filter(telseizoen1 %in% c(1998:2005)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doelkrakeend_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Krakeend") %>% +# dplyr::filter(telseizoen1 %in% c(2002:2006)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doeltafeleend_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Tafeleend") %>% +# dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doelbergeend_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Bergeend") %>% +# dplyr::filter(telseizoen1 %in% c(1992:2006)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doelslobeend_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Slobeend") %>% +# dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doelkleinezwaan_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Kleine Zwaan") %>% +# dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doelkokmeeuw_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Kokmeeuw") %>% +# dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() + +# +# doelpijlstaart <- pijlstaart %>% +# group_by(telseizoen) %>% +# summarise(jaartot = sum(aantal, na.rm = TRUE)) +# +# +# +# mav_ZscZR <- Wmax_ZschZR %>% mav_wm(.$telseizoen1, .$Wmax, 5) +# mav_ZscZRSigma <- Wmax_ZschZRSigma %>% mav_wm(.$telseizoen1, .$Wmax, 5) +# mav_ZscZRSigmaVallei <- Wmax_ZschZRSigmaVallei %>% mav_wm(.$telseizoen1, .$Wmax, 5) + +``` + +```{r 100-figuur_S-IHD overwinterende watervogels soortdoelstellingen} + +# table(data_analysesets$analyseset) +# ## dataset nog te aan te passen +# mean_S_IHD <- data_analysesets %>% +# dplyr::filter(nednaam %in% c("Bergeend", "Kleine Zwaan", "Kokmeeuw","Krakeend", "Pijlstaart", "Slobeend", "Tafeleend", "Wintertaling")) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(gebiedsgroep == "Estuarien") %>% +# group_by(nednaam, telseizoen1, maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(nednaam, telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) +# +# +# mav_S_IHD_Bergeend <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Bergeend") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Wintertaling <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Wintertaling") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Krakeend <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Krakeend") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Pijlstaart <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Pijlstaart") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Slobeend <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Slobeend") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Kokmeeuw <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Kokmeeuw") %>% +# dplyr::filter(telseizoen1>1998) %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Tafeleend <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Tafeleend") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Kleinezwaan <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Kleine Zwaan") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# +# ##zou met functie moeten kunnen voor alle soorten en dan grafiek met facet_wrap op nednaam en met toevoeging van doelstelling geom_hline per soort +# ## 1 soort: +# +# mav_S_IHD_Bergeend %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelbergeend, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelbergeend_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Bergeend") +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Bergeend.jpg")) +# +# +# mav_S_IHD_Wintertaling %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelwintertaling, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelwintertaling_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Wintertaling") +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Wintertaling.jpg")) +# +# mav_S_IHD_Krakeend %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelkrakeend, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelkrakeend_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Krakeend") +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Krakeend.jpg")) +# +# mav_S_IHD_Pijlstaart %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelpijlstaart, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelpijlstaart_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank()) + +# labs(title = "Pijlstaart") +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Pijlstaart.jpg")) +# +# mav_S_IHD_Slobeend %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelslobeend, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelslobeend_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Slobeend") +# +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Slobeend.jpg")) +# +# mav_S_IHD_Tafeleend %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doeltafeleend, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doeltafeleend_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Tafeleend") +# +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Tafeleend.jpg")) +# +# +# mav_S_IHD_Kokmeeuw %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelkokmeeuw, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelkokmeeuw_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Kokmeeuw") +# +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Kokmeeuw.jpg")) +# +# mav_S_IHD_Kleinezwaan %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelkleinezwaan, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelkleinezwaan_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Kleine zwaan") +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Kleinezwaan.jpg")) + +``` + +##### indexberekening + +```{r index berekening} + +## dataset transformeren naar wijd formaat met kolom per jaar en data niveau 3 per soort +## obv analyseset boottelling en zijrivieren - estuariene data +## centreren op 2009 +## index_1 op basis van totale vogelaantallen - het is beter om te kijken naar de maxima (minder gevoelig als er eens een maand niet geteld is zoals soms voorkomt langsheen zijrivieren) + +# data_watervogels_index <- data_watervogels %>% +# dplyr::filter(taxongroepcode != "MS") %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(niveau3, telseizoen,telseizoen1) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# complete(niveau3, +# nesting(telseizoen,telseizoen1), +# fill = list(aantal = 0)) %>% +# group_by(niveau3) %>% +# mutate(rel_aantal = aantal/aantal[telseizoen1 == 2009]) %>% +# ungroup() + + +data_watervogels_index <- data_watervogels %>% + dplyr::filter(taxongroupcode != "MS") %>% # zonder meeuwen en sternen + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(niveau3, telseizoen1, maand) %>% + summarise(maandsom = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau3, telseizoen1) %>% + summarise(maxwinter = max(maandsom, na.rm = TRUE)) %>% + ungroup() %>% + complete(niveau3, + nesting(telseizoen1), + fill = list(maxwinter = 0)) %>% + group_by(niveau3) %>% + mutate(rel_aantal = maxwinter/maxwinter[telseizoen1 == 2009]) %>% + ungroup() + +## we willen de verschillen tussen jaren vergelijken met 2009 als referentiejaar (kolom 20) + +data_watervogels_index %>% + dplyr::filter(telseizoen1 > 2008) %>% + ggplot(aes(telseizoen1, rel_aantal))+ + geom_line() + + geom_hline(yintercept = 1, linetype = 2, size = 1.4) + + facet_wrap(~niveau3, scales = "free") + + scale_y_log10(breaks = c(0.01, 0.03, 0.1, 0.3, 0.5, 1, 3,10))+ + labs(x = "telseizoen", + y = "index ") + + ggsave(paste0(pad_figuren, "100-figuur_Index_wintervogelaantallen.jpg")) + +### figuur per trofische groep + data_watervogels_index_trof <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(taxongroupcode != "MS") %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(!is.na(trofische_groep)) %>% + # dplyr::filter(niveau3 !="Durme") %>% #vertekend beeld voor de durme door inclusie oude durme in historische data + dplyr::filter(rivier == "Zeeschelde") %>% + group_by(telseizoen1, maand,trofische_groep) %>% + summarise(maandsom = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, trofische_groep) %>% + summarise(maxwinter = max(maandsom, na.rm = TRUE)) %>% + ungroup() %>% + complete(trofische_groep, + nesting(telseizoen1), + fill = list(maxwinter = 0)) %>% + group_by(trofische_groep) %>% + mutate(rel_aantal = maxwinter/maxwinter[telseizoen1 == 2009]) %>% + ungroup() + +## figuur + +data_watervogels_index_trof %>% + dplyr::filter(telseizoen1 > 2008) %>% + ggplot(aes(telseizoen1, rel_aantal))+ + geom_line() + + geom_hline(yintercept = 1, linetype = 2, size = 1.4) + + facet_wrap(~trofische_groep, scales = "free") + + scale_y_log10(breaks = c(0.01, 0.03, 0.1, 0.3, 0.5, 1, 3,10))+ + labs(x = "telseizoen", + y = "index ") + + ggsave(paste0(pad_figuren, "100-figuur_Index_wintervogelaantallen_trofischegroepZS.jpg")) + + ### figuur per trofische groep per zone + data_watervogels_index_trofniv3 <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(taxongroupcode != "MS") %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(!is.na(trofische_groep)) %>% + group_by(niveau3, telseizoen1, maand, trofische_groep) %>% + summarise(maandsom = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau3,telseizoen1, trofische_groep) %>% + summarise(maxwinter = max(maandsom, na.rm = TRUE)) %>% + ungroup() %>% + complete(niveau3, + nesting(telseizoen1, trofische_groep), + fill = list(maxwinter = 0)) %>% + group_by(trofische_groep, niveau3) %>% + mutate(rel_aantal = maxwinter/maxwinter[telseizoen1 == 2009]) %>% + ungroup() + +## figuur + +data_watervogels_index_trofniv3 %>% + dplyr::filter(telseizoen1 > 2008) %>% + dplyr::filter(niveau3 !="Durme") %>% #vertekend beeld voor de durme door inclusie oude durme in historische data + ggplot(aes(telseizoen1, rel_aantal, group = niveau3, color = niveau3)) + + geom_line(size = 1) + + geom_hline(yintercept = 1, linetype = 2, size = 1.4) + + facet_wrap(~trofische_groep, scales = "free") + + scale_y_log10(breaks = c(0.01, 0.03, 0.1, 0.3, 0.5, 1, 3,10))+ + labs(x = "telseizoen", + y = "index ") + + ggsave(paste0(pad_figuren, "100-figuur_Index_wintervogelaantallen_trofischegroepZSniv3.jpg")) + + + #### index niveau 2 + + data_watervogels_index_niv2 <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(taxongroupcode != "MS") %>% # zonder meeuwen en sternen + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(niveau2, telseizoen1, maand) %>% + summarise(maandsom = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau2, telseizoen1) %>% + summarise(maxwinter = max(maandsom, na.rm = TRUE)) %>% + ungroup() %>% + complete(niveau2, + nesting(telseizoen1), + fill = list(maxwinter = 0)) %>% + group_by(niveau2) %>% + mutate(rel_aantal = maxwinter/maxwinter[telseizoen1 == 2009]) %>% + ungroup() + + data_watervogels_index_niv2 %>% + dplyr::filter(telseizoen1 > 2008) %>% + ggplot(aes(telseizoen1, rel_aantal))+ + geom_line() + + geom_hline(yintercept = 1, linetype = 2, size = 1.4) + + facet_wrap(~niveau2) + + scale_y_log10(breaks = c(0.01, 0.03, 0.1, 0.3, 0.5, 1, 3,10))+ + labs(x = "telseizoen", + y = "index ") + + ggsave(paste0(pad_figuren, "100-figuur_Index_wintervogelaantallen_niv2.jpg")) + +``` + +##### index rtrim + +```{r 100-trend-rtrim-niveau3, fig.height=6, fig.width=8} + + +df_doelsrt <- read_delim(paste0(pad_data, "ihd_nietbroedvogels_zs.csv"), + delim = ";") %>% + select(-bron, -criterium) %>% + mutate(soort_nl = str_to_title(soort_nl)) +l_doel <- unique(df_doelsrt$soort_nl) + +# pijlstaart : winter seizoensgemiddelde telseizoen 2000/01 tot 2005/06 +# wintertaling : winter seizoensgemiddelde telseizoen 1998/99 tot 2005/06 +# krakeend: winter seizoensgemiddelde telseizoen 2002/03 tot 2006/07 +# tafeleend: winter seizoensgemiddelde telseizoen 2001/02 tot 2006/07 +# bergeend: winter seizoensgemiddelde telseizoen 1992/93 tot 2006/07 + +d_mnd <- data_watervogels %>% + dplyr::filter(nednaam %in% l_doel) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(niveau3, nednaam, telseizoen1, maand) %>% + summarise(maandsom = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + complete(telseizoen1, nednaam, maand, niveau3, + fill = list("maandsom"=0)) + +##Calculate trend stats with packages rtrim +# script T2021 T2021/06_Ecologie/08_Vogels/Zeeschelde/Scripts/d_plot +#/plot_zs_nietbroedvogels.R +# + +# long term trend (vanaf telseizoen 1992) +# Middlelongterm trend (Since 2009) +# Shortterm trend (last 6 yearperiod) + +d_agg_trim <- d_mnd %>% + filter(telseizoen1>1991) %>% + rename(soort_nl = nednaam, + site = niveau3, + count = maandsom, + year = telseizoen1) +# +# long-term trend +# + +# maak een df met alle soorten. als het model is gecrashed dan zie je NA's. +df_doel <- data.frame(soort_nl = l_doel) + + +df_out <- NULL +for(srt in l_doel){ #srt="tafeleend" #l_doel[1] + print(srt) + + df_tmp <- NULL + + d_sel <- d_agg_trim %>% + filter(soort_nl == srt, + year>=1991) %>% + group_by(soort_nl, year, + # month, + site) %>% + summarise(count = sum(count)/6) %>% + mutate(count = replace_na(count, 0)) # trim imputes NA + + + m <- trim(object = d_sel, + count_col = "count", + year_col = "year", + # month_col = "month", + site_col = "site", + model = 2, + # changepoints = "all", + overdisp = TRUE + ) + + # Create filename + filename <- paste0(pad_figuren, "trend_trim_long_", srt, "_zs.png") + + # Open PNG device, create plot, close device + png(filename, width = 16, height = 12, units = "cm", res = 300) + plot(overall(m)) + dev.off() + + # Display plot in console/viewer (optional) + plot(overall(m), main = paste("Long-term trend:", srt)) + +# Extract slope data + df_tmp <- overall(m)$slope %>% as.data.frame() + df_tmp$soort_nl <- srt + print(df_tmp) + df_out <- rbind(df_out, df_tmp) + + # Print summary + print(summary(m)) +} + +df_longterm <- df_doel %>% + left_join(df_out) %>% + select(soort_nl, from, upto,p, meaning) + +# +# middlelong-term trend +# + +df_out <- NULL + +for(srt in l_doel){ + print(srt) + df_tmp <- NULL + d_sel <- d_agg_trim %>% + filter(soort_nl == srt, + year>=2009) %>% + group_by(soort_nl, year, site) %>% + summarise(count = sum(count)/6) + + try({ + m <- trim(object = d_sel, + count_col = "count", + year_col = "year", + # month_col = "month", + site_col = "site", + model = 2, + # changepoints = "all", + overdisp = TRUE + ) + # Create filename + filename <- paste0(pad_figuren, "trend_trim_middle_", srt, "_zs.png") + + # Open PNG device, create plot, close device + png(filename, width = 16, height = 12, units = "cm", res = 300) + plot(overall(m)) + dev.off() + + # Display plot in console/viewer (optional) + plot(overall(m), main = paste("Middlelong-term trend:", srt)) + +# Extract slope data + df_tmp <- overall(m)$slope %>% as.data.frame() + df_tmp$soort_nl <- srt + print(df_tmp) + df_out <- rbind(df_out, df_tmp) + + # Print summary + print(summary(m)) + }) +} + + +df_middlelongterm <- df_doel %>% + left_join(df_out) %>% + select(soort_nl, from, upto,p, meaning) + +# short-term trend +# + +df_out <- NULL + +for(srt in l_doel){ + print(srt) + df_tmp <- NULL + d_sel <- d_agg_trim %>% + filter(soort_nl == srt, + year>=2018) %>% + group_by(soort_nl, year, site) %>% + summarise(count = sum(count)/6) + + try({ + m <- trim(object = d_sel, + count_col = "count", + year_col = "year", + # month_col = "month", + site_col = "site", + model = 2, + # changepoints = "all", + overdisp = TRUE + ) + # Create filename + filename <- paste0(pad_figuren, "trend_trim_short_", srt, "_zs.png") + + # Open PNG device, create plot, close device + png(filename, width = 16, height = 12, units = "cm", res = 300) + plot(overall(m)) + dev.off() + + # Display plot in console/viewer (optional) + plot(overall(m), main = paste("Short-term trend:", srt)) + +# Extract slope data + df_tmp <- overall(m)$slope %>% as.data.frame() + df_tmp$soort_nl <- srt + print(df_tmp) + df_out <- rbind(df_out, df_tmp) + + # Print summary + print(summary(m)) + }) +} + + +df_shortterm <- df_doel %>% + left_join(df_out) %>% + select(soort_nl, from, upto,p, meaning) + + +# +# export +# +meaning = c("Strong decrease", + "Moderate decrease", + "Stable", + "Moderate increase", + "Strong increase", + "Uncertain") + +symbol = c("--", + "-", + "0", + "+", + "++", + "~") + +toelichting = c( + "significant sterke afname van >5% per jaar", + "significant matige afname van < 5% per jaar", + "stabiel, geen significante trend", + "significant matige toename van < 5% per jaar", + "significante sterke toename van >5% per jaar", + "onzeker, geen trend aantoonbaar") + +df_meaning <- data.frame(meaning, symbol, toelichting) + +# merge and remove sig level +df_trim <- df_longterm %>% + rbind(df_middlelongterm) %>% + rbind(df_shortterm) %>% + mutate(across(meaning, str_replace, " \\(p<0.05\\)", '')) %>% + mutate(across(meaning, str_replace, " \\(p<0.01\\)", '')) %>% + left_join(df_meaning) + + +write_xlsx(df_trim, + paste0(pad_tabellen, "trend_stats", paste0("trend_rtrim_nietbroedvogels_zs.xlsx"))) + +# +# # +# # ggplot plot - seizoensgemiddelde tov instandhoudingsdoel +## deze plots zijn niet correct: moeten gemaakt worden obv gewogengemiddele periode 5 - zie IHD boven +# # +# +# l_srt <- unique(df_doelsrt$soort_nl) +# +# # plot kleuren +# colors <- c("trend" = "royalblue", "ihd" = "red") +# +# d_agg <- d_mnd %>% +# rename(soort_nl = nednaam, +# n_sum = maandsom) %>% +# group_by(soort_nl, telseizoen1 +# # month,niveau3 +# ) %>% +# summarise(n_mean = sum(n_sum)/6) %>% +# mutate(n_mean = replace_na(n_mean, 0)) %>% +# ungroup()# trim imputes NA +# +# for(srt in l_srt){ +# # srt= l_srt[2]; srt = "pijlstaart" +# +# print(srt) +# +# # selecteer data +# d_sel <- d_agg %>% +# filter(soort_nl == srt, +# telseizoen1>1991) +# +# +# # selecteer het bijbehorend ihd om als lijn in de figuur op te nemen +# grens_sel <- df_doelsrt %>% rename(n_mean = ihd) %>% +# filter(soort_nl == srt) +# +# p <- ggplot() + +# geom_point(data = d_sel, aes(x = telseizoen1, y = n_mean)) + +# geom_hline(data= grens_sel, aes(yintercept = n_mean, color = "ihd"), size=1) + +# geom_smooth(data = d_sel, aes(x = telseizoen1, y = n_mean, color = "trend"), +# method = 'gam', formula = y ~ s(x, k = 10), +# fill = '#1E64C8', na.rm = T, show.legend=F) + +# coord_cartesian(ylim=c(0,NA)) + # check that we dont kill the ribbon of geom_smooth +# theme_light() + +# scale_color_manual(values = colors, limits=c("trend", "ihd")) + +# labs(title = paste(srt, "- Zeeschelde"), +# x= "telseizoen", +# y= "telseizoen gem. (wintermaanden)", +# color = "Legenda") +# +# print(p) +# +# plotnm <- paste0("100-figuur_trendrtrim_", srt, "_zs.png") +# +# ggsave(filename= paste0(pad_figuren, plotnm), plot = p) +# +# } + + + +``` + +```{r 100-trend-rtrim-trofischegroep, fig.height=6, fig.width=8} + +l_doel <- unique(data_watervogels$trofische_groep) + +# pijlstaart : winter seizoensgemiddelde telseizoen 2000/01 tot 2005/06 +# wintertaling : winter seizoensgemiddelde telseizoen 1998/99 tot 2005/06 +# krakeend: winter seizoensgemiddelde telseizoen 2002/03 tot 2006/07 +# tafeleend: winter seizoensgemiddelde telseizoen 2001/02 tot 2006/07 +# bergeend: winter seizoensgemiddelde telseizoen 1992/93 tot 2006/07 + +d_mnd <- data_watervogels %>% + dplyr::filter(trofische_groep %in% l_doel) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(niveau3, trofische_groep, telseizoen1, maand) %>% + summarise(maandsom = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + complete(telseizoen1, trofische_groep, maand, niveau3, + fill = list("maandsom"=0)) + +##Calculate trend stats with packages rtrim +# script T2021 T2021/06_Ecologie/08_Vogels/Zeeschelde/Scripts/d_plot +#/plot_zs_nietbroedvogels.R +# + +# long term trend (vanaf telseizoen 1992) +# Middlelongterm trend (Since 2009) +# Shortterm trend (last 6 yearperiod) + +d_agg_trim <- d_mnd %>% + filter(telseizoen1>1991) %>% + rename(soort_nl = trofische_groep, + site = niveau3, + count = maandsom, + year = telseizoen1) +# +# long-term trend +# + +# maak een df met alle soorten. als het model is gecrashed dan zie je NA's. +df_doel <- data.frame(soort_nl = l_doel) + +df_out <- NULL +for(srt in l_doel){ #srt="tafeleend" #l_doel[1] + print(srt) + + df_tmp <- NULL + + d_sel <- d_agg_trim %>% + filter(soort_nl == srt, + year>=1991) %>% + group_by(soort_nl, year, + # month, + site) %>% + summarise(count = sum(count)/6) %>% + mutate(count = replace_na(count, 0)) # trim imputes NA + + + m <- trim(object = d_sel, + count_col = "count", + year_col = "year", + # month_col = "month", + site_col = "site", + model = 2, + # changepoints = "all", + overdisp = TRUE + ) + + # Create filename + filename <- paste0(pad_figuren, "trend_trim_long_", srt, "_zs.png") + + # Open PNG device, create plot, close device + png(filename, width = 16, height = 12, units = "cm", res = 300) + plot(overall(m)) + dev.off() + + # Display plot in console/viewer (optional) + plot(overall(m), main = paste("Long-term trend:", srt)) + +# Extract slope data + df_tmp <- overall(m)$slope %>% as.data.frame() + df_tmp$soort_nl <- srt + print(df_tmp) + df_out <- rbind(df_out, df_tmp) + + # Print summary + print(summary(m)) +} + +df_longterm <- df_doel %>% + left_join(df_out) %>% + select(soort_nl, from, upto,p, meaning) + +# +# middlelong-term trend +# + +df_out <- NULL + +for(srt in l_doel){ + print(srt) + df_tmp <- NULL + d_sel <- d_agg_trim %>% + filter(soort_nl == srt, + year>=2009) %>% + group_by(soort_nl, year, site) %>% + summarise(count = sum(count)/6) + + try({ + m <- trim(object = d_sel, + count_col = "count", + year_col = "year", + # month_col = "month", + site_col = "site", + model = 2, + # changepoints = "all", + overdisp = TRUE + ) + # Create filename + filename <- paste0(pad_figuren, "trend_trim_middle_", srt, "_zs.png") + + # Open PNG device, create plot, close device + png(filename, width = 16, height = 12, units = "cm", res = 300) + plot(overall(m)) + dev.off() + + # Display plot in console/viewer (optional) + plot(overall(m), main = paste("Middlelong-term trend:", srt)) + +# Extract slope data + df_tmp <- overall(m)$slope %>% as.data.frame() + df_tmp$soort_nl <- srt + print(df_tmp) + df_out <- rbind(df_out, df_tmp) + + # Print summary + print(summary(m)) + }) +} + + +df_middlelongterm <- df_doel %>% + left_join(df_out) %>% + select(soort_nl, from, upto,p, meaning) + +# short-term trend +# + +df_out <- NULL + +for(srt in l_doel){ + print(srt) + df_tmp <- NULL + d_sel <- d_agg_trim %>% + filter(soort_nl == srt, + year>=2018) %>% + group_by(soort_nl, year, site) %>% + summarise(count = sum(count)/6) + + try({ + m <- trim(object = d_sel, + count_col = "count", + year_col = "year", + # month_col = "month", + site_col = "site", + model = 2, + # changepoints = "all", + overdisp = TRUE + ) + # Create filename + filename <- paste0(pad_figuren, "trend_trim_short_", srt, "_zs.png") + + # Open PNG device, create plot, close device + png(filename, width = 16, height = 12, units = "cm", res = 300) + plot(overall(m)) + dev.off() + + # Display plot in console/viewer (optional) + plot(overall(m), main = paste("Short-term trend:", srt)) + +# Extract slope data + df_tmp <- overall(m)$slope %>% as.data.frame() + df_tmp$soort_nl <- srt + print(df_tmp) + df_out <- rbind(df_out, df_tmp) + + # Print summary + print(summary(m)) + }) +} + + +df_shortterm <- df_doel %>% + left_join(df_out) %>% + select(soort_nl, from, upto,p, meaning) + + +# +# export +# +meaning = c("Strong decrease", + "Moderate decrease", + "Stable", + "Moderate increase", + "Strong increase", + "Uncertain") + +symbol = c("--", + "-", + "0", + "+", + "++", + "~") + +toelichting = c( + "significant sterke afname van >5% per jaar", + "significant matige afname van < 5% per jaar", + "stabiel, geen significante trend", + "significant matige toename van < 5% per jaar", + "significante sterke toename van >5% per jaar", + "onzeker, geen trend aantoonbaar") + +df_meaning <- data.frame(meaning, symbol, toelichting) + +# merge and remove sig level +df_trim <- df_longterm %>% + rbind(df_middlelongterm) %>% + rbind(df_shortterm) %>% + mutate(across(meaning, str_replace, " \\(p<0.05\\)", '')) %>% + mutate(across(meaning, str_replace, " \\(p<0.01\\)", '')) %>% + left_join(df_meaning) + + +write_xlsx(df_trim, + paste0(pad_tabellen, "trend_stats", paste0("trend_rtrim_trofischegroepen_zs.xlsx"))) + + + +``` + + +#### Multispecies_index + +```{r 100-multispeciesindex-niveau2, fig.height=6, fig.width=8} + +# aangepast naar: T2021/06_Ecologie/08_Vogels/Zeeschelde/Scripts/d_plot +#/plot_zs_multispecies_index.R +library(scales) + + +------------------------------------------------------------------------------ +##### functions +------------------------------------------------------------------------------ + +f.geom_mean <- function(x){ + exp(mean(log(x))) + # prod(x)^(1/length(x)) +} + +f.geom_mean_correctzero <- function(x){ + exp(mean(log(x+1)))-1 + # prod(x)^(1/length(x)) +} + +df_doelsrt <- read_delim(paste0(pad_data, "ihd_nietbroedvogels_zs.csv"), + delim = ";") %>% + select(-bron, -criterium) %>% + mutate(soort_nl = str_to_title(soort_nl)) +l_doel <- unique(df_doelsrt$soort_nl) + +------------------------------------------------------------------------------ +##### dataset +------------------------------------------------------------------------------ + +d_mnd_n2 <- data_watervogels %>% + dplyr::filter(nednaam %in% l_doel) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(niveau2 =="Zeeschelde") %>% #voor de Zeeschelde alleen te berekenen, dataset zijrivieren is onvolledig + group_by(nednaam, telseizoen1, maand) %>% + summarise(maandsom = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(nednaam, telseizoen1) %>% + summarise(n_mean = mean(maandsom, na.rm = TRUE)) %>% + ungroup() %>% + complete(telseizoen1, nednaam, + fill = list("n_mean"=0)) + + +------------------------------------------------------------------------------ +##### Analyse: bepaal index per soort op n2 +------------------------------------------------------------------------------ + +# filterstappen +# - alleen soorten die ingedeeld kunnen worden in een voedselgroep +# - alleen soorten die in het referentie jaar zijn waargenomen +# - alleen soorten met een instandhoudings doel (slechts berekend op basis van 5 soorten dus) + +df_nietbrdvgl <- d_mnd_n2 + + +# het referentiejaar + +#check volledigheid tellingen 1991 vs 1992 + +check_telling <- Tellingen_ZS_alles %>% + filter(telseizoen %in% c("1991/92", "1992/93")) %>% + filter(rivier == "Zeeschelde") + +all_combinations <- expand_grid( + gebied = unique(check_telling$gebied), + telseizoen1 = c(1991, 1992), + maand = (1:3 & 10:12) +) + +check <- check_telling %>% + group_by(gebied, telseizoen1, maand) %>% + summarise(n_records = n(), .groups = 'drop') %>% + right_join(all_combinations, by = c("gebied", "telseizoen1", "maand")) %>% + mutate(n_records = replace_na(n_records, 0)) + +##voor de Zeeschelde is de dataset goed maar opgelet: de Rupel werd nog niet geteld dus index is te maken op niveau 2 enkel op de rivier Zeeschelde (zonder deel Rupel). Deze selectie was foutief voor T2021. + +year_idx100 = 1991 + +# lijst met soorten die in indexjaar zijn waargenomen +indexyr_ngr0 <- df_nietbrdvgl %>% + filter(telseizoen1 %in% year_idx100) %>% + filter(n_mean >0) %>% + mutate(aanwezig_refjaar = 1, + n100 = n_mean) %>% + select(nednaam, aanwezig_refjaar, n100) + +##alle 5 de IHD soorten werden waargenomen in referentiejaar + +# index bepalen mbv het referentiejaar +df_index_n2 <- df_nietbrdvgl %>% + left_join(indexyr_ngr0) %>% + filter(aanwezig_refjaar ==1) %>% + mutate(index = n_mean / n100 *100)%>% + mutate(index = if_else(index <1, 1, index)) + +# bereken geometrisch gemiddelde index (met correctie voor nullen) +df_geomindex_n2 <- df_index_n2 %>% + group_by(telseizoen1) %>% + summarise(geom_idx = f.geom_mean_correctzero(index), + gem_idx = mean(index) ) %>% + ungroup() + + +------------------------------------------------------------------------------ +##### plot +------------------------------------------------------------------------------ + +# maakt het uit of index 1 of 100 is? Ja! +# in het geval van nullen wordt er truc +1 en -1 toegepast. +# dit heeft een groot effect wanneer referentie op 1 wordt gezet ipv 100 + + +ggplot(data=df_geomindex_n2) + + geom_line(aes(x=telseizoen1, y=geom_idx), color = "blue") + + coord_cartesian(ylim = c(0,NA)) + + # facet_wrap(~niveau2, scales = "free") + + # scale_y_continuous(trans = log10_trans()) + + geom_hline(yintercept = 100, color = "black" ) + + geom_vline(xintercept = year_idx100, color = "red" ) + + labs(title = "Multi-species index niveau2", + y = "index") + +ggsave(paste0(pad_figuren, "100-figuur_multispeciesindex_niv2.jpg")) + +``` + + + +##### figuur wintergemiddelde aantallen per KRWzone + +```{r 100-figuur-aantallen-niveau3, fig.height=6, fig.width=8} + + +# figuur met gemiddelde over tellingen per seizoen en gebiedsgroep + +#variant1 +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 > 2008) %>% + dplyr::filter(krwzone != "Getijdedurme" | telseizoen1 > 2012) %>% + dplyr::filter(taxongroupcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen1, niveau3, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, niveau3) %>% + summarise(aantal = mean(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen1), aantal)) + + geom_col() + + labs(x = "winter telseizoen", + y = "wintergemiddeld aantal watervogels") + + facet_wrap(~niveau3, + ncol = 2, scales = "free") + + theme(axis.text.x = element_text(angle = 90)) + + ggsave(paste0(pad_figuren, "100_figuur_meanwinter_niveau3.jpg")) + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, gebiedsgroep, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, gebiedsgroep) %>% + summarise(aantal = mean(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), aantal)) + + geom_col() + + labs(x = "telseizoen", + y = "wintergemiddeld aantal watervogels") + + facet_wrap(~gebiedsgroep, + ncol = 2) + + theme(axis.text.x = element_text(angle = 90)) + +#variant2 inzoemen vanaf telseizoen 2009 +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(gebiedsgroep != "Getijdedurme" | telseizoen1 > 2012) %>% +dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + dplyr::filter(teldatum > "2009-06-01") %>% + group_by(telseizoen, gebiedsgroep, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, gebiedsgroep) %>% + summarise(aantal = mean(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), aantal)) + + geom_col() + + labs(x = "telseizoen", + y = "wintergemiddeld aantal watervogels") + + facet_wrap(~gebiedsgroep, + ncol = 2, scales = "free") + + theme(axis.text.x = element_text(angle = 90)) + + +# dit is de oorspronkelijke figuur met de som over alle tellingen +# data_watervogels %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen, gebiedsgroep) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal)) + +# geom_col() + +# labs(x = "telseizoen", +# y = "aantal") + +# facet_wrap(~gebiedsgroep, scales = "free_y") + +# theme(axis.text.x = element_text(angle = 90)) + +``` + +##### figuur wintergemiddelde aantallen per zijrivier + +```{r 100-figuur-aantallen-zijrivieren, fig.height=4, fig.width=12} + +# figuur met gemiddelde over tellingen per seizoen en zijrivier +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3), + rivier %in% c("Dijle", "Zenne")) %>% +dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(rivier,telseizoen, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, rivier) %>% + summarise(aantal = mean(som, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal)) + + geom_col() + + labs(x = "telseizoen", + y = "gemiddeld per maand aantal watervogels per winterseizoen") + + facet_wrap(~rivier, scales = "free_y") + + theme(axis.text.x = element_text(angle = 90)) + +ggsave(paste0(pad_figuren, "100_figuur_aantallen_zijrivieren.jpg")) + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3), + rivier %in% c("Rupel","Zeeschelde")) %>% +dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(rivier,telseizoen1, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, rivier) %>% + summarise(aantal = mean(som, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), aantal)) + + geom_col() + + geom_smooth(aes(color = "trendlijn")) + + labs(x = "telseizoen", + y = "gemiddeld per maand aantal watervogels per winterseizoen") + + facet_wrap(~rivier) + + theme(axis.text.x = element_text(angle = 90)) + +# dit is de oorspronkelijke figuur met de som over alle tellingen +# data_watervogels %>% +# dplyr::filter(maand %in% c(10:12, 1:3), +# rivier %in% c("Dijle", "Rupel", "Zenne")) %>% +# group_by(telseizoen, rivier) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal)) + +# geom_col() + +# labs(x = "telseizoen", +# y = "aantal") + +# facet_wrap(~rivier, scales = "free_y") + +# theme(axis.text.x = element_text(angle = 90)) + +``` + +##### figuur wintergemiddelde aantallen per trofische groep + +```{r 100-figuur-aantallen-trofische-groep, fig.height=5, fig.width=7} + +# figuur met gemiddelde over tellingen per seizoen, gebiedsgroep en trofische groep +# data_watervogels %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(str_detect(krwcode, "ZS")) %>% +# dplyr::filter(jaar >= 2009, +# telseizoen != "2008/09") %>% +# dplyr::filter(!is.na(trofische_groep)) %>% +# group_by(telseizoen, teldatum, trofische_groep, gebiedsgroep, rivier) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, trofische_groep, gebiedsgroep, rivier) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, gebiedsgroep, trofische_groep) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + +# geom_point(aes(shape = gebiedsgroep)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "aantal") + +# facet_wrap(~trofische_groep, +# scales = "free_y") + +# theme(axis.text.x = element_text(angle = 90), +# legend.position = "bottom", +# legend.title = element_blank()) + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + dplyr::filter(!is.na(trofische_groep)) %>% + group_by(telseizoen, maand, trofische_groep, niveau3) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, trofische_groep, niveau3) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "wintergemiddelde") + + facet_wrap(~trofische_groep, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_aantallen_trofische_groep_niveau3.jpg")) + + +###facet_wrap op niveau 3 +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + dplyr::filter(!is.na(trofische_groep)) %>% + dplyr::filter(trofische_groep == "Nomn" | trofische_groep == "Nherb") %>% + group_by(telseizoen, maand, trofische_groep, niveau3) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, trofische_groep, niveau3) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = trofische_groep, color = trofische_groep)) + + geom_line() + + labs(x = "telseizoen", + y = "wintergemiddelde") + + facet_wrap(~niveau3, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +###facet_wrap op niveau 3 +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + dplyr::filter(!is.na(trofische_groep)) %>% + dplyr::filter(trofische_groep == "Nomn") %>% + group_by(telseizoen, maand, trofische_groep, niveau3) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, trofische_groep, niveau3) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = trofische_groep, color = trofische_groep)) + + geom_line() + + labs(x = "telseizoen", + y = "wintergemiddelde") + + facet_wrap(~niveau3, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + + + +##welke soorten -- achtergrond bespreking +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(str_detect(gebiedsklassecode, "ZS")) %>% + dplyr::filter(jaar >= 2012, + telseizoen != "2011/12") %>% + dplyr::filter(!is.na(trofische_groep)) %>% + dplyr::filter(trofische_groep=="Nomn") %>% + # dplyr::filter(nednaam %in% c("Kokmeeuw")) %>% + group_by(telseizoen, maand, trofische_groep, krwzone, nednaam) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, trofische_groep, krwzone, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% +ggplot(aes(ordered(telseizoen), aantal, group = krwzone, color = krwzone)) + + geom_point(aes(shape = krwzone)) + + geom_line() + + labs(x = "telseizoen", + y = "aantal") + + facet_wrap(~nednaam) + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(str_detect(gebiedsklassecode, "ZS")) %>% + dplyr::filter(jaar >= 2012, + telseizoen != "2011/12") %>% + dplyr::filter(!is.na(trofische_groep)) %>% + dplyr::filter(trofische_groep=="Nherb") %>% + # dplyr::filter(nednaam %in% c("xxxxx")) %>% + group_by(telseizoen, maand, trofische_groep, krwzone, nednaam) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, trofische_groep, krwzone, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% +ggplot(aes(ordered(telseizoen), aantal, group = krwzone, color = krwzone)) + + geom_point(aes(shape = krwzone)) + + geom_line() + + labs(x = "telseizoen", + y = "aantal") + + facet_wrap(~nednaam) + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + + +``` + +##### figuur abundante soorten met \> 5% per KRWzone voor en na 2009 + +```{r 100-figuur-abundante-soorten, fig.height=5, fig.width=7} + +abundante_wintervogels <- data_watervogels %>% + # dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(telseizoen == "2020/21") %>% + group_by(niveau3, nednaam) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau3) %>% + mutate(totaalgebiedsgroep = sum(aantal, na.rm = TRUE)) %>% + mutate(perc = (totaal/totaalgebiedsgroep)*100) %>% + dplyr::filter(perc > 5) %>% + ungroup() %>% + select(nednaam,niveau3, perc) %>% + distinct(nednaam,niveau3, perc) %>% + arrange(niveau3) + +# #Create a custom color scale for species: 10 colors needed and order of color must be the same for each species +# library(RColorBrewer) +# myColors <- brewer.pal(10,"Set3") +# names(myColors) <- levels(abundante_wintervogels$nednaam) +# colScale <- scale_colour_manual(name = "nednaam",values = myColors) +# # lukt me niet om dit te doen werken + + +data_watervogels %>% + # dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(telseizoen >= "2009/10") %>% + group_by(niveau3, nednaam) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau3) %>% + mutate(totaalgebiedsgroep = sum(aantal, na.rm = TRUE)) %>% + mutate(perc = (totaal/totaalgebiedsgroep)*100) %>% + dplyr::filter(perc > 5) %>% + ggplot(aes(ordered(niveau3), aantal, fill = nednaam)) + + geom_col(position = "fill") + + scale_y_continuous(breaks = seq(0,1,0.1), labels = paste0(seq(0,100,10),"%")) + + scale_fill_manual(values=c("#CC0000", "#006600", "#669999", "#00CCCC", + "#660099", "#CC0066", "#FF9999", "#FF9900", + "black", "red", "green", "blue", "yellow")) + + labs(x = "Niveau3 zones", + y = "") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + + + +ggsave(paste0(pad_figuren, "100_figuur_abundante_soortenna2009.jpg")) + + + +data_watervogels %>% + # dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(jaar <= 2009, + telseizoen != "2009/10") %>% + group_by(niveau3, nednaam) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau3) %>% + mutate(totaalgebiedsgroep = sum(aantal, na.rm = TRUE)) %>% + mutate(perc = (totaal/totaalgebiedsgroep)*100) %>% + dplyr::filter(perc > 5) %>% + ggplot(aes(ordered(niveau3), aantal, fill = nednaam)) + + geom_col(position = "fill") + + scale_y_continuous(breaks = seq(0,1,0.1), labels = paste0(seq(0,100,10),"%"))+ + scale_fill_manual(values=c("#CC0000", "#006600", "#669999", "#00CCCC", + "#660099", "#CC0066", "#FF9999", "#FF9900", + "black", "red", "green", "blue", "yellow")) + + labs(x = "Niveau3 zones", + y = "") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + + +ggsave(paste0(pad_figuren, "100_figuur_abundante_soortenvoor2009.jpg")) + + + + + +data_watervogels %>% + # dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(telseizoen >= "2009/10") %>% + dplyr::filter(niveau3 != 'Saliniteitsgradient') %>% + dplyr::filter(niveau2 == 'Zeeschelde') %>% + arrange(nednaam) %>% + group_by(nednaam) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau2) %>% + mutate(totaalgebiedsgroep = sum(aantal, na.rm = TRUE)) %>% + mutate(perc = (totaal/totaalgebiedsgroep)*100) %>% + dplyr::filter(perc > 10) %>% + mutate(soort = fct_reorder2(nednaam, niveau2, perc)) %>% + ggplot(aes(ordered(niveau2), aantal, fill = soort)) + + geom_col(position = "fill") + + # scale_y_continuous(breaks = seq(0,1,0.1), labels = paste0(seq(0,100,10),"%")) + + # scale_fill_manual(values=c("#CC0000", "#006600", "#669999", "#00CCCC", + # "#660099", "#CC0066", "#FF9999", "#FF9900", + # "black", "red", "green", "blue", "yellow")) + + labs(x = "", + y = "") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +data_watervogels %>% + # dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(telseizoen < "2009/10") %>% + dplyr::filter(niveau3 != 'Saliniteitsgradient') %>% + dplyr::filter(niveau2 == 'Zeeschelde') %>% + arrange(nednaam) %>% + group_by(nednaam) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau2) %>% + mutate(totaalgebiedsgroep = sum(aantal, na.rm = TRUE)) %>% + mutate(perc = (totaal/totaalgebiedsgroep)*100) %>% + dplyr::filter(perc > 10) %>% + mutate(soort = fct_reorder2(nednaam, niveau2, perc)) %>% + ggplot(aes(ordered(niveau2), aantal, fill = soort)) + + geom_col(position = "fill") + + # scale_y_continuous(breaks = seq(0,1,0.1), labels = paste0(seq(0,100,10),"%")) + + # scale_fill_manual(values=c("#CC0000", "#006600", "#669999", "#00CCCC", + # "#660099", "#CC0066", "#FF9999", "#FF9900", + # "black", "red", "green", "blue", "yellow")) + + labs(x = "", + y = "") + + theme(axis.text.x = element_text(angle = 0), + legend.position = "bottom", + legend.title = element_blank()) + + +``` + +##### figuur wintergemiddelde aantallen voor abundante soorten Zeeschelde + +```{r 100-figuur-aantallen-abundante-soorten, fig.height=5, fig.width=7} + +# data_watervogels %>% +# dplyr::filter(nednaam %in% c("Bergeend", "Krakeend", "Wilde Eend", "Wintertaling")) %>% +# dplyr::filter(str_detect(krwcode, "ZS")) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(jaar >= 2009, +# telseizoen != "2008/09") %>% +# group_by(telseizoen, gebiedsgroep, nednaam, rivier) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, gebiedsgroep, nednaam) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + +# geom_point(aes(shape = gebiedsgroep)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "aantal") + +# facet_wrap(~nednaam, +# scales = "free_y") + +# theme(axis.text.x = element_text(angle = 90), +# legend.position = "bottom", +# legend.title = element_blank()) + +data_watervogels %>% + dplyr::filter(nednaam %in% c("Bergeend", "Krakeend", "Wilde Eend", "Wintertaling")) %>% + # dplyr::filter(rivier == "Zeeschelde") %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + group_by(telseizoen, niveau3, nednaam, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "gemiddeld aantal") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + + +ggsave(paste0(pad_figuren, "100_figuur_aantallen_abundante_soorten_niveau3.jpg")) + +``` + +##### figuur wintergemiddelde aantallen voor viseters en steltlopers + +```{r 100-figuur-aantallen-visetend-en-steltlopers, fig.height=5, fig.width=7} + +data_watervogels %>% + dplyr::filter(nednaam %in% c("Aalscholver", "Fuut", "Blauwe Reiger")) %>% + # dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + group_by(telseizoen, niveau3, nednaam, rivier) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "gemiddeld aantal") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_aantallen_viseters_niveau3.jpg")) + +data_watervogels %>% + dplyr::filter(nednaam %in% c("Aalscholver", "Fuut", "Visdief", "Blauwe Reiger")) %>% + dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(maand %in% c(4:9)) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + group_by(telseizoen, gebiedsgroep, nednaam, rivier) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, gebiedsgroep, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + + geom_point(aes(shape = gebiedsgroep)) + + geom_line() + + labs(x = "telseizoen", + y = "gemiddeld aantal zomer") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_gemid_aantallenzomer_viseters.jpg")) + +data_watervogels %>% + dplyr::filter(nednaam %in% c("Aalscholver", "Fuut", "Visdief", "Blauwe Reiger")) %>% + # dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(maand %in% c(4:9)) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + group_by(telseizoen, niveau3, nednaam, rivier) %>% + summarise(aantal = max(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, nednaam) %>% + summarise(aantal = max(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "max aantal zomer") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +data_watervogels %>% + dplyr::filter(nednaam %in% c("Kluut", "Kievit", "Tureluur", "Wulp", "Scholekster", "Bonte Strandloper")) %>% + dplyr::filter(trofische_groep == "Nbenth") %>% + dplyr::filter(str_detect(krwcode, "ZS4")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + group_by(telseizoen, niveau3, nednaam, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "gemiddeld aantal") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +data_watervogels %>% + dplyr::filter(nednaam %in% c( "Kievit", "Tureluur", "Wulp", "Scholekster")) %>% + dplyr::filter(trofische_groep == "Nbenth") %>% + dplyr::filter(str_detect(krwcode, "ZS4")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(jaar >= 2005, + telseizoen != "2004/05") %>% + group_by(telseizoen, niveau3, nednaam, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "gemiddeld aantal") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +# data_watervogels %>% +# dplyr::filter(nednaam %in% c("Scholekster")) %>% +# dplyr::filter(trofische_groep == "Nbenth") %>% +# dplyr::filter(str_detect(krwcode, "ZS4")) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(jaar >= 2019, +# telseizoen != "2004/05") %>% +# group_by(telseizoen, gebiedsgroep, nednaam, maand) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# # group_by(telseizoen, gebiedsgroep, nednaam) %>% +# # summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# # ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + +# geom_point(aes(shape = gebiedsgroep)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "gemiddeld aantal") + +# facet_wrap(~nednaam, +# scales = "free_y") + +# theme(axis.text.x = element_text(angle = 90), +# legend.position = "bottom", +# legend.title = element_blank()) +# +# +# data_watervogels %>% +# dplyr::filter(nednaam %in% c("Aalscholver", "Fuut", "Tureluur", "Wulp")) %>% +# dplyr::filter(str_detect(krwcode, "ZS")) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(jaar >= 2005, +# telseizoen != "2004/05") %>% +# group_by(telseizoen, gebiedsgroep, nednaam, maand) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, gebiedsgroep, nednaam) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + +# geom_point(aes(shape = gebiedsgroep)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "gemiddeld aantal") + +# facet_wrap(~nednaam, +# scales = "free_y") + +# theme(axis.text.x = element_text(angle = 90), +# legend.position = "bottom", +# legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_aantallen_steltlopers.jpg")) + +``` + +##### figuur wintergemiddelde vogeldichtheid per zones + +```{r dichtheden winter watervogels per zone} + + + + data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(niveau3 != "Zoet zijrivier") %>% + dplyr::filter(telseizoen %in% c("2001/02","2010/11","2013/14","2016/17","2019/20","2022/23")) %>% + dplyr::filter(nednaam != "Tafeleend" & nednaam != "Kuifeend") %>% + dplyr::filter(trofische_groep != "Npisc" & trofische_groep != "Nherb") %>% + left_join(data_oppzachtslikKRWZS, by = c("niveau3","telseizoen")) %>% + group_by(telseizoen, maand, niveau3, somha) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, somha) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, somha) %>% + summarise(dichtheid = mean(aantal/somha, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), dichtheid, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "dichtheid overwinterende watervogel (#/ha)") + + theme(axis.text.x = element_text(angle = 0), + legend.position = "bottom", + legend.title = element_blank())+ + scale_y_continuous(breaks = seq(0,140,20)) + +ggsave(paste0(pad_figuren, "100_figuur_dichtheid.jpg")) + +# data_watervogels %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# # dplyr::filter(str_detect(krwcode, "ZS")) %>% +# dplyr::filter(niveau3 != "Zoet zijrivier") %>% +# dplyr::filter(niveau3 != "Rupel") %>% +# dplyr::filter(niveau3 != "Saliniteitsgradient") %>% +# dplyr::filter(niveau3 != "Zoet kort verblijf") %>% +# dplyr::filter(telseizoen %in% c("2001/02","2010/11","2013/14","2016/17","2019/20")) %>% +# dplyr::filter(nednaam != "Tafeleend" & nednaam != "Kuifeend") %>% +# dplyr::filter(trofische_groep != "Npisc" & trofische_groep != "Nherb") %>% +# left_join(data_oppzachtslikKRWZS, by = c("niveau3","telseizoen")) %>% +# group_by(telseizoen, maand, niveau3, somha) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha) %>% +# summarise(dichtheid = mean(aantal/somha, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), dichtheid, group = niveau3, color = niveau3)) + +# geom_point(aes(shape = niveau3)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "dichtheid overwinterende watervogel (#/ha)") + +# theme(axis.text.x = element_text(angle = 0), +# legend.position = "bottom", +# legend.title = element_blank())+ +# scale_y_continuous(breaks = seq(0,140,20)) +# +# ggsave(paste0(pad_figuren, "100_figuur_dichtheidDurme.jpg")) +# +# ##Zeeschelde IV wintertrends +# data_watervogels %>% +# dplyr::filter(str_detect(krwcode, "ZS4")) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(telseizoen %in% c("2001/02","2010/11","2012/13","2013/14","2014/15","2015/16","2016/17","2017/18","2018/19","2019/20","2020/21", +# "2021/22")) %>% +# dplyr::filter(nednaam != "Tafeleend" & nednaam != "Kuifeend") %>% +# dplyr::filter(trofische_groep != "Npisc" & trofische_groep != "Nherb") %>% +# left_join(data_oppzachtslikKRWZS, by = c("niveau3","telseizoen")) %>% +# group_by(telseizoen, maand, niveau3, somha) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha) %>% +# summarise(dichtheid = mean(aantal/somha, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), dichtheid, group = niveau3, color = niveau3)) + +# geom_point(aes(shape = niveau3)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "dichtheid overwinterende watervogel (#/ha)") + +# theme(axis.text.x = element_text(angle = 0), +# legend.position = "bottom", +# legend.title = element_blank())+ +# scale_y_continuous(breaks = seq(0,20,2)) +# +# ggsave(paste0(pad_figuren, "100_figuur_dichtheidZS4.jpg")) +# +# ##Zeeschelde IV wintertrends trofische groepen +# +# data_watervogels %>% +# dplyr::filter(str_detect(krwcode, "ZS4")) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(telseizoen %in% c("2001/02","2010/11","2012/13","2013/14","2014/15","2015/16","2016/17","2017/18","2018/19","2019/20","2020/21", +# "2021/22", "2022/23")) %>% +# dplyr::filter(nednaam != "Tafeleend" & nednaam != "Kuifeend") %>% +# dplyr::filter(trofische_groep != "Npisc" & trofische_groep != "Nherb") %>% +# left_join(data_oppzachtslikKRWZS, by = c("niveau3","telseizoen")) %>% +# group_by(telseizoen, maand, niveau3, somha,trofische_groep) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha,trofische_groep) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha,trofische_groep) %>% +# summarise(dichtheid = mean(aantal/somha, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), dichtheid, group = trofische_groep, color = trofische_groep)) + +# geom_point(aes(shape = niveau3)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "dichtheid overwinterende watervogel (#/ha)") + +# theme(axis.text.x = element_text(angle = 0), +# legend.position = "bottom", +# legend.title = element_blank())+ +# scale_y_continuous(breaks = seq(0,20,2)) +# +# +# +# ##Zeeschelde IV jaartrends telseizoen +# data_watervogels %>% +# dplyr::filter(str_detect(krwcode, "ZS4")) %>% +# # dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(telseizoen %in% c("2001/02","2010/11","2012/13","2013/14","2014/15","2015/16","2016/17","2017/18","2018/19","2019/20","2020/21", +# "2021/22","2022/23")) %>% +# dplyr::filter(nednaam != "Tafeleend" & nednaam != "Kuifeend") %>% +# dplyr::filter(trofische_groep != "Npisc" & trofische_groep != "Nherb") %>% +# left_join(data_oppzachtslikKRWZS, by = c("niveau3","telseizoen")) %>% +# group_by(telseizoen, maand, niveau3, somha) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha) %>% +# summarise(dichtheid = mean(aantal/somha, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), dichtheid, group = niveau3, color = niveau3)) + +# geom_point(aes(shape = niveau3)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "dichtheid overwinterende watervogel (#/ha)") + +# theme(axis.text.x = element_text(angle = 0), +# legend.position = "bottom", +# legend.title = element_blank())+ +# scale_y_continuous(breaks = seq(0,20,2)) +# +# # oppervlakte veranderingen exclusief uitbreidingen (enge planimetrie) +# +# data_watervogels %>% +# # dplyr::filter(str_detect(krwcode, "ZS")) %>% +# dplyr::filter(telseizoen %in% c("2001/02","2010/11","2013/14","2016/17","2019/20")) %>% +# left_join(data_oppzachtslikKRWZS, by = c("niveau3","telseizoen")) %>% +# dplyr::filter(!is.na(somha)) %>% +# group_by(telseizoen, niveau3, somha) %>% +# ggplot(aes(ordered(telseizoen), somha, group = niveau3, color = niveau3)) + +# geom_point(aes(shape = niveau3)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "Oppervlakte slik zacht substraat (ha)")+ +# theme(axis.text.x = element_text(angle = 0), +# legend.position = "bottom", +# legend.title = element_blank()) +# +# ggsave(paste0(pad_figuren, "100_figuur_habitatoppervlakte.jpg")) +# + +``` + +##### figuur exotentrends + +```{r 100-figuur-exotentrends, fig.height=5, fig.width=7} + + +data_watervogels %>% + dplyr::filter(nednaam %in% c("Nijlgans", "Canadese Gans", "Soepeend", "Boerengans")) %>% + dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + group_by(telseizoen, niveau3, nednaam, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "gemiddeld aantal") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_aantallen_exoten.jpg"), width = 20, height = 12, units = "cm") + +data_watervogels %>% + dplyr::filter(exoot == 1) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter (telseizoen1 > 2008) %>% + group_by(telseizoen1, niveau3, nednaam, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, niveau3, nednaam) %>% + summarise(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), totaal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "totaal aantal per winter") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(exoot == 1) %>% + dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter (telseizoen1 > 2008) %>% + group_by(telseizoen1, niveau3, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, niveau3) %>% + summarise(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), totaal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "totaal aantal exoten per winter") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_totaalaantal_exoten_niveau3.jpg")) + +data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(exoot == 1) %>% + dplyr::filter(str_detect(krwcode, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter (telseizoen1 > 2008) %>% + group_by(telseizoen1) %>% + summarise(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), totaal)) + + geom_col() + + labs(x = "telseizoen", + y = "totaal aantal exoten per winter") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_totaalaantal_exoten.jpg")) + +``` + +```{r meta-data} + +meta_data <- + enframe(c(vroegste_telseizoen = vroegste_telseizoen, + laatste_telseizoen = laatste_telseizoen, + vroegste_jaar = vroegste_jaar, + laatste_jaar = laatste_jaar, + aantal_soorten = nrow(soortnamen)), + name = "naam", value = "waarde") + +meta_data %>% + write_delim(paste0(pad_data, "meta_data.csv"), + delim = ";") + +``` diff --git a/moneos_2025/100_watervogels/20_moneos_watervogels_analyse_oud.Rmd b/moneos_2025/100_watervogels/20_moneos_watervogels_analyse_oud.Rmd new file mode 100644 index 0000000..1e6d805 --- /dev/null +++ b/moneos_2025/100_watervogels/20_moneos_watervogels_analyse_oud.Rmd @@ -0,0 +1,3128 @@ +--- +params: + hoofdstuk: "100_watervogels" +knit: (function(inputFile, ...) { + rmarkdown::render(inputFile, + output_dir = paste0(rmarkdown::yaml_front_matter(inputFile)$params$hoofdstuk, "/output"))}) +title: "analyse watervogels" +output: word_document +editor_options: + chunk_output_type: console +--- + +```{r setup, include=FALSE} + +knitr::opts_chunk$set(echo = FALSE, error=FALSE, warning=FALSE, message=FALSE, cache=FALSE, fig.showtext = TRUE, dpi = 300) + +``` + +```{r libraries} + +library(tidyverse) +library(lubridate) +# library(readxl) +library(INBOtheme) +library(writexl) +library(rprojroot) ## workaround pad +library(RcppRoll) +``` + +```{r pad} + +# inlezen van variabelen +# pad naar data : pad_data +# pad naar tabellen : pad_tabellen +# pad naar figuren : pad_figuren + +source(find_root_file("../pad.R", criterion = is_rstudio_project)) + +pad_data <- maak_pad(params$hoofdstuk, "data") +pad_figuren <- maak_pad(params$hoofdstuk, "figuren") +pad_tabellen <- maak_pad(params$hoofdstuk, "tabellen") + +``` + +```{r data-watervogels inlezen} + +data_watervogels <- + read_delim(paste0(pad_data, "Watervogels_Zeeschelde_Moneos.csv"), + delim = ";") +data_watervogels <- data_watervogels %>% +mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) + + +data_analysesets <- + read_delim(paste0(pad_data, "Watervogels_analysesets.csv"), + delim = ";") +data_analysesets <- data_analysesets %>% +mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) + +Waterbirds <- + read_delim(paste0(pad_data, "Watervogels_all_ruwedata.csv"), + delim = ";")%>% +mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) + +Waterbirds_sigma_estuarien <- + Waterbirds %>% + dplyr::filter(analyseset == "SIGMA_MIDMA") %>% + dplyr::filter(gebiedsgroep == "Ontpoldering" | gebiedsgroep == "GGG") %>% + complete(nesting(gebiedsgroep_code, gebiedsgroep, rivier, gebied, telseizoen, teldatum), + nesting(nednaam, wetnaam, taxongroepcode), + fill = list(0)) + +Waterbirds_sigma_estuarien <- Waterbirds_sigma_estuarien %>% + mutate(maand = month(teldatum)) %>% + dplyr::rename(Sigmagebiedstype = gebiedsgroep) %>% + mutate(niveau3 = case_when( + gebiedsgroep_code == "MH" ~ "Saliniteitsgradient", + gebiedsgroep_code == "OH" ~ "Oligohalien", + gebiedsgroep_code == "ZLVT"~ "Zoet lang verblijf", + gebiedsgroep_code == "ZKVT"~ "Zoet kort verblijf", + gebiedsgroep_code == "Durme"~ "Durme", + gebiedsgroep_code == "Rupel"~ "Rupel", + TRUE ~ "Zoet zijrivier")) %>% + mutate(niveau3 = fct_relevel(niveau3, c("Saliniteitsgradient","Oligohalien","Zoet lang verblijf","Zoet kort verblijf", "Zoet zijrivier"))) + +# data_watervogels_ZSCHss <- +# read_delim(paste0(pad_data, "Watervogels_Zeeschelde_SS.csv"), +# delim = ";") +# +# data_watervogels_sigma <- +# read_delim(paste0(pad_data, "Watervogels_Sigma.csv"), +# delim = ";") +# +# data_watervogels_sigma_zeeschelde <- +# read_delim(paste0(pad_data, "Watervogels_Sigma_zeeschelde.csv"), +# delim = ";") +# +# data_watervogels_sigma_estuarien <- +# read_delim(paste0(pad_data, "Watervogels_Sigma_estuarien.csv"), +# delim = ";") +# +# data_watervogels_sigma_wetland <- +# read_delim(paste0(pad_data, "Watervogels_Sigma_wetland.csv"), +# delim = ";") +# +# data_watervogels_vallei <- +# read_delim(paste0(pad_data, "Watervogels_Vallei.csv"), +# delim = ";") +# data_watervogels_vallei_zeeschelde <- +# read_delim(paste0(pad_data, "Watervogels_Vallei_zeeschelde.csv"), +# delim = ";") +# +# data_watervogels_Zeeschelde_ZR_Sigma <- +# data_watervogels %>% +# bind_rows(data_watervogels_sigma) +# +# data_watervogels_Zeeschelde_Sigma_estuarien <- +# data_watervogels %>% +# dplyr::filter(rivier == "Zeeschelde") %>% +# bind_rows(data_watervogels_sigma_estuarien) +# +# data_watervogels_Zeeschelde_ZR_Sigma_estwet_vallei <- +# data_watervogels %>% +# bind_rows(data_watervogels_sigma_estuarien) %>% +# bind_rows(data_watervogels_sigma_wetland) %>% +# bind_rows(data_watervogels_vallei) +# +# data_watervogels_Zeeschelde_ZR_Sigma_Vallei <- +# data_watervogels_Zeeschelde_ZR_Sigma %>% +# bind_rows(data_watervogels_vallei) +# +# data_watervogels_ZSCH_Sigmass <- +# data_watervogels_ZSCHss %>% +# bind_rows(data_watervogels_sigma_zeeschelde) +# +# data_watervogels_ZSCH_Sigma_valleiss <- +# data_watervogels_ZSCH_Sigmass %>% +# bind_rows(data_watervogels_vallei_zeeschelde) + + +## toevoegen nultellingen (reeds in data script toegevoegd) +# data_watervogels <- +# data_watervogels %>% +# complete(nesting(gebiedsgroep_code, gebiedsgroep, rivier, telseizoen, teldatum), +# nesting(nednaam, wetnaam, taxongroepcode), +# fill = list(aantal = 0)) + +# toevoegen jaar en maand +data_watervogels <- + data_watervogels %>% + mutate(jaar = teldatum %>% + ymd() %>% + year(), + maand = teldatum %>% + ymd() %>% + month()) + +data_analysesets <- + data_analysesets %>% + mutate(jaar = teldatum %>% + ymd() %>% + year(), + maand = teldatum %>% + ymd() %>% + month()) + +Waterbirds <- + Waterbirds %>% + mutate(jaar = teldatum %>% + ymd() %>% + year(), + maand = teldatum %>% + ymd() %>% + month()) + +Waterbirds_sigma_estuarien <- + Waterbirds_sigma_estuarien %>% + mutate(jaar = teldatum %>% + ymd() %>% + year(), + maand = teldatum %>% + ymd() %>% + month()) + +# data_watervogels_Zeeschelde_Sigma_estuarien <- +# data_watervogels_Zeeschelde_Sigma_estuarien %>% +# mutate(jaar = teldatum %>% +# ymd() %>% +# year(), +# maand = teldatum %>% +# ymd() %>% +# month()) +# +# data_watervogels_sigma_estuarien <- +# data_watervogels_sigma_estuarien %>% +# mutate(jaar = teldatum %>% +# ymd() %>% +# year(), +# maand = teldatum %>% +# ymd() %>% +# month()) +# +# data_watervogels_sigma_wetland <- +# data_watervogels_sigma_wetland %>% +# mutate(jaar = teldatum %>% +# ymd() %>% +# year(), +# maand = teldatum %>% +# ymd() %>% +# month()) +# +# data_watervogels_ZSCH_Sigmass <- +# data_watervogels_ZSCH_Sigmass %>% +# mutate(jaar = teldatum %>% +# ymd() %>% +# year(), +# maand = teldatum %>% +# ymd() %>% +# month()) +# +# data_watervogels_ZSCHss <- +# data_watervogels_ZSCHss %>% +# mutate(jaar = teldatum %>% +# ymd() %>% +# year(), +# maand = teldatum %>% +# ymd() %>% +# month()) +# +# data_watervogels_ZSCH_Sigma_valleiss <- +# data_watervogels_ZSCH_Sigma_valleiss %>% +# mutate(jaar = teldatum %>% +# ymd() %>% +# year(), +# maand = teldatum %>% +# ymd() %>% +# month()) +# +# data_watervogels_Zeeschelde_ZR_Sigma <- +# data_watervogels_Zeeschelde_ZR_Sigma %>% +# mutate(jaar = teldatum %>% +# ymd() %>% +# year(), +# maand = teldatum %>% +# ymd() %>% +# month()) +# +# data_watervogels_Zeeschelde_ZR_Sigma_Vallei <- +# data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(jaar = teldatum %>% +# ymd() %>% +# year(), +# maand = teldatum %>% +# ymd() %>% +# month()) +# +# data_watervogels_Zeeschelde_ZR_Sigma_estwet_vallei <- +# data_watervogels_Zeeschelde_ZR_Sigma_estwet_vallei %>% +# mutate(jaar = teldatum %>% +# ymd() %>% +# year(), +# maand = teldatum %>% +# ymd() %>% +# month()) + + +# vroegste en meest recente telseizoen +vroegste_telseizoen <- + data_watervogels %>% + pull(telseizoen) %>% + unique() %>% + sort() %>% + first() + +laatste_telseizoen <- + data_watervogels %>% + pull(telseizoen) %>% + unique() %>% + sort() %>% + last() + + +# vroegste en meest recente jaar +vroegste_jaar <- + data_watervogels %>% + pull(jaar) %>% + unique() %>% + sort() %>% + first() + +laatste_jaar <- + data_watervogels %>% + pull(jaar) %>% + unique() %>% + sort() %>% + last() + +``` + + +##### testen voor dubbels + +```{r data-controle} + +# testen voor dubbels in tellingen +dubbele_tellingen <- + data_watervogels %>% + group_by_at(vars(-aantal)) %>% + mutate(n = n()) %>% + ungroup() %>% + dplyr::filter(n>1) %>% + arrange() + +``` + +- Er zijn `r nrow(dubbele_tellingen)` dubbele tellingen in de dataset + +##### rivieren in de dataset + +```{r rivieren} + +rivieren <- + data_watervogels %>% + distinct(gebiedsgroep_code, gebiedsgroep, rivier) + +knitr::kable(rivieren) + +``` + +##### gebiedsindeling T2021 + +```{r gebiedsindeling T2021} + +data_gebiedsindeling_T2021 <- + read_delim(paste0(pad_data, "Gebiedsindeling_T2021.csv"), + delim = ";") + +data_gebiedsindeling_T2021 <- + data_gebiedsindeling_T2021 %>% + mutate(rivier = case_when( + niveau4 == "Rupel" ~ "Rupel", + niveau4 == "GetijdeDurme" ~ "Durme", + niveau4 == "GetijdeDijle" ~ "Dijle", + niveau4 == "GetijdeZenne" ~ "Zenne", + niveau4 == "GetijdeNete" ~ "Nete", + niveau4 == "Monding" ~ "Monding", + niveau2 == "Westerschelde" ~"Westerschelde", + TRUE ~ "Zeeschelde" + )) + +data_gebiedsindeling_T2021 <- data_gebiedsindeling_T2021 %>% + rename(gebiedsgroep = krw) %>% + select("niveau1", "niveau2","niveau3", "gebiedsgroep", "rivier") %>% + distinct() %>% + dplyr::filter(gebiedsgroep != "Getijdenete") + +knitr::kable(data_gebiedsindeling_T2021) + +# +# #### toevoegen gebiedsindeling EMSE +# data_watervogels <- +# data_watervogels %>% +# left_join(data_gebiedsindeling_T2021, na.rm = TRUE) %>% +# mutate(niveau3 = fct_relevel(niveau3, c("Saliniteitsgradient","Oligohalien","Zoet lang verblijf","Zoet kort verblijf", "Rupel","Durme", "Zoet zijrivier"))) +# +# data_watervogels %>% +# distinct(niveau3) +# + + +data_watervogels$niveau3 <- factor(data_watervogels$niveau3, levels = c("Saliniteitsgradient","Oligohalien","Zoet lang verblijf","Zoet kort verblijf", "Rupel","Durme", "Zoet zijrivier")) +data_watervogels$niveau2 <- factor(data_watervogels$niveau2) + +``` + +##### oppervlakte beschikbaar habitat + +```{r data-oppervlakte-slikken} + +# data_oppecotoop <- +# read_delim(paste0(pad_data, "OppEcotoop2001_19_2022copy2019.csv"), +# delim = ";") #remark aug 2024: file - values corrupt (komma separation??) + +##new file - same as benthosfile + +data_oppecotoop <- + read_csv2(paste0(pad_data, "SpatialEcotopenOpp_INBO_2021.csv")) + +print(head(data_oppecotoop)) + +data_oppecotoop <-data_oppecotoop %>% + dplyr::filter(waterloop != "Tijarm") %>% + mutate(niveau3 = case_when( + waterloop == "Zeeschelde IV" ~ "Saliniteitsgradient", + waterloop == "Zeeschelde III" ~"Oligohalien", + waterloop == "Zeeschelde II" ~ "Zoet lang verblijf", + waterloop == "Zeeschelde I" ~ "Zoet kort verblijf", + waterloop == "Rupel"~ "Rupel", + waterloop == "Durme" ~ "Durme", + TRUE ~ "rest" + )) + +data_oppecotoop <- data_oppecotoop %>% + dplyr::filter(niveau3 != "rest") %>% + left_join(data_gebiedsindeling_T2021) %>% + mutate(niveau3 = fct_relevel(niveau3, c("Saliniteitsgradient","Oligohalien","Zoet lang verblijf","Zoet kort verblijf", "Rupel","Durme"))) + +## we selecteren de jaren met volledige kaart BEZ BOZ Rupel Durme + +data_oppecotoop <-data_oppecotoop %>% + mutate(telseizoen = case_when( + jaar == "2001" ~ "2001/02", + jaar == "2010" ~ "2010/11", + jaar == "2013" ~ "2013/14", + jaar == "2016" ~ "2016/17", + jaar == "2019" ~ "2019/20", + jaar == "2022" ~ "2022/23", + TRUE ~ "incomplete" + )) %>% + dplyr::filter(telseizoen != "incomplete") + + +data_oppzachtslikKRWZS <- data_oppecotoop %>% + dplyr::filter(str_detect(ecotoopruw, "zacht")) %>% + # dplyr::filter(Uitbreiding == 0) %>% ##uitbreidingen worden niet of niet goed geteld vanop de boot bij laagwater + # dplyr::filter(str_detect(Ecotoop, "zacht")) %>% + group_by(niveau3,jaar,telseizoen) %>% + summarise(somha = sum(SomVanShape_Area)) %>% + ungroup() + +##correctie op Durme slikoppervlakte : stroomopwaartse oppervlakte 4.8ha (ongeveer) er vanaf getrokken +data_oppzachtslikKRWZS <- data_oppzachtslikKRWZS %>% + mutate(somha = case_when(niveau3 == "Durme" ~ somha - 4.8, + TRUE ~ somha)) +##correctie op uitbreidingen in Zoet kort vanaf telseizoen 2016: zacht slik - 12ha (niet te tellen vanaf boot) + +data_oppzachtslikKRWZS <- data_oppzachtslikKRWZS %>% + mutate(somha = case_when(niveau3 == "Zoet kort verblijf" & jaar > 2013 ~ somha - 12, + TRUE ~ somha)) + + +# data_oppzachtslikKRWZS %>% +# write_delim(paste0(pad_data, "data_oppzachtslikKRWZS.csv"), +# delim = ";") +#we koppelen de data aan volledige jaren (jaar x = juni x tot juli x+1) of aan winterjaar of wintertelseizoen (okt jaar x - mrt jaar x+1) + +###dataset nog niet goed de jaargangen met Zeeschelde III vr 2012,2014,2015,2017,2018 moeten eruit - slechts gedeeltelijke data + # dplyr::filter(KRWzone != "Zeeschelde III + Rupel" + # if Jaar == 2012,) +###dataset ook nog beperkt aantal jaren - meerdere jaren zouden geintepoleerd kunnen worden - nog uit te zoeken hoe je dat in R doet + +# library(zoo) + + +# df %>% +# group_by(variable) %>% +# arrange(variable, event.date) %>% +# mutate(ip.value = na.approx(value, maxgap = 4, rule = 2)) + + +``` + +##### soorten in de dataset + +```{r soorten} + +###opgelet voor de natuurindicator werken we met alle soorten, dus render script zonder selectie op soorten die meer dan 30 keer voorkomen + +# soortnamen +soortnamen <- + data_watervogels %>% + distinct(nednaam, wetnaam) + +#lijst ZS soorten die minstens 30 keer werden waargenomen - EMSE + +overzichtsoorten_analyse <- + data_watervogels %>% + group_by(nednaam) %>% + dplyr::filter(nednaam != "Morinelplevier") %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + dplyr::filter(aantal > 30) %>% + select(nednaam) %>% + ungroup() + +#ontbreken er soorten waarvan we geen dieet opnamen in data trofische groep? + +# trofische_groep_aanvullen <- +# left_join(overzichtsoorten_analyse, data_trofische_groep) %>% +# dplyr::filter(is.na(trofische_groep)) +# +# # trofische_groep_aanvullen %>% +# # write_delim(paste0(pad_data, "trofischegroepaanvullen.csv"), +# # delim = ";") +# +# Soorten_analyse_trofisch <- +# left_join(overzichtsoorten_analyse, data_trofische_groep) +# +# Soorten_analyse_trofisch %>% +# rename(Soort = nednaam) %>% +# rename(Trofie = trofische_groep) %>% +# rename(Exoot = exoot) %>% +# write_delim(paste0(pad_tabellen, "Soorten_EMSE_analyse.csv"), +# delim = ";") + +###verwijder alle soorten die niet voldoen aan het criterium van minimaal 30 wrn EMSE + +data_watervogels <- data_watervogels %>% + dplyr::filter(nednaam %in% overzichtsoorten_analyse$nednaam) + +geen_trofische_groep <- + data_watervogels %>% + dplyr::filter(is.na(trofische_groep)) %>% + pull(nednaam) %>% + unique() %>% + sort() + +tabel_trofische_groep <- + data_watervogels %>% + dplyr::filter(!is.na(trofische_groep)) %>% + distinct(trofische_groep, nednaam) %>% + group_by(trofische_groep) %>% + summarise(aantal_soorten = n()) %>% + ungroup() + + +``` + +- Er zijn `r nrow(soortnamen)` soorten in de dataset +- `r length(geen_trofische_groep)` soorten hebben geen indicatie van trofische groep + - `r geen_trofische_groep` +- de overige soorten behoren tot volgende trofische groepen + - `r knitr::kable(tabel_trofische_groep)` + +#### shannon diversity + +```{r Shannon index} + +## inclusief exoten, inclusief meeuwen en sternen + +data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 %in% c(2001:2023)) %>% + # dplyr::filter(taxongroepcode != "MS") %>% # geen meeuwen of sternen # geen meeuwen of sternen + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(gebiedsgroep != "Getijdedurme" | telseizoen1 > 2012) %>% + # dplyr::filter(gebiedsgroep != "Getijdedijle en Getijdezenne") %>% #EMSE rapporteert niet over Dijle en Zenne + dplyr::filter(gebiedsgroep != "Getijdedijle en Getijdezenne" | telseizoen1 != 2006) %>% + group_by(telseizoen1, niveau3) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, niveau3, nednaam,totaal) %>% + summarise(aantalsp = sum(aantal, na.rm = TRUE)) %>% + dplyr::filter(aantalsp > 0) %>% + mutate(pi = aantalsp/totaal) %>% + mutate(lnpi = log(pi)) %>% + mutate(pilnpi = pi * lnpi) %>% + ungroup() %>% + group_by(telseizoen1, niveau3) %>% + summarise(H_shannon = sum(pilnpi *-1, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), H_shannon, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line(size = 1) + + labs(x = "telseizoen", + y = "Shannon diversiteit H") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank())+ + scale_y_continuous() + +# ggsave(paste0(pad_figuren, "100_figuur_ShannonDiversity_wintervogels.jpg")) +ggsave(paste0(pad_figuren, "100_figuur_ShannonDiversity_wintervogels_metmeeuwen.jpg")) + +levels(data_watervogels$niveau3) + +###facet_wrap figuur +data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 %in% c(2009:2023)) %>% + # dplyr::filter(taxongroepcode != "MS") %>% # geen meeuwen of sternen # geen meeuwen of sternen + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(gebiedsgroep != "Getijdedurme" | telseizoen1 > 2012) %>% + # dplyr::filter(gebiedsgroep != "Getijdedijle en Getijdezenne") %>% #EMSE rapporteert niet over Dijle en Zenne + dplyr::filter(gebiedsgroep != "Getijdedijle en Getijdezenne" | telseizoen1 != 2006) %>% + group_by(telseizoen1, niveau3) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, niveau3, nednaam,totaal) %>% + summarise(aantalsp = sum(aantal, na.rm = TRUE)) %>% + dplyr::filter(aantalsp > 0) %>% + mutate(pi = aantalsp/totaal) %>% + mutate(lnpi = log(pi)) %>% + mutate(pilnpi = pi * lnpi) %>% + ungroup() %>% + group_by(telseizoen1, niveau3) %>% + summarise(H_shannon = sum(pilnpi *-1, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), H_shannon, group = niveau3)) + + geom_line(size = 1) + + labs(x = "telseizoen", + y = "Shannon diversiteit H") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank())+ + scale_y_continuous()+ + facet_wrap(~niveau3) + + + +##grafiek niveau2 +data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 %in% c(2001:2023)) %>% + # dplyr::filter(taxongroepcode != "MS") %>% # geen meeuwen of sternen # geen meeuwen of sternen + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(gebiedsgroep != "Getijdedurme" | telseizoen1 > 2012) %>% + # dplyr::filter(gebiedsgroep != "Getijdedijle en Getijdezenne") %>% #EMSE rapporteert niet over Dijle en Zenne + group_by(telseizoen1, niveau2) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, niveau2, nednaam,totaal) %>% + summarise(aantalsp = sum(aantal, na.rm = TRUE)) %>% + dplyr::filter(aantalsp > 0) %>% + mutate(pi = aantalsp/totaal) %>% + mutate(lnpi = log(pi)) %>% + mutate(pilnpi = pi * lnpi) %>% + ungroup() %>% + group_by(telseizoen1, niveau2) %>% + summarise(H_shannon = sum(pilnpi *-1, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), H_shannon, group = niveau2, color = niveau2)) + + geom_point(aes(shape = niveau2)) + + geom_line(size = 1) + + labs(x = "telseizoen", + y = "Shannon diversiteit H") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank())+ + scale_y_continuous()+ + ylim(0.75, 2.5) + +ggsave(paste0(pad_figuren, "100_figuur_ShannonDiversity_wintervogels_metmeeuwen_niveau2.jpg")) + +``` + +##### figuur maandelijkse totalen wintervogels Zeeschelde + +```{r 100-figuur-maandelijkse-totalen-winter-Zeeschelde, fig.height=5, fig.width=8} + +# data_watervogels %>% +# dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% ##♦dit rekent inclusief rupel +# mutate(datum = paste(jaar, maand, "15", sep = "-") %>% +# ymd()) %>% +# group_by(telseizoen, datum) %>% +# summarise(aantal = sum(aantal)) %>% +# ungroup() %>% +# ggplot(aes(datum, aantal)) + +# geom_col() + +# scale_x_date(date_breaks = "1 year", date_labels = "%Y") + +# labs(x = "datum", y = "aantal") + +# theme(axis.text.x = element_text(angle = 35)) +# probleem met deze figuur is dat sinds het stopzetten van de zomertellingen stroomop Antwerpen de zomercijfers niet meer in 1 figuur kunnen gezien worden - dit kan enkel nog in ZS4 waar jaarrond telling is. + +data_watervogels %>% + dplyr::filter(rivier == "Zeeschelde") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(teldatum > "2020-06-01") %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(color = "trendlijn")) + +ggsave(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_ZSwinter.jpg")) + +data_watervogels %>% + dplyr::filter(rivier == "Zeeschelde") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(teldatum > "2007-06-01") %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(color = "trendlijn")) +ggsave(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_ZSwinter_sinds2008.jpg")) + +``` + +##### figuur maandelijkse totalen vogels Zeeschelde IV - Saliniteitsgradiënt + +```{r 100-figuur-maandelijkse-totalen-ZeescheldeIV, fig.height=5, fig.width=8} +data_watervogels %>% + dplyr::filter(gebiedsgroep_code == "ZS4") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + # dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(teldatum < "2023-04-01") %>% + # dplyr::filter(teldatum > "2007-06-01") %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen,datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal", title = "Maandelijkse totalen saliniteitsgradiënt") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(), color = "red") + +ggsave(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_ZSIV.jpg")) + +data_watervogels %>% + dplyr::filter(gebiedsgroep_code == "ZS4") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + # dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(teldatum > "2007-06-01") %>% + dplyr::filter(teldatum < "2023-04-01") %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen,datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal", title = "Maandelijkse totalen saliniteitsgradiënt") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(), color = "red") + +ggsave(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_ZSIV_sinds2008.jpg")) + +data_watervogels %>% + dplyr::filter(gebiedsgroep_code == "ZS4") %>% + dplyr::filter(nednaam == "Scholekster") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(maand %in% c(4:9)) %>% + dplyr::filter(teldatum > "1991-10-01" & teldatum < "2023-04-01") %>% + # dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen,datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(title = "scholekster",x = "jaar", y = "aantal") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(), color = "red") + +ggsave(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_saliniteitsgradient_scholekster.jpg")) +``` + +##### figuur maandelijkse totalen vogels Zeeschelde II - Zoet lang - focusgrafieken +```{r 100-figuur-maandelijkse-totalen-ZeescheldeII, fig.height=5, fig.width=8} + +data_watervogels %>% + dplyr::filter(gebiedsgroep_code == "ZS2") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + # dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(teldatum > "2007-06-01") %>% + dplyr::filter(teldatum < "2023-04-01") %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen,datum) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + + labs(x = "jaar", y = "aantal", title = "Maandelijkse totalen zoet lang Boottellingen") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(), color = "red") + +ggsave(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_ZSII_sinds2008.jpg")) + +Waterbirds_all <- + read_delim(paste0(pad_data, "Watervogels_all_ruwedata.csv"), + delim = ";") +Waterbirds_all <- + Waterbirds_all %>% + mutate(jaar = teldatum %>% + ymd() %>% + year(), + maand = teldatum %>% + ymd() %>% + month()) + +Waterbirds_all %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + # dplyr::filter(telseizoen1 > 2009) %>% + dplyr::filter(analyseset == "SIGMA_MIDMA") %>% + dplyr::filter(gebiedsgroep == "Estuarien" | gebiedsgroep == "Wetland") %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + dplyr::filter(analyseset == "SIGMA_MIDMA") %>% + group_by(telseizoen, maand, gebiedsgroep_code) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, gebiedsgroep_code) %>% + summarise(maximum = max(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), maximum)) + + geom_col() + + labs(x = "telseizoen", + y = "wintermaximum per telseizoen") + + facet_wrap(~gebiedsgroep_code, + ncol = 2, scales = "free") + + theme(axis.text.x = element_text(angle = 90)) + +ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_sigma_estuarien_wetland.jpg")) + +table(check$gebiedsgroep_code) + +Waterbirds_all %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 > 2009) %>% + dplyr::filter(analyseset == "SIGMA_MIDMA") %>% + dplyr::filter(gebiedsgroep == "Estuarien" | gebiedsgroep == "Wetland") %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, maand,gebiedsgroep) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, gebiedsgroep) %>% + summarise(gemiddelde = mean(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), gemiddelde)) + + geom_col() + + labs(x = "telseizoen", + y = "gemiddelde per telseizoen") + + facet_wrap(~gebiedsgroep, + # ncol = 2, scales = "free" + ) + + theme(axis.text.x = element_text(angle = 90)) + + + +Waterbirds_sigma_estuarien %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + # dplyr::filter(telseizoen1 > 2009) %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, maand, gebiedsgroep_code) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, gebiedsgroep_code) %>% + summarise(maximum = max(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), maximum)) + + geom_col() + + labs(x = "telseizoen", + y = "wintermaximum per telseizoen Sigma estuarien") + + facet_wrap(~gebiedsgroep_code, + ncol = 2, scales = "free") + + theme(axis.text.x = element_text(angle = 90)) + +Waterbirds_sigma_estuarien %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + # dplyr::filter(telseizoen1 > 2009) %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, maand, gebiedsgroep_code) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, gebiedsgroep_code) %>% + summarise(gemiddelde = mean(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), gemiddelde)) + + geom_col() + + labs(x = "telseizoen", + y = "gemiddelde per telseizoen Sigma estuarien") + + facet_wrap(~gebiedsgroep_code, + ncol = 2, scales = "free") + + theme(axis.text.x = element_text(angle = 90)) + +``` + + +```{r 100-figuur-maandelijkse-wintertotalen-KRWzones} +data_watervogels %>% + # dplyr::filter(gebiedsgroep_code == "ZS4") %>% + mutate(datum = paste(jaar, maand, "15", sep = "-") %>% + ymd()) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(teldatum > "2005-10-01" & teldatum < "2022-04-01") %>% # + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + dplyr::filter(nednaam =="Wintertaling") %>% + group_by(telseizoen,datum,gebiedsgroep_code, niveau3) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(datum, aantal)) + + geom_col() + + scale_x_date(date_breaks = "1 month", date_labels = "%m%Y") + + labs(x = "jaar", y = "aantal") + + theme(axis.text.x = element_text(angle = 90))+ + geom_smooth(aes(color = "trendlijn")) + + facet_wrap(~niveau3, ncol = 2, scales = "free") + + + +``` + +##### figuur verhouding aantallen + +```{r 100-figuur-verhouding-aantallen, fig.height=5, fig.width=8} + +# figuur met gemiddelde over tellingen per seizoen en gebiedsgroep +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + # dplyr::filter(gebiedsgroep != "Getijdedurme" | telseizoen1 > 2012) %>% #Het telgebied oude durme en durme was vroeger samengeteld - dat is een probleem voor de estuariene evaluatie vn de watervogels + dplyr::filter(rivier =="Zeeschelde") %>% + group_by(telseizoen, niveau3, rivier) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, fill = niveau3)) + + geom_col(position = "fill") + + scale_y_continuous(breaks = seq(0,1,0.1), labels = paste0(seq(0,100,10),"%")) + + scale_fill_manual(values = inbo_palette()) + + labs(x = "telseizoen", + y = "") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_verhouding_aantallen_niveau3Zeeschelde.jpg")) + +# dit is de oorspronkelijke figuur met de som over alle tellingen +# data_watervogels %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen, gebiedsgroep) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal, fill = gebiedsgroep)) + +# geom_col(position = "fill") + +# scale_y_continuous(breaks = seq(0,1,0.1), labels = paste0(seq(0,100,10),"%")) + +# scale_fill_manual(values = inbo.2015.colours()) + +# labs(x = "telseizoen", y = "") + +# theme(axis.text.x = element_text(angle = 35), +# legend.position = "bottom", +# legend.title = element_blank()) + +``` + +##### figuur wintermaxima Zeeschelde + +```{r 100-figuur-wintermaxima-Zeeschelde, fig.height=6, fig.width=8} + + +# figuur met max over tellingen per seizoen en gebiedsgroep + +data_watervogels %>% + dplyr::filter(rivier == "Zeeschelde") %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen) %>% + summarise(maximum = max(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), maximum)) + + geom_col() + + labs(x = "telseizoen", + y = "wintermaximum per telseizoen") + + theme(axis.text.x = element_text(angle = 90)) + +ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_Zeeschelde.jpg")) + +wintermaximumZS <- data_watervogels %>% + dplyr::filter(rivier == "Zeeschelde") %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen) %>% + summarise(maximum = max(som, na.rm = TRUE)) + +knitr::kable(wintermaximumZS) + +# tabel met maximum per jaar en in welke maand dit viel +# tabel waarin geteld wordt in welke maand het maximum valt per seizoen /// lukt me niet direct om de code goed te krijgen +# wintermaximummaandZS <- data_watervogels %>% +# dplyr::filter(rivier == "Zeeschelde") %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld +# group_by(telseizoen, maand) %>% +# summarise(som = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(maand, som) %>% +# summarise(maandmax = count(som, na.rm = TRUE)) +# +# knitr::kable(wintermaximummaandZS) +``` + +##### figuur wintermaxima KRW + +```{r 100-figuur-wintermaxima-KRWzones, fig.height=6, fig.width=8} + + +# figuur met max over tellingen per seizoen en gebiedsgroep + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 > 2008) %>% + dplyr::filter(gebiedsgroep != "Getijdedurme" | telseizoen1 > 2012) %>% #Het telgebied oude durme en durme was vroeger samengeteld - dat is een probleem voor de estuariene evaluatie vn de watervogels + group_by(telseizoen, niveau3, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3) %>% + summarise(maximum = max(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), maximum)) + + geom_col() + + labs(x = "telseizoen", + y = "wintermaximum per telseizoen") + + facet_wrap(~niveau3, + ncol = 2, scales = "free") + + theme(axis.text.x = element_text(angle = 90)) + +ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_niveau3.jpg")) + + +``` + +##### figuur wintermaxima zijrivieren + +```{r 100-figuur-wintermaxima-zijrivieren, fig.height=6, fig.width=8} + +# figuur met max over tellingen per seizoen en gebiedsgroep + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(gebiedsgroep != "Getijdedurme" | telseizoen1 > 2012) %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, rivier, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, rivier) %>% + summarise(maximum = max(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), maximum)) + + geom_col() + + labs(x = "telseizoen", + y = "wintermaximum per telseizoen") + + facet_wrap(~rivier, + ncol = 2, scales = "free") + + theme(axis.text.x = element_text(angle = 90)) + +ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_rivier.jpg")) +``` + +#### Watervogels Sigma estuarien en wetlands + +```{r winteraantallen Sigma} + +table(Waterbirds$analyseset) +table(Waterbirds$gebiedsgroep) + +Waterbirds %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + # dplyr::filter(telseizoen1 > 2009) %>% + dplyr::filter(analyseset == "SIGMA_MIDMA") %>% + dplyr::filter(gebiedsgroep == "Estuarien" | gebiedsgroep == "Wetland") %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, maand, gebiedsgroep) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, gebiedsgroep) %>% + summarise(maximum = max(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), maximum)) + + geom_col() + + labs(x = "telseizoen", + y = "wintermaximum per telseizoen") + + facet_wrap(~gebiedsgroep, + # ncol = 2, scales = "free" + ) + + theme(axis.text.x = element_text(angle = 90)) + +ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_sigma_estuarien_wetland.jpg")) + +# Waterbirds %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(telseizoen1 > 2009) %>% +# dplyr::filter(analyseset == "SIGMA_MIDMA") %>% +# dplyr::filter(gebiedsgroep == "Wetland") %>% +# dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld +# group_by(telseizoen, maand, gebiedsgroep, gebiedsgroep_code) %>% +# summarise(som = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, gebiedsgroep, gebiedsgroep_code) %>% +# summarise(maximum = max(som, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), maximum)) + +# geom_col() + +# labs(x = "telseizoen", +# y = "wintermaximum per telseizoen") + +# facet_wrap(~gebiedsgroep_code, +# # ncol = 2, scales = "free" +# ) + +# theme(axis.text.x = element_text(angle = 90)) + + +Waterbirds %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + # dplyr::filter(telseizoen1 > 2009) %>% + dplyr::filter(analyseset == "SIGMA_MIDMA") %>% + dplyr::filter(gebiedsgroep == "Estuarien") %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, maand, gebiedsgroep) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, gebiedsgroep) %>% + summarise(maximum = max(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), maximum)) + + geom_col() + + labs(x = "telseizoen", + y = "wintermaximum per telseizoen") + + theme(axis.text.x = element_text(angle = 90)) + +ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_sigma_estuarien.jpg")) +``` + +#### details Sigmagebieden + +```{r detail sigmagebieden} + +check <- Waterbirds_sigma_estuarien %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 > 2009) %>% + group_by(telseizoen1, maand, gebied) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, gebied) %>% + summarise(maximum = max(som, na.rm = TRUE)) + +table(Waterbirds_sigma_estuarien$gebied) + +Waterbirds_sigma_estuarien <-Waterbirds_sigma_estuarien %>% +mutate(gebied = fct_relevel(gebied, c("Molen / Potpolder LILLO", "Burchtse Weel - Getijdengebied","GOG-GGG Kruibeekse Polder","GOG-GGG Bazelse Polder Noord","Bazelse Kreek KRUIBEKE", "Kruibeekse Kreek KRUIBEKE","Lippensbroek HAMME","Groot Schoor HAMME", "Bergenmeersen WICHELEN","Wijmeers-Ontpoldering UITBERGEN", "Ontpoldering Heusdenbrug (vroeger Driehoekig Plasje) HEUSDEN", "GGG Zennegat MECHELEN"))) + +Waterbirds_sigma_estuarien %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 > 2009) %>% + group_by(telseizoen1, maand, gebied, Sigmagebiedstype) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, gebied, Sigmagebiedstype) %>% + summarise(maximum = max(som, na.rm = TRUE)) %>% + ggplot(aes(as.factor(telseizoen1), maximum, colour = Sigmagebiedstype)) + + geom_line(aes(group = 1)) + + # geom_point()+ + facet_wrap(~gebied, scales = "free")+ + expand_limits(y=0)+ + theme(axis.text.x = element_text(angle = 90)) + + + +ggsave(paste0(pad_figuren, "100_figuur_wintermaxima_sigmagebieden_estuarien.jpg"), width = 30, height = 15, units = "cm" ) + +Waterbirds_sigma_estuarien %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 > 2009) %>% + group_by(telseizoen1, maand, gebied, Sigmagebiedstype) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, gebied, Sigmagebiedstype) %>% + summarise(gemiddelde = mean(som, na.rm = TRUE)) %>% + ggplot(aes(as.factor(telseizoen1), gemiddelde, colour = Sigmagebiedstype)) + + geom_line(aes(group = 1)) + + # geom_point()+ + facet_wrap(~gebied, scales = "free")+ + expand_limits(y=0)+ + theme(axis.text.x = element_text(angle = 90)) + +``` + +#### Natuurindicator berekening IHD-Z + +```{r wintermaximum-Natuurindicatorberekening, fig.height=6, fig.width=8} + +# IHD-Z: gemiddelde van de seizoensmaxima (excl. meeuwen) over de laatse 5 seizoenen mag niet minder zijn dan 40 000. Dit criterium is afgeleid van de aantallen op de Zeeschelde maar de doelen moeten gehaald worden binnen werkingsgebied IHD-Z +# er is ook een criterium voor het seizoensminimum voor de Zeeschelde (3500) maar door het terugschroeven van de monitoring kan dit niet meer berekend worden (en in de sigma en vallei gebieden is er geen systematische jaarrond watervogeltelling als je dit zou willen evalueren op het volledige IHD-Z gebied) + +##pas telseizoen1 aan! + +SeizMax <- function(data, type){ + data %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 %in% c(1991:2023)) %>% + dplyr::filter(taxongroepcode != "MS") %>% # geen meeuwen of sternen # geen meeuwen of sternen + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + group_by(telseizoen1) %>% + summarise(Wmax = max(aantal, na.rm = TRUE)) %>% + mutate(type = type) +} + +Wmax_Zsch <- data_watervogels %>% + dplyr::filter(rivier == "Zeeschelde") %>% + SeizMax("Zeeschelde") #zonder de boottellingen op de rupel + +##voor natuurindicator met zijrivieren +Wmax_Zsch_ZR <- data_watervogels %>% + SeizMax("Zeeschelde + zijrivieren") +Wmax_Zsch_ZR_Sigma <- Waterbirds %>% + dplyr::filter(analyseset != "VALLEI_MIDMA") %>% + dplyr::filter(gebiedsgroep_code == "ZSEST"| gebiedsgroep_code == "WETL" ) %>% + group_by(telseizoen1, + gebiedsgroep_code, + gebiedsgroep, + rivier, + telseizoen, + teldatum, + nednaam, + taxongroepcode, + maand) %>% + summarise(aantal = sum(aantal)) %>% + SeizMax("Zeeschelde + zijrivieren + Sigma") + + +table(Waterbirds$gebiedsgroep_code) + +Wmax_Zsch_boottelling <- Waterbirds %>% + dplyr::filter(gebiedsgroep_code == "ZSEST") %>% + dplyr::filter(analyseset == "boottelling") %>% + group_by(telseizoen1, + gebiedsgroep_code, + gebiedsgroep, + rivier, + telseizoen, + teldatum, + nednaam, + taxongroepcode, + maand) %>% + summarise(aantal = sum(aantal)) %>% + SeizMax("Zeeschelde_Rupelboottelling") #met boottellingen op Rupel + +# Wmax_Zsch_boottellingss <- data_analysesets %>% +# dplyr::filter(analyseset == "boottelling") %>% +# dplyr::filter(gebiedsgroep_code == "ZSEST") %>% +# dplyr::filter(rivier == "Zeeschelde") %>% +# group_by(telseizoen1, +# gebiedsgroep_code, +# gebiedsgroep, +# rivier, +# telseizoen, +# teldatum, +# nednaam, +# taxongroepcode, +# maand) %>% +# summarise(aantal = sum(aantal)) %>% +# SeizMax("Zeeschelde_boottellingss") + + +#wwintermaximum Zeeschelde (zonder ZR) en sigmagebieden estuarien (langs Zeeschelde) +Wmax_Zsch_Sigma_estuarien <- Waterbirds %>% + dplyr::filter(analyseset == "boottelling" | analyseset == "SIGMA_MIDMA") %>% + dplyr::filter(gebiedsgroep_code == "ZSEST" ) %>% + dplyr::filter(rivier == "Zeeschelde") %>% + group_by(telseizoen1, + gebiedsgroep_code, + gebiedsgroep, + rivier, + telseizoen, + teldatum, + nednaam, + taxongroepcode, + maand) %>% + summarise(aantal = sum(aantal)) %>% + SeizMax("Zeeschelde_boottelling_Sigma_estuarien") + +#wwintermaximum Zeeschelde (zonder ZR) en sigmagebieden estuarien (langs Zeeschelde) +Wmax_Zsch_Sigma_estuarien_wetland <- Waterbirds %>% + dplyr::filter(analyseset == "boottelling" | analyseset == "SIGMA_MIDMA") %>% + dplyr::filter(gebiedsgroep_code == "ZSEST"| gebiedsgroep_code == "WETL" ) %>% + dplyr::filter(rivier == "Zeeschelde") %>% + group_by(telseizoen1, + gebiedsgroep_code, + gebiedsgroep, + rivier, + telseizoen, + teldatum, + nednaam, + taxongroepcode, + maand) %>% + summarise(aantal = sum(aantal)) %>% + SeizMax("Zeeschelde_boottelling_Sigma_estuarien_wetland") + + + + + + + + +``` + +```{r bereken glijdendgemiddel met CI, include=FALSE} +# Bereken glijdend gemiddelde met CI +# data = tibble, x = column for x-data, value = column with data for rolling mean, n = width of average(window size) +mav_wm <- function(data, x, value, n){ + rol <- data %>% + mutate(x = x, + v = value, + m = roll_mean(value,n=n, fill = NA), + sd = roll_sd(value,n=n, fill = NA), + ci_min = m + 1.96*sd/sqrt(n), + ci_max = m - 1.96*sd/sqrt(n)) +} +mav_Zsc <- Wmax_Zsch %>% mav_wm(.$telseizoen1, .$Wmax, 5) +mav_Zscboottelling <- Wmax_Zsch_boottelling %>% mav_wm(.$telseizoen1, .$Wmax, 5) +mav_ZschSigma_estuarien <- Wmax_Zsch_Sigma_estuarien %>% mav_wm(.$telseizoen1, .$Wmax, 5) +mav_ZschSigma_estuarien_wetland <- Wmax_Zsch_Sigma_estuarien_wetland %>% mav_wm(.$telseizoen1, .$Wmax, 5) + +##voor natuurindicator +mav_Zsc_ZR <- Wmax_Zsch_ZR %>% mav_wm(.$telseizoen1, .$Wmax, 5) + +mav_Zsc_ZR %>% + write_csv(paste0(pad_tabellen, "mav_Zsc_ZR.csv")) +mav_Zsc_ZR %>% write_tsv(paste0(pad_tabellen, "mav_Zsc_ZR.tsv")) +mav_Zsc_ZR_Sigma <- Wmax_Zsch_ZR_Sigma %>% mav_wm(.$telseizoen1, .$Wmax, 5) +mav_Zsc_ZR_Sigma %>% write_tsv(paste0(pad_tabellen, "mav_Zsc_ZR_Sigma.tsv")) + +mav_Zsc_ZR_Sigma %>% + write_csv(paste0(pad_tabellen, "mav_Zsc_ZR_Sigma.csv")) + +# mav_ZscZRSigmaVallei <- Wmax_ZschZRSigmaVallei %>% mav_wm(.$telseizoen1, .$Wmax, 5) +# mav_ZscSigma <- Wmax_Zsch_Sigma %>% mav_wm(.$telseizoen1, .$Wmax, 5) +# mav_ZscSigmaVallei <- Wmax_Zsch_Sigma_vallei %>% mav_wm(.$telseizoen1, .$Wmax, 5) + + +# mav_Zsc %>% +# write_delim(paste0(pad_data, "mav_Zsc.csv"), +# delim = ";") + +# mav_ZscZR %>% +# write_delim(paste0(pad_data, "mav_ZscZR.csv"), +# delim = ";") +# +# mav_ZscZRSigma %>% +# write_delim(paste0(pad_data, "mav_ZscZRSigma.csv"), +# delim = ";") +# +# mav_ZscZRSigmaVallei %>% +# write_delim(paste0(pad_data, "mav_ZscZRSigmaVallei.csv"), +# delim = ";") + +# Doelstelling "Zeeschelde IHD-Z" bepaald op basis van winterseizoens glijdend gemiddelde (n=5) tussen 1995-2005 aantal vogels + +#enkel langsheen de Zeeschelde (excl. rupel) +mav_Zsc %>% + dplyr::filter(telseizoen1%in% c(1995:2005)) %>% + summarise(doel = mean(m, na.rm = TRUE)) %>% + pull() + +#enkel langsheen de Zeeschelde (incl. rupel) +mav_Zscboottelling %>% + dplyr::filter(telseizoen1%in% c(1995:2005)) %>% + summarise(doel = mean(m, na.rm = TRUE)) %>% + pull() + +##enkel berekend in de Zeeschelde vallei ss (sigmagebieden langs Zeeschelde) +# mav_ZscSigma %>% +# dplyr::filter(telseizoen1%in% c(1995:2005)) %>% +# summarise(doel = mean(m, na.rm = TRUE)) %>% +# pull() +# +# mav_ZscSigmaVallei%>% +# dplyr::filter(telseizoen1%in% c(1995:2005)) %>% +# summarise(doel = mean(m, na.rm = TRUE)) %>% +# pull() + +#gemiddelde max winterseizoen 1995-2005 Zeeschelde is 41926 (43952 als ook de boottellingen langsheen de Rupel beschouwd) - het doel is destijds afgerond naar onder en nu verondersteld als te behalen doelstelling binnen Zeeschelde + zijrivieren + Sigmagebieden (wetland + ontpoldering) (maar niet binnen de vallei IHD-Z contour) + +# mav_ZscZR %>% +# dplyr::filter(telseizoen1%in% c(1995:2005)) %>% +# summarise(doel = mean(m, na.rm = TRUE)) +# +# mav_ZscZRSigma %>% +# dplyr::filter(telseizoen1%in% c(1995:2005)) %>% +# summarise(doel = mean(m, na.rm = TRUE)) +# +# mav_ZscZRSigmaVallei %>% +# dplyr::filter(telseizoen1%in% c(1995:2005)) %>% +# summarise(doel = mean(m, na.rm = TRUE)) + + +``` + +```{r plotfunctie natuurindicator, include=FALSE} +# Plot glijdend gemiddelde + +# plot_mav <- function(data){ +# if(n_distinct(data$type)<2){ +# data %>% ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5, color="blue") + +# geom_line(aes(y=m), color="blue") + +# geom_hline(yintercept = 40000, linetype = 2, size = 1.4) + +# labs(y = "Wintermaximum") + +# scale_x_continuous(breaks = seq(1990, 2020, by = 5)) + +# scale_y_continuous(breaks = seq(0, 85000, by = 20000), +# limits = c(0, 85000)) + +# theme(axis.title.x = element_blank()) } +# else{ +# data %>% ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max, color = type), width=.2, +# position=position_dodge(0.1)) + +# geom_point(aes(y=m, color = type), size = 2.5) + +# geom_line(aes(y=m, color = type)) + +# geom_hline(yintercept = 40000, linetype = 2, size = 1.4) + +# labs(y = "Wintermaximum") + +# scale_x_continuous(breaks = seq(1990, 2020, by = 5)) + +# scale_y_continuous(breaks = seq(0, 85000, by = 20000), +# limits = c(0, 85000)) + +# theme(axis.title.x = element_blank()) + +# scale_color_manual(values=c("blue", "red"))+ +# theme(legend.title=element_blank(), +# legend.position="top") } +# } + +plot_mav <- function(data){ + if(n_distinct(data$type)<2){ + data %>% ggplot(aes(x=x)) + + geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + + geom_point(aes(y=m), size = 2.5, color="blue") + + geom_line(aes(y=m), color="blue") + + # geom_hline(yintercept = 40000, linetype = 2, size = 1.4) + + labs(y = "Wintermaximum") + + scale_x_continuous(breaks = seq(1990, 2022, by = 5)) + + scale_y_continuous(breaks = seq(0, 85000, by = 20000), + limits = c(0, 85000)) + + theme(axis.title.x = element_blank()) + }else if(n_distinct(data$type)>1 & n_distinct(data$type)<3){ + data %>% ggplot(aes(x=x)) + + geom_errorbar(aes(ymin=ci_min, ymax=ci_max, color = type), width=.2, + position=position_dodge(0.1)) + + geom_point(aes(y=m, color = type), size = 2.5) + + geom_line(aes(y=m, color = type)) + + # geom_hline(yintercept = 40000, linetype = 2, size = 1.4) + + labs(y = "Wintermaximum") + + scale_x_continuous(breaks = seq(1990, 2022, by = 5)) + + scale_y_continuous(breaks = seq(0, 85000, by = 20000), + limits = c(0, 85000)) + + theme(axis.title.x = element_blank()) + + scale_color_manual(values=c("blue", "red"))+ + theme(legend.title=element_blank(), + legend.position="top") + }else{ + data %>% ggplot(aes(x=x)) + + geom_errorbar(aes(ymin=ci_min, ymax=ci_max, color = type), width=.2, + position=position_dodge(0.1)) + + geom_point(aes(y=m, color = type), size = 2.5) + + geom_line(aes(y=m, color = type)) + + # geom_hline(yintercept = 40000, linetype = 2, size = 1.4) + + labs(y = "Wintermaximum") + + scale_x_continuous(breaks = seq(1990, 2022, by = 5)) + + scale_y_continuous(breaks = seq(0, 85000, by = 20000), + limits = c(0, 85000)) + + theme(axis.title.x = element_blank()) + + scale_color_manual(values=c("blue", "red","green"))+ + theme(legend.title=element_blank(), + legend.position="top") + } + } +``` + +```{r 100-figuur-wintermaximum-Natuurindicatorberekening, fig.height=6, fig.width=15} + +# , fig.cap="Vijfjarig glijdend gemiddelde van het wintermaximum van het totaal aantal watervogels in de getijderivieren van het Zeeschelde-estuarium." + +# mav_Zsc %>% +# dplyr::filter(telseizoen1%in% c(1995:2005)) %>% +# plot_mav() +# ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_glijdendgemiddelde_ZS_doelIHD.jpg")) +# +# # mav_Zsc %>% bind_rows(mav_ZscSigma) %>% +# # plot_mav() +# + +mav_Zsc %>% plot_mav() + +mav_Zsc %>% bind_rows(mav_ZschSigma_estuarien) %>% plot_mav() +ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_glijdendgemiddelde_Zeeschelde_estuarien.jpg")) + +mav_Zsc_ZR %>% plot_mav() +mav_Zsc_ZR %>% bind_rows(mav_Zsc_ZR_Sigma) %>% + plot_mav() + +ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_website2023.png"), width = 30, height = 15, units = "cm") + +mav_Zsc %>% bind_rows(mav_ZschSigma_estuarien) %>% bind_rows(mav_ZschSigma_estuarien_wetland) %>% plot_mav() +ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_ZeescheldeSS_estuarien_Wetland.png"), width = 30, height = 15, units = "cm") + +# +# mav_Zsc %>% bind_rows(mav_ZscSigma) %>% bind_rows(mav_ZscSigmaVallei) %>% +# plot_mav() +# ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_glijdendgemiddelde_Zeeschelde_sensustricto.jpg")) +# +# +# mav_ZscZR %>% plot_mav() +# +# ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_glijdendgemiddelde_ZSZR.jpg")) +# +# mav_ZscZR %>% bind_rows(mav_ZscZRSigma) %>% +# plot_mav() +# +# ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_glijdendgemiddelde_ZSZR_Sigma.jpg")) +# +# mav_ZscZR %>% bind_rows(mav_ZscZRSigma) %>% bind_rows(mav_ZscZRSigmaVallei) %>% +# plot_mav() +# +# ggsave(paste0(pad_figuren, "100_figuur_Natuurindicator_glijdendgemiddelde_ZSZR_Sigma_Vallei.jpg")) +# + +``` + +### IHD overwinterende watervogels - soortdoelstellingen S-IHD besluit + +```{r berekening s-IHD soortdoelstellingen} + +# populatiedoelstellingen te bepalen obv dataset IHD-Z werkingsgebied: Zeeschelde + zijrivieren + Sigmagebieden + exclusief rest-IHDgebied/vallei wat geen deel is van S-IHD +# pijlstaart : winter seizoensgemiddelde telseizoen 2000/01 tot 2005/06 +# wintertaling : winter seizoensgemiddelde telseizoen 1998/99 tot 2005/06 +# krakeend: winter seizoensgemiddelde telseizoen 2002/03 tot 2006/07 +# tafeleend: winter seizoensgemiddelde telseizoen 2001/02 tot 2006/07 +# bergeend: winter seizoensgemiddelde telseizoen 1992/93 tot 2006/07 +# slobeend: winter seizoensgemiddelde telseizoen 2001/02 tot 2006/07 +# kleine zwaan : winter seizoensgemiddelde telseizoen 2001/02 tot 2006/07 (niet gespecifieerd in S-IHD rapport maar hier verondersteld) +# kokmeeuw : winter seizoensgemiddelde telseizoen 2001/02 tot 2006/07 (niet gespecifieerd in S-IHD rapport maar hier verondersteld) + +##### doelstellingen op basis van Zeeschelde + zijrivieren + +doelpijlstaart <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Pijlstaart") %>% + dplyr::filter(telseizoen1 %in% c(2000:2005)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doelwintertaling <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Wintertaling") %>% + dplyr::filter(telseizoen1 %in% c(1998:2005)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doelkrakeend <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Krakeend") %>% + dplyr::filter(telseizoen1 %in% c(2002:2006)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doeltafeleend <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Tafeleend") %>% + dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doelbergeend <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Bergeend") %>% + dplyr::filter(telseizoen1 %in% c(1992:2006)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doelslobeend <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Slobeend") %>% + dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doelkleinezwaan <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Kleine Zwaan") %>% + dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + +doelkokmeeuw <- data_watervogels %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(nednaam == "Kokmeeuw") %>% + dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(telseizoen1,maand) %>% + summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1) %>% + summarise(gemidtelseizoen1 = mean(somaantal)) %>% + ungroup() %>% + summarise(doel = mean(gemidtelseizoen1)) %>% + round(digits = 0) %>% + pull() + + +##### doelstellingen op basis van Zeeschelde + zijrivieren + Sigmagebieden + +## code nog aan te passen aan data_analysesets + +# doelpijlstaart_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Pijlstaart") %>% +# dplyr::filter(telseizoen1 %in% c(2000:2005)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doelwintertaling_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Wintertaling") %>% +# dplyr::filter(telseizoen1 %in% c(1998:2005)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doelkrakeend_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Krakeend") %>% +# dplyr::filter(telseizoen1 %in% c(2002:2006)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doeltafeleend_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Tafeleend") %>% +# dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doelbergeend_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Bergeend") %>% +# dplyr::filter(telseizoen1 %in% c(1992:2006)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doelslobeend_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Slobeend") %>% +# dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doelkleinezwaan_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Kleine Zwaan") %>% +# dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() +# +# doelkokmeeuw_IHDZzone <- data_watervogels_Zeeschelde_ZR_Sigma_Vallei %>% +# mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% +# dplyr::filter(nednaam == "Kokmeeuw") %>% +# dplyr::filter(telseizoen1 %in% c(2001:2006)) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen1,maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) %>% +# ungroup() %>% +# summarise(doel = mean(gemidtelseizoen1)) %>% +# round(digits = 0) %>% +# pull() + +# +# doelpijlstaart <- pijlstaart %>% +# group_by(telseizoen) %>% +# summarise(jaartot = sum(aantal, na.rm = TRUE)) +# +# +# +# mav_ZscZR <- Wmax_ZschZR %>% mav_wm(.$telseizoen1, .$Wmax, 5) +# mav_ZscZRSigma <- Wmax_ZschZRSigma %>% mav_wm(.$telseizoen1, .$Wmax, 5) +# mav_ZscZRSigmaVallei <- Wmax_ZschZRSigmaVallei %>% mav_wm(.$telseizoen1, .$Wmax, 5) + +``` + +```{r 100-figuur_S-IHD overwinterende watervogels soortdoelstellingen} + +# table(data_analysesets$analyseset) +# ## dataset nog te aan te passen +# mean_S_IHD <- data_analysesets %>% +# dplyr::filter(nednaam %in% c("Bergeend", "Kleine Zwaan", "Kokmeeuw","Krakeend", "Pijlstaart", "Slobeend", "Tafeleend", "Wintertaling")) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(gebiedsgroep == "Estuarien") %>% +# group_by(nednaam, telseizoen1, maand) %>% +# summarise(somaantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(nednaam, telseizoen1) %>% +# summarise(gemidtelseizoen1 = mean(somaantal)) +# +# +# mav_S_IHD_Bergeend <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Bergeend") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Wintertaling <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Wintertaling") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Krakeend <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Krakeend") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Pijlstaart <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Pijlstaart") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Slobeend <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Slobeend") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Kokmeeuw <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Kokmeeuw") %>% +# dplyr::filter(telseizoen1>1998) %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Tafeleend <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Tafeleend") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# mav_S_IHD_Kleinezwaan <- mean_S_IHD %>% +# dplyr::filter(nednaam == "Kleine Zwaan") %>% +# mav_wm(.$telseizoen1, .$gemidtelseizoen1, 5) +# +# ##zou met functie moeten kunnen voor alle soorten en dan grafiek met facet_wrap op nednaam en met toevoeging van doelstelling geom_hline per soort +# ## 1 soort: +# +# mav_S_IHD_Bergeend %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelbergeend, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelbergeend_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Bergeend") +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Bergeend.jpg")) +# +# +# mav_S_IHD_Wintertaling %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelwintertaling, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelwintertaling_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Wintertaling") +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Wintertaling.jpg")) +# +# mav_S_IHD_Krakeend %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelkrakeend, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelkrakeend_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Krakeend") +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Krakeend.jpg")) +# +# mav_S_IHD_Pijlstaart %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelpijlstaart, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelpijlstaart_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank()) + +# labs(title = "Pijlstaart") +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Pijlstaart.jpg")) +# +# mav_S_IHD_Slobeend %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelslobeend, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelslobeend_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Slobeend") +# +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Slobeend.jpg")) +# +# mav_S_IHD_Tafeleend %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doeltafeleend, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doeltafeleend_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Tafeleend") +# +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Tafeleend.jpg")) +# +# +# mav_S_IHD_Kokmeeuw %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelkokmeeuw, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelkokmeeuw_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Kokmeeuw") +# +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Kokmeeuw.jpg")) +# +# mav_S_IHD_Kleinezwaan %>% +# ggplot(aes(x=x)) + +# geom_errorbar(aes(ymin=ci_min, ymax=ci_max), width=.2) + +# geom_point(aes(y=m), size = 2.5) + +# geom_line(aes(y=m)) + +# geom_hline(yintercept = doelkleinezwaan, linetype = 2, size = 1.4) + #IHD op basis van ZS+ZR +# # geom_hline(yintercept = doelkleinezwaan_IHDZzone, linetype = 2, size = 1.4, color = "red") + #IHD op basis van IHD-Zone +# labs(y = "Wintergemiddeld glijdend n=5") + +# scale_x_continuous(breaks = seq(1990, 2021, by = 5)) + +# theme(axis.title.x = element_blank())+ +# labs(title = "Kleine zwaan") +# +# ggsave(paste0(pad_figuren, "100-figuur_S-IHD_Kleinezwaan.jpg")) + +``` + +##### indexberekening + +```{r index berekening} + +## dataset transformeren naar wijd formaat met kolom per jaar en data niveau 3 per soort +## obv analyseset boottelling en zijrivieren - estuariene data +## centreren op 2009 +## index_1 op basis van totale vogelaantallen - het is beter om te kijken naar de maxima (minder gevoelig als er eens een maand niet geteld is zoals soms voorkomt langsheen zijrivieren) + +# data_watervogels_index <- data_watervogels %>% +# dplyr::filter(taxongroepcode != "MS") %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(niveau3, telseizoen,telseizoen1) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# complete(niveau3, +# nesting(telseizoen,telseizoen1), +# fill = list(aantal = 0)) %>% +# group_by(niveau3) %>% +# mutate(rel_aantal = aantal/aantal[telseizoen1 == 2009]) %>% +# ungroup() + + +data_watervogels_index <- data_watervogels %>% + dplyr::filter(taxongroepcode != "MS") %>% # zonder meeuwen en sternen + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(niveau3, telseizoen1, maand) %>% + summarise(maandsom = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau3, telseizoen1) %>% + summarise(maxwinter = max(maandsom, na.rm = TRUE)) %>% + ungroup() %>% + complete(niveau3, + nesting(telseizoen1), + fill = list(maxwinter = 0)) %>% + group_by(niveau3) %>% + mutate(rel_aantal = maxwinter/maxwinter[telseizoen1 == 2009]) %>% + ungroup() + +## we willen de verschillen tussen jaren vergelijken met 2009 als referentiejaar (kolom 20) + +data_watervogels_index %>% + dplyr::filter(telseizoen1 > 2008) %>% + ggplot(aes(telseizoen1, rel_aantal))+ + geom_line() + + geom_hline(yintercept = 1, linetype = 2, size = 1.4) + + facet_wrap(~niveau3, scales = "free") + + scale_y_log10(breaks = c(0.01, 0.03, 0.1, 0.3, 0.5, 1, 3,10))+ + labs(x = "telseizoen", + y = "index ") + + ggsave(paste0(pad_figuren, "100-figuur_Index_wintervogelaantallen.jpg")) + +### figuur per trofische groep + data_watervogels_index_trof <- data_watervogels %>% + dplyr::filter(taxongroepcode != "MS") %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(!is.na(trofische_groep)) %>% + dplyr::filter(niveau3 !="Durme") %>% #vertekend beeld voor de durme door inclusie oude durme in historische data + group_by(telseizoen1, maand,trofische_groep) %>% + summarise(maandsom = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, trofische_groep) %>% + summarise(maxwinter = max(maandsom, na.rm = TRUE)) %>% + ungroup() %>% + complete(trofische_groep, + nesting(telseizoen1), + fill = list(maxwinter = 0)) %>% + group_by(trofische_groep) %>% + mutate(rel_aantal = maxwinter/maxwinter[telseizoen1 == 2009]) %>% + ungroup() + +## figuur + +data_watervogels_index_trof %>% + dplyr::filter(telseizoen1 > 2008) %>% + ggplot(aes(telseizoen1, rel_aantal))+ + geom_line() + + geom_hline(yintercept = 1, linetype = 2, size = 1.4) + + facet_wrap(~trofische_groep, scales = "free") + + scale_y_log10(breaks = c(0.01, 0.03, 0.1, 0.3, 0.5, 1, 3,10))+ + labs(x = "telseizoen", + y = "index ") + + ggsave(paste0(pad_figuren, "100-figuur_Index_wintervogelaantallen_trofischegroepZS.jpg")) + + ### figuur per trofische groep per zone + data_watervogels_index_trofniv3 <- data_watervogels %>% + dplyr::filter(taxongroepcode != "MS") %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(!is.na(trofische_groep)) %>% + group_by(niveau3, telseizoen1, maand, trofische_groep) %>% + summarise(maandsom = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau3,telseizoen1, trofische_groep) %>% + summarise(maxwinter = max(maandsom, na.rm = TRUE)) %>% + ungroup() %>% + complete(niveau3, + nesting(telseizoen1, trofische_groep), + fill = list(maxwinter = 0)) %>% + group_by(trofische_groep, niveau3) %>% + mutate(rel_aantal = maxwinter/maxwinter[telseizoen1 == 2009]) %>% + ungroup() + +## figuur + +data_watervogels_index_trofniv3 %>% + dplyr::filter(telseizoen1 > 2008) %>% + dplyr::filter(niveau3 !="Durme") %>% #vertekend beeld voor de durme door inclusie oude durme in historische data + ggplot(aes(telseizoen1, rel_aantal, group = niveau3, color = niveau3)) + + geom_line(size = 1) + + geom_hline(yintercept = 1, linetype = 2, size = 1.4) + + facet_wrap(~trofische_groep, scales = "free") + + scale_y_log10(breaks = c(0.01, 0.03, 0.1, 0.3, 0.5, 1, 3,10))+ + labs(x = "telseizoen", + y = "index ") + + ggsave(paste0(pad_figuren, "100-figuur_Index_wintervogelaantallen_trofischegroepZSniv3.jpg")) + + + #### index niveau 2 + + data_watervogels_index_niv2 <- data_watervogels %>% + dplyr::filter(taxongroepcode != "MS") %>% # zonder meeuwen en sternen + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(niveau2, telseizoen1, maand) %>% + summarise(maandsom = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau2, telseizoen1) %>% + summarise(maxwinter = max(maandsom, na.rm = TRUE)) %>% + ungroup() %>% + complete(niveau2, + nesting(telseizoen1), + fill = list(maxwinter = 0)) %>% + group_by(niveau2) %>% + mutate(rel_aantal = maxwinter/maxwinter[telseizoen1 == 2009]) %>% + ungroup() + + data_watervogels_index_niv2 %>% + dplyr::filter(telseizoen1 > 2008) %>% + ggplot(aes(telseizoen1, rel_aantal))+ + geom_line() + + geom_hline(yintercept = 1, linetype = 2, size = 1.4) + + facet_wrap(~niveau2) + + scale_y_log10(breaks = c(0.01, 0.03, 0.1, 0.3, 0.5, 1, 3,10))+ + labs(x = "telseizoen", + y = "index ") + + ggsave(paste0(pad_figuren, "100-figuur_Index_wintervogelaantallen_niv2.jpg")) + +``` + +##### figuur wintergemiddelde aantallen per KRWzone + +```{r 100-figuur-aantallen-niveau3, fig.height=6, fig.width=8} + + +# figuur met gemiddelde over tellingen per seizoen en gebiedsgroep + +#variant1 +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 > 2008) %>% + dplyr::filter(gebiedsgroep != "Getijdedurme" | telseizoen1 > 2012) %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen1, niveau3, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, niveau3) %>% + summarise(aantal = mean(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen1), aantal)) + + geom_col() + + labs(x = "winter telseizoen", + y = "wintergemiddeld aantal watervogels") + + facet_wrap(~niveau3, + ncol = 2, scales = "free") + + theme(axis.text.x = element_text(angle = 90)) + + ggsave(paste0(pad_figuren, "100_figuur_meanwinter_niveau3.jpg")) + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(telseizoen, gebiedsgroep, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, gebiedsgroep) %>% + summarise(aantal = mean(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), aantal)) + + geom_col() + + labs(x = "telseizoen", + y = "wintergemiddeld aantal watervogels") + + facet_wrap(~gebiedsgroep, + ncol = 2) + + theme(axis.text.x = element_text(angle = 90)) + +#variant2 inzoemen vanaf telseizoen 2009 +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(gebiedsgroep != "Getijdedurme" | telseizoen1 > 2012) %>% +dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + dplyr::filter(teldatum > "2009-06-01") %>% + group_by(telseizoen, gebiedsgroep, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, gebiedsgroep) %>% + summarise(aantal = mean(som, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), aantal)) + + geom_col() + + labs(x = "telseizoen", + y = "wintergemiddeld aantal watervogels") + + facet_wrap(~gebiedsgroep, + ncol = 2, scales = "free") + + theme(axis.text.x = element_text(angle = 90)) + + +# dit is de oorspronkelijke figuur met de som over alle tellingen +# data_watervogels %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# group_by(telseizoen, gebiedsgroep) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal)) + +# geom_col() + +# labs(x = "telseizoen", +# y = "aantal") + +# facet_wrap(~gebiedsgroep, scales = "free_y") + +# theme(axis.text.x = element_text(angle = 90)) + +``` + +##### figuur wintergemiddelde aantallen per zijrivier + +```{r 100-figuur-aantallen-zijrivieren, fig.height=4, fig.width=12} + +# figuur met gemiddelde over tellingen per seizoen en zijrivier +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3), + rivier %in% c("Dijle", "Zenne")) %>% +dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(rivier,telseizoen, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, rivier) %>% + summarise(aantal = mean(som, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal)) + + geom_col() + + labs(x = "telseizoen", + y = "gemiddeld per maand aantal watervogels per winterseizoen") + + facet_wrap(~rivier, scales = "free_y") + + theme(axis.text.x = element_text(angle = 90)) + +ggsave(paste0(pad_figuren, "100_figuur_aantallen_zijrivieren.jpg")) + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3), + rivier %in% c("Rupel","Zeeschelde")) %>% +dplyr::filter(taxongroepcode != "MS") %>% #meeuwen en sternen niet meetellen worden pas sinds 1999 geteld + group_by(rivier,telseizoen1, maand) %>% + summarise(som = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, rivier) %>% + summarise(aantal = mean(som, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), aantal)) + + geom_col() + + geom_smooth(aes(color = "trendlijn")) + + labs(x = "telseizoen", + y = "gemiddeld per maand aantal watervogels per winterseizoen") + + facet_wrap(~rivier) + + theme(axis.text.x = element_text(angle = 90)) + +# dit is de oorspronkelijke figuur met de som over alle tellingen +# data_watervogels %>% +# dplyr::filter(maand %in% c(10:12, 1:3), +# rivier %in% c("Dijle", "Rupel", "Zenne")) %>% +# group_by(telseizoen, rivier) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal)) + +# geom_col() + +# labs(x = "telseizoen", +# y = "aantal") + +# facet_wrap(~rivier, scales = "free_y") + +# theme(axis.text.x = element_text(angle = 90)) + +``` + +##### figuur wintergemiddelde aantallen per trofische groep + +```{r 100-figuur-aantallen-trofische-groep, fig.height=5, fig.width=7} + +# figuur met gemiddelde over tellingen per seizoen, gebiedsgroep en trofische groep +# data_watervogels %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% +# dplyr::filter(jaar >= 2009, +# telseizoen != "2008/09") %>% +# dplyr::filter(!is.na(trofische_groep)) %>% +# group_by(telseizoen, teldatum, trofische_groep, gebiedsgroep, rivier) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, trofische_groep, gebiedsgroep, rivier) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, gebiedsgroep, trofische_groep) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + +# geom_point(aes(shape = gebiedsgroep)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "aantal") + +# facet_wrap(~trofische_groep, +# scales = "free_y") + +# theme(axis.text.x = element_text(angle = 90), +# legend.position = "bottom", +# legend.title = element_blank()) + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + dplyr::filter(!is.na(trofische_groep)) %>% + group_by(telseizoen, maand, trofische_groep, niveau3) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, trofische_groep, niveau3) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "wintergemiddelde") + + facet_wrap(~trofische_groep, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_aantallen_trofische_groep_niveau3.jpg")) + + +###facet_wrap op niveau 3 +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + dplyr::filter(!is.na(trofische_groep)) %>% + dplyr::filter(trofische_groep == "Nomn" | trofische_groep == "Nherb") %>% + group_by(telseizoen, maand, trofische_groep, niveau3) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, trofische_groep, niveau3) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = trofische_groep, color = trofische_groep)) + + geom_line() + + labs(x = "telseizoen", + y = "wintergemiddelde") + + facet_wrap(~niveau3, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +###facet_wrap op niveau 3 +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + dplyr::filter(!is.na(trofische_groep)) %>% + dplyr::filter(trofische_groep == "Nomn") %>% + group_by(telseizoen, maand, trofische_groep, niveau3) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, trofische_groep, niveau3) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = trofische_groep, color = trofische_groep)) + + geom_line() + + labs(x = "telseizoen", + y = "wintergemiddelde") + + facet_wrap(~niveau3, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + + + +##welke soorten -- achtergrond bespreking +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(jaar >= 2012, + telseizoen != "2011/12") %>% + dplyr::filter(!is.na(trofische_groep)) %>% + dplyr::filter(trofische_groep=="Nomn") %>% + group_by(telseizoen, maand, trofische_groep, gebiedsgroep, nednaam) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, trofische_groep, gebiedsgroep, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% +ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + + geom_point(aes(shape = gebiedsgroep)) + + geom_line() + + labs(x = "telseizoen", + y = "aantal") + + facet_wrap(~nednaam) + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(jaar >= 2012, + telseizoen != "2011/12") %>% + dplyr::filter(!is.na(trofische_groep)) %>% + dplyr::filter(trofische_groep=="Nherb") %>% + group_by(telseizoen, maand, trofische_groep, gebiedsgroep, nednaam) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, trofische_groep, gebiedsgroep, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% +ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + + geom_point(aes(shape = gebiedsgroep)) + + geom_line() + + labs(x = "telseizoen", + y = "aantal") + + facet_wrap(~nednaam) + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(telseizoen > "2011/12") %>% + dplyr::filter(!is.na(trofische_groep)) %>% + dplyr::filter(trofische_groep=="Nomn") %>% + dplyr::filter(nednaam %in% c("Kokmeeuw")) %>% + group_by(telseizoen, maand, trofische_groep, gebiedsgroep, nednaam) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, trofische_groep, gebiedsgroep, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% +ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + + geom_point(aes(shape = gebiedsgroep)) + + geom_line() + + labs(x = "telseizoen", + y = "aantal") + + facet_wrap(~nednaam) + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(jaar >= 2012, + telseizoen != "2011/12") %>% + dplyr::filter(!is.na(trofische_groep)) %>% + dplyr::filter(trofische_groep=="Npisc") %>% + group_by(telseizoen, maand, trofische_groep, gebiedsgroep, nednaam) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, trofische_groep, gebiedsgroep, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% +ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + + geom_point(aes(shape = gebiedsgroep)) + + geom_line() + + labs(x = "telseizoen", + y = "aantal") + + facet_wrap(~nednaam) + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) +``` + +##### figuur abundante soorten met \> 5% per KRWzone voor en na 2009 + +```{r 100-figuur-abundante-soorten, fig.height=5, fig.width=7} + +abundante_wintervogels <- data_watervogels %>% + # dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + group_by(niveau3, nednaam) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau3) %>% + mutate(totaalgebiedsgroep = sum(aantal, na.rm = TRUE)) %>% + mutate(perc = (totaal/totaalgebiedsgroep)*100) %>% + dplyr::filter(perc > 5) %>% + ungroup() %>% + select(nednaam) %>% + distinct(nednaam) %>% + arrange(nednaam) + + +# #Create a custom color scale for species: 10 colors needed and order of color must be the same for each species +# library(RColorBrewer) +# myColors <- brewer.pal(10,"Set3") +# names(myColors) <- levels(abundante_wintervogels$nednaam) +# colScale <- scale_colour_manual(name = "nednaam",values = myColors) +# # lukt me niet om dit te doen werken + + +data_watervogels %>% + # dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(telseizoen >= "2009/10") %>% + group_by(niveau3, nednaam) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau3) %>% + mutate(totaalgebiedsgroep = sum(aantal, na.rm = TRUE)) %>% + mutate(perc = (totaal/totaalgebiedsgroep)*100) %>% + dplyr::filter(perc > 5) %>% + ggplot(aes(ordered(niveau3), aantal, fill = nednaam)) + + geom_col(position = "fill") + + scale_y_continuous(breaks = seq(0,1,0.1), labels = paste0(seq(0,100,10),"%")) + + scale_fill_manual(values=c("#CC0000", "#006600", "#669999", "#00CCCC", + "#660099", "#CC0066", "#FF9999", "#FF9900", + "black", "red", "green", "blue", "yellow")) + + labs(x = "Niveau3 zones", + y = "") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + + + +ggsave(paste0(pad_figuren, "100_figuur_abundante_soortenna2009.jpg")) + + + +data_watervogels %>% + # dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(jaar <= 2009, + telseizoen != "2009/10") %>% + group_by(niveau3, nednaam) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau3) %>% + mutate(totaalgebiedsgroep = sum(aantal, na.rm = TRUE)) %>% + mutate(perc = (totaal/totaalgebiedsgroep)*100) %>% + dplyr::filter(perc > 5) %>% + ggplot(aes(ordered(niveau3), aantal, fill = nednaam)) + + geom_col(position = "fill") + + scale_y_continuous(breaks = seq(0,1,0.1), labels = paste0(seq(0,100,10),"%"))+ + scale_fill_manual(values=c("#CC0000", "#006600", "#669999", "#00CCCC", + "#660099", "#CC0066", "#FF9999", "#FF9900", + "black", "red", "green", "blue", "yellow")) + + labs(x = "Niveau3 zones", + y = "") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + + +ggsave(paste0(pad_figuren, "100_figuur_abundante_soortenvoor2009.jpg")) + + + + + +data_watervogels %>% + # dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(telseizoen >= "2009/10") %>% + dplyr::filter(niveau3 != 'Saliniteitsgradient') %>% + dplyr::filter(niveau2 == 'Zeeschelde') %>% + arrange(nednaam) %>% + group_by(nednaam) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau2) %>% + mutate(totaalgebiedsgroep = sum(aantal, na.rm = TRUE)) %>% + mutate(perc = (totaal/totaalgebiedsgroep)*100) %>% + dplyr::filter(perc > 10) %>% + mutate(soort = fct_reorder2(nednaam, niveau2, perc)) %>% + ggplot(aes(ordered(niveau2), aantal, fill = soort)) + + geom_col(position = "fill") + + # scale_y_continuous(breaks = seq(0,1,0.1), labels = paste0(seq(0,100,10),"%")) + + # scale_fill_manual(values=c("#CC0000", "#006600", "#669999", "#00CCCC", + # "#660099", "#CC0066", "#FF9999", "#FF9900", + # "black", "red", "green", "blue", "yellow")) + + labs(x = "", + y = "") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +data_watervogels %>% + # dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(telseizoen < "2009/10") %>% + dplyr::filter(niveau3 != 'Saliniteitsgradient') %>% + dplyr::filter(niveau2 == 'Zeeschelde') %>% + arrange(nednaam) %>% + group_by(nednaam) %>% + mutate(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(niveau2) %>% + mutate(totaalgebiedsgroep = sum(aantal, na.rm = TRUE)) %>% + mutate(perc = (totaal/totaalgebiedsgroep)*100) %>% + dplyr::filter(perc > 10) %>% + mutate(soort = fct_reorder2(nednaam, niveau2, perc)) %>% + ggplot(aes(ordered(niveau2), aantal, fill = soort)) + + geom_col(position = "fill") + + # scale_y_continuous(breaks = seq(0,1,0.1), labels = paste0(seq(0,100,10),"%")) + + # scale_fill_manual(values=c("#CC0000", "#006600", "#669999", "#00CCCC", + # "#660099", "#CC0066", "#FF9999", "#FF9900", + # "black", "red", "green", "blue", "yellow")) + + labs(x = "", + y = "") + + theme(axis.text.x = element_text(angle = 0), + legend.position = "bottom", + legend.title = element_blank()) + + +``` + +##### figuur wintergemiddelde aantallen voor abundante soorten Zeeschelde + +```{r 100-figuur-aantallen-abundante-soorten, fig.height=5, fig.width=7} + +# data_watervogels %>% +# dplyr::filter(nednaam %in% c("Bergeend", "Krakeend", "Wilde Eend", "Wintertaling")) %>% +# dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(jaar >= 2009, +# telseizoen != "2008/09") %>% +# group_by(telseizoen, gebiedsgroep, nednaam, rivier) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, gebiedsgroep, nednaam) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + +# geom_point(aes(shape = gebiedsgroep)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "aantal") + +# facet_wrap(~nednaam, +# scales = "free_y") + +# theme(axis.text.x = element_text(angle = 90), +# legend.position = "bottom", +# legend.title = element_blank()) + +data_watervogels %>% + dplyr::filter(nednaam %in% c("Bergeend", "Krakeend", "Wilde Eend", "Wintertaling")) %>% + # dplyr::filter(rivier == "Zeeschelde") %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + group_by(telseizoen, niveau3, nednaam, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "gemiddeld aantal") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + + +ggsave(paste0(pad_figuren, "100_figuur_aantallen_abundante_soorten_niveau3.jpg")) + +``` + +##### figuur wintergemiddelde aantallen voor viseters en steltlopers + +```{r 100-figuur-aantallen-visetend-en-steltlopers, fig.height=5, fig.width=7} + +data_watervogels %>% + dplyr::filter(nednaam %in% c("Aalscholver", "Fuut", "Blauwe Reiger")) %>% + # dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + group_by(telseizoen, niveau3, nednaam, rivier) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "gemiddeld aantal") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_aantallen_viseters_niveau3.jpg")) + +data_watervogels %>% + dplyr::filter(nednaam %in% c("Aalscholver", "Fuut", "Visdief", "Blauwe Reiger")) %>% + dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(maand %in% c(4:9)) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + group_by(telseizoen, gebiedsgroep, nednaam, rivier) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, gebiedsgroep, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + + geom_point(aes(shape = gebiedsgroep)) + + geom_line() + + labs(x = "telseizoen", + y = "gemiddeld aantal zomer") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_gemid_aantallenzomer_viseters.jpg")) + +data_watervogels %>% + dplyr::filter(nednaam %in% c("Aalscholver", "Fuut", "Visdief", "Blauwe Reiger")) %>% + # dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(maand %in% c(4:9)) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + group_by(telseizoen, niveau3, nednaam, rivier) %>% + summarise(aantal = max(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, nednaam) %>% + summarise(aantal = max(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "max aantal zomer") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +data_watervogels %>% + dplyr::filter(nednaam %in% c("Kluut", "Kievit", "Tureluur", "Wulp", "Scholekster", "Bonte Strandloper")) %>% + dplyr::filter(trofische_groep == "Nbenth") %>% + dplyr::filter(str_detect(gebiedsgroep_code, "ZS4")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(jaar >= 2005, + telseizoen != "2004/05") %>% + group_by(telseizoen, niveau3, nednaam, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "gemiddeld aantal") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +data_watervogels %>% + dplyr::filter(nednaam %in% c( "Kievit", "Tureluur", "Wulp", "Scholekster")) %>% + dplyr::filter(trofische_groep == "Nbenth") %>% + dplyr::filter(str_detect(gebiedsgroep_code, "ZS4")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(jaar >= 2005, + telseizoen != "2004/05") %>% + group_by(telseizoen, niveau3, nednaam, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "gemiddeld aantal") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +# data_watervogels %>% +# dplyr::filter(nednaam %in% c("Scholekster")) %>% +# dplyr::filter(trofische_groep == "Nbenth") %>% +# dplyr::filter(str_detect(gebiedsgroep_code, "ZS4")) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(jaar >= 2019, +# telseizoen != "2004/05") %>% +# group_by(telseizoen, gebiedsgroep, nednaam, maand) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# # group_by(telseizoen, gebiedsgroep, nednaam) %>% +# # summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# # ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + +# geom_point(aes(shape = gebiedsgroep)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "gemiddeld aantal") + +# facet_wrap(~nednaam, +# scales = "free_y") + +# theme(axis.text.x = element_text(angle = 90), +# legend.position = "bottom", +# legend.title = element_blank()) +# +# +# data_watervogels %>% +# dplyr::filter(nednaam %in% c("Aalscholver", "Fuut", "Tureluur", "Wulp")) %>% +# dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(jaar >= 2005, +# telseizoen != "2004/05") %>% +# group_by(telseizoen, gebiedsgroep, nednaam, maand) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, gebiedsgroep, nednaam) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# ggplot(aes(ordered(telseizoen), aantal, group = gebiedsgroep, color = gebiedsgroep)) + +# geom_point(aes(shape = gebiedsgroep)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "gemiddeld aantal") + +# facet_wrap(~nednaam, +# scales = "free_y") + +# theme(axis.text.x = element_text(angle = 90), +# legend.position = "bottom", +# legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_aantallen_steltlopers.jpg")) + +``` + +##### figuur wintergemiddelde vogeldichtheid per zones + +```{r dichtheden winter watervogels per zone} + + + + data_watervogels %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + # dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(niveau3 != "Zoet zijrivier") %>% + dplyr::filter(telseizoen %in% c("2001/02","2010/11","2013/14","2016/17","2019/20","2022/23")) %>% + dplyr::filter(nednaam != "Tafeleend" & nednaam != "Kuifeend") %>% + dplyr::filter(trofische_groep != "Npisc" & trofische_groep != "Nherb") %>% + left_join(data_oppzachtslikKRWZS, by = c("niveau3","telseizoen")) %>% + group_by(telseizoen, maand, niveau3, somha) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, somha) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, somha) %>% + summarise(dichtheid = mean(aantal/somha, na.rm = TRUE)) %>% + ggplot(aes(ordered(telseizoen), dichtheid, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "dichtheid overwinterende watervogel (#/ha)") + + theme(axis.text.x = element_text(angle = 0), + legend.position = "bottom", + legend.title = element_blank())+ + scale_y_continuous(breaks = seq(0,140,20)) + +ggsave(paste0(pad_figuren, "100_figuur_dichtheid.jpg")) + +# data_watervogels %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# # dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% +# dplyr::filter(niveau3 != "Zoet zijrivier") %>% +# dplyr::filter(niveau3 != "Rupel") %>% +# dplyr::filter(niveau3 != "Saliniteitsgradient") %>% +# dplyr::filter(niveau3 != "Zoet kort verblijf") %>% +# dplyr::filter(telseizoen %in% c("2001/02","2010/11","2013/14","2016/17","2019/20")) %>% +# dplyr::filter(nednaam != "Tafeleend" & nednaam != "Kuifeend") %>% +# dplyr::filter(trofische_groep != "Npisc" & trofische_groep != "Nherb") %>% +# left_join(data_oppzachtslikKRWZS, by = c("niveau3","telseizoen")) %>% +# group_by(telseizoen, maand, niveau3, somha) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha) %>% +# summarise(dichtheid = mean(aantal/somha, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), dichtheid, group = niveau3, color = niveau3)) + +# geom_point(aes(shape = niveau3)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "dichtheid overwinterende watervogel (#/ha)") + +# theme(axis.text.x = element_text(angle = 0), +# legend.position = "bottom", +# legend.title = element_blank())+ +# scale_y_continuous(breaks = seq(0,140,20)) +# +# ggsave(paste0(pad_figuren, "100_figuur_dichtheidDurme.jpg")) +# +# ##Zeeschelde IV wintertrends +# data_watervogels %>% +# dplyr::filter(str_detect(gebiedsgroep_code, "ZS4")) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(telseizoen %in% c("2001/02","2010/11","2012/13","2013/14","2014/15","2015/16","2016/17","2017/18","2018/19","2019/20","2020/21", +# "2021/22")) %>% +# dplyr::filter(nednaam != "Tafeleend" & nednaam != "Kuifeend") %>% +# dplyr::filter(trofische_groep != "Npisc" & trofische_groep != "Nherb") %>% +# left_join(data_oppzachtslikKRWZS, by = c("niveau3","telseizoen")) %>% +# group_by(telseizoen, maand, niveau3, somha) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha) %>% +# summarise(dichtheid = mean(aantal/somha, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), dichtheid, group = niveau3, color = niveau3)) + +# geom_point(aes(shape = niveau3)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "dichtheid overwinterende watervogel (#/ha)") + +# theme(axis.text.x = element_text(angle = 0), +# legend.position = "bottom", +# legend.title = element_blank())+ +# scale_y_continuous(breaks = seq(0,20,2)) +# +# ggsave(paste0(pad_figuren, "100_figuur_dichtheidZS4.jpg")) +# +# ##Zeeschelde IV wintertrends trofische groepen +# +# data_watervogels %>% +# dplyr::filter(str_detect(gebiedsgroep_code, "ZS4")) %>% +# dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(telseizoen %in% c("2001/02","2010/11","2012/13","2013/14","2014/15","2015/16","2016/17","2017/18","2018/19","2019/20","2020/21", +# "2021/22", "2022/23")) %>% +# dplyr::filter(nednaam != "Tafeleend" & nednaam != "Kuifeend") %>% +# dplyr::filter(trofische_groep != "Npisc" & trofische_groep != "Nherb") %>% +# left_join(data_oppzachtslikKRWZS, by = c("niveau3","telseizoen")) %>% +# group_by(telseizoen, maand, niveau3, somha,trofische_groep) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha,trofische_groep) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha,trofische_groep) %>% +# summarise(dichtheid = mean(aantal/somha, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), dichtheid, group = trofische_groep, color = trofische_groep)) + +# geom_point(aes(shape = niveau3)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "dichtheid overwinterende watervogel (#/ha)") + +# theme(axis.text.x = element_text(angle = 0), +# legend.position = "bottom", +# legend.title = element_blank())+ +# scale_y_continuous(breaks = seq(0,20,2)) +# +# +# +# ##Zeeschelde IV jaartrends telseizoen +# data_watervogels %>% +# dplyr::filter(str_detect(gebiedsgroep_code, "ZS4")) %>% +# # dplyr::filter(maand %in% c(10:12, 1:3)) %>% +# dplyr::filter(telseizoen %in% c("2001/02","2010/11","2012/13","2013/14","2014/15","2015/16","2016/17","2017/18","2018/19","2019/20","2020/21", +# "2021/22","2022/23")) %>% +# dplyr::filter(nednaam != "Tafeleend" & nednaam != "Kuifeend") %>% +# dplyr::filter(trofische_groep != "Npisc" & trofische_groep != "Nherb") %>% +# left_join(data_oppzachtslikKRWZS, by = c("niveau3","telseizoen")) %>% +# group_by(telseizoen, maand, niveau3, somha) %>% +# summarise(aantal = sum(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha) %>% +# summarise(aantal = mean(aantal, na.rm = TRUE)) %>% +# ungroup() %>% +# group_by(telseizoen, niveau3, somha) %>% +# summarise(dichtheid = mean(aantal/somha, na.rm = TRUE)) %>% +# ggplot(aes(ordered(telseizoen), dichtheid, group = niveau3, color = niveau3)) + +# geom_point(aes(shape = niveau3)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "dichtheid overwinterende watervogel (#/ha)") + +# theme(axis.text.x = element_text(angle = 0), +# legend.position = "bottom", +# legend.title = element_blank())+ +# scale_y_continuous(breaks = seq(0,20,2)) +# +# # oppervlakte veranderingen exclusief uitbreidingen (enge planimetrie) +# +# data_watervogels %>% +# # dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% +# dplyr::filter(telseizoen %in% c("2001/02","2010/11","2013/14","2016/17","2019/20")) %>% +# left_join(data_oppzachtslikKRWZS, by = c("niveau3","telseizoen")) %>% +# dplyr::filter(!is.na(somha)) %>% +# group_by(telseizoen, niveau3, somha) %>% +# ggplot(aes(ordered(telseizoen), somha, group = niveau3, color = niveau3)) + +# geom_point(aes(shape = niveau3)) + +# geom_line() + +# labs(x = "telseizoen", +# y = "Oppervlakte slik zacht substraat (ha)")+ +# theme(axis.text.x = element_text(angle = 0), +# legend.position = "bottom", +# legend.title = element_blank()) +# +# ggsave(paste0(pad_figuren, "100_figuur_habitatoppervlakte.jpg")) +# + +``` + +##### figuur exotentrends + +```{r 100-figuur-exotentrends, fig.height=5, fig.width=7} + + +data_watervogels %>% + dplyr::filter(nednaam %in% c("Nijlgans", "Canadese Gans", "Soepeend", "Boerengans")) %>% + dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter(jaar >= 2009, + telseizoen != "2008/09") %>% + group_by(telseizoen, niveau3, nednaam, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen, niveau3, nednaam) %>% + summarise(aantal = mean(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen), aantal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "gemiddeld aantal") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_aantallen_exoten.jpg"), width = 20, height = 12, units = "cm") + +data_watervogels %>% + dplyr::filter(exoot == 1) %>% + dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter (telseizoen1 > 2008) %>% + group_by(telseizoen1, niveau3, nednaam, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, niveau3, nednaam) %>% + summarise(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), totaal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "totaal aantal per winter") + + facet_wrap(~nednaam, + scales = "free_y") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +data_watervogels %>% + dplyr::filter(exoot == 1) %>% + dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter (telseizoen1 > 2008) %>% + group_by(telseizoen1, niveau3, maand) %>% + summarise(aantal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + group_by(telseizoen1, niveau3) %>% + summarise(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), totaal, group = niveau3, color = niveau3)) + + geom_point(aes(shape = niveau3)) + + geom_line() + + labs(x = "telseizoen", + y = "totaal aantal exoten per winter") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_totaalaantal_exoten_niveau3.jpg")) + +data_watervogels %>% + dplyr::filter(exoot == 1) %>% + dplyr::filter(str_detect(gebiedsgroep_code, "ZS")) %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + dplyr::filter (telseizoen1 > 2008) %>% + group_by(telseizoen1) %>% + summarise(totaal = sum(aantal, na.rm = TRUE)) %>% + ungroup() %>% + ggplot(aes(ordered(telseizoen1), totaal)) + + geom_col() + + labs(x = "telseizoen", + y = "totaal aantal exoten per winter") + + theme(axis.text.x = element_text(angle = 90), + legend.position = "bottom", + legend.title = element_blank()) + +ggsave(paste0(pad_figuren, "100_figuur_totaalaantal_exoten.jpg")) + +``` + +```{r meta-data} + +meta_data <- + enframe(c(vroegste_telseizoen = vroegste_telseizoen, + laatste_telseizoen = laatste_telseizoen, + vroegste_jaar = vroegste_jaar, + laatste_jaar = laatste_jaar, + aantal_soorten = nrow(soortnamen)), + name = "naam", value = "waarde") + +meta_data %>% + write_delim(paste0(pad_data, "meta_data.csv"), + delim = ";") + +``` diff --git a/moneos_2025/150_geintegreerd_rapport/100_watervogels.Rmd b/moneos_2025/150_geintegreerd_rapport/100_watervogels.Rmd new file mode 100644 index 0000000..0893162 --- /dev/null +++ b/moneos_2025/150_geintegreerd_rapport/100_watervogels.Rmd @@ -0,0 +1,723 @@ +--- +output: + pdf_document: default + html_document: default +editor_options: + markdown: + wrap: sentence + chunk_output_type: inline +--- + +```{r 100-hoofdstuk, include=FALSE} + +hoofdstuk <- "100_watervogels" + +``` + +```{r 100-setup, include=FALSE} + +knitr::opts_chunk$set(echo = FALSE, error=FALSE, warning=FALSE, message=FALSE, cache=FALSE, fig.pos = "H", out.extra = '') +knitr::opts_knit$set(eval.after = "fig.cap") + + +``` + +```{r 100-libraries} + +library(tidyverse) +library(readxl) +# library(flextable) +# library(officer) +library(kableExtra) +library(janitor) +# library(huxtable) +# library(pander) +# library(ztable) +# library(magick) +# library(webshot) +library(rprojroot) +library(conflicted) +conflict_prefer("filter", "dplyr") + +``` + +```{r 100-pad} + +# inlezen van variabelen +# pad naar data : pad_data +# pad naar tabellen : pad_tabellen +# pad naar figuren : pad_figuren + +source(find_root_file("../pad.R", criterion = is_rstudio_project)) +pad_data <- maak_pad(hoofdstuk, "data") +pad_figuren <- maak_pad(hoofdstuk, "figuren") +pad_tabellen <- maak_pad(hoofdstuk, "tabellen") + +``` + +```{r 100-meta_data} + +meta_data <- + read_delim(paste0(pad_data, "meta_data.csv"), + delim = ";") + +for(i in 1:nrow(meta_data)){ + ##first extract the object value + tempobj=meta_data$waarde[i] + ##now create a new variable with the original name of the list item + eval(parse(text=paste(meta_data$naam[i],"= tempobj"))) +} + +``` + +```{r data-watervogels inlezen en voorbereiden voor analyse} +WV_DB <- + read_delim(paste0(pad_data, "WV_DB.csv"), + delim = ";") + +WV_DB <- WV_DB %>% + rename_all(tolower) %>% + mutate(telseizoen1 = as.numeric(str_sub(telseizoen, 1, 4))) %>% + dplyr::filter(telseizoen1 > 1990) + + +Gebieden_ZS <- + read_delim(paste0(pad_data, "Gebieden_ZS.csv"), + delim = ";") + + +# toevoegen jaar en maand +WV_DB <- + WV_DB %>% + mutate(jaar = teldatum %>% + ymd() %>% + year(), + maand = teldatum %>% + ymd() %>% + month()) +# vroegste en meest recente telseizoen +vroegste_telseizoen <- + WV_DB %>% + pull(telseizoen) %>% + unique() %>% + sort() %>% + first() + +laatste_telseizoen <- + WV_DB %>% + pull(telseizoen) %>% + unique() %>% + sort() %>% + last() + + +# vroegste en meest recente jaar +vroegste_jaar <- + WV_DB %>% + pull(jaar) %>% + unique() %>% + sort() %>% + first() + +laatste_jaar <- + WV_DB %>% + pull(jaar) %>% + unique() %>% + sort() %>% + last() + + +### selecteren van de tellingen in de relevante telgebieden NOPzoneplus +Tellingen_ZS_alles <- WV_DB %>% right_join(Gebieden_ZS, by = c("gebiedscode"),suffix = c("", "")) + + +### selecteren periode 1991/92 -> 2023/24; meeuwen Wel of niet betrokken in de analyse +Tellingen_ZS_alles <- Tellingen_ZS_alles %>% + dplyr::filter(teldatum < "2025-04-01") %>% +# dplyr::filter(groep != "Meeuwen en Sternen") %>% + dplyr::filter(telseizoen1 > 1990) + + +``` + +# Watervogels + +Fichenummer: FICHE S-DS-V-007a -- Maandelijkse vogeltellingen\ +Fichenummer: FICHE S-DS-V-007b -- Vogeltellingen zijrivieren\ +Fichenummer: FICHE S-DS-V-007c -- Vogeltellingen sigmagebieden (estuarien) + +**Gunther Van Ryckegem**, Jan Soors, Nico De Regge + +## Inleiding + +Overwinterende en doortrekkende watervogels kunnen indicatief zijn voor het estuarien ecosysteemfunctioneren. +Veranderingen in aantallen watervogels kunnen echter veroorzaakt zijn door factoren zowel buiten (bijvoorbeeld klimaatverandering, Europese populatietrends, de situatie in broedgebieden...) als binnen het estuarium. +Interne factoren zijn bijvoorbeeld wijzigingen in voedselaanbod, foerageerareaal, binnendijks habitat, verstoring,... +. Trends moeten dus steeds in een ruimer kader en met de nodige omzichtigheid geëvalueerd worden. + +De eerstelijnsrapportage beschrijft de aangeleverde watervogeldata van de Zeeschelde, de zijrivieren. +De data van de estuariene natuurontwikkelingsprojecten wordt niet besproken in deze rapportage.De focus ligt op de verzamelde tellingen tot de winter van `r as.numeric(laatste_jaar) - 1` (eindigend in maart `r laatste_jaar`). +De data werden gefilterd uit de INBO watervogeldatabank. + +De evaluatie heeft volgende informatie nodig: aantallen vogels per soort per maand per segment op niveau 2 en 3 (niveau 2 is som van de KRW waterlichamen; niveau 3 heeft betrekking op het KRW waterlichaam of de saliniteitszone (Evaluatiemethodiek, 2021). +De getijdenetes worden hier niet mee gerapporteerd omdat ze geen apart afgebakend telgebied zijn in de INBO watervogeldatabank. + +Bij deze rapportage wordt 1 dataset voor de Zeeschelde en zijrivieren opgeleverd aan de Scheldemonitor. +De eerste bevat de informatievelden KRW_zone, rivier, telseizoen, nednaam, aantal, maand, ruimtelijke niveau's, trofische groep en exoot. + +- KRW_zone: naam van het KRW waterlichaam +- rivier: het naamveld van de rivier (Zeeschelde, Durme, Rupel, Zenne, Dijle) +- telseizoen: een vogeltelseizoen loopt van juli jaar x tot en met juni jaar x+1. +- nednaam: Nederlandse naam van de vogelsoort +- aantal: de aantallen omvatten de som van de getelde vogels per soort, per maand, per rivier en deelzone niveau 1,2,3. +- niveau's: indeling volgens Figuur 1.1. +- maand: de maand van de telling +- trofische_groep: toekenning van de gebruikte trofische categorie in de Zeeschelde +- exoot: ja (= 1) + +## Materiaal en methode + +#### Tellingen + +*Boottellingen* + +Sinds oktober 1991 tellen medewerkers van het INBO maandelijks het aantal watervogels langs de Zeeschelde van de Belgisch-Nederlandse grens tot Gent. +Sinds de winter van 1995/1996 wordt ook op de Rupel geteld van de Rupelmonding tot het sas van Wintam. +De tellingen gebeuren vanaf een boot en bij laagwater. +Omdat het niet haalbaar is om het volledige onderzoeksgebied grondig te tellen tijdens één laag tij, worden de tellingen op drie dagen uitgevoerd langs de deeltrajecten Grens-Antwerpen, Antwerpen-Dendermonde en Dendermonde-Gent. +De dagen worden steeds gegroepeerd in het midden van de maand om zo nauw mogelijk aan te sluiten bij de midmaandelijkse watervogeltellingen Vlaanderen (MIDMA). +Oorspronkelijk werd enkel tijdens de winter (oktober -- maart) geteld. +Sinds 1993 wordt ook tijdens de zomer geteld. +Sinds het telseizoen 2018/19 zijn maandelijkse zomertellingen (april - september) beperkt tot het traject Grens-Antwerpen en wordt enkel in juni over het volledige traject van de grens tot Gent geteld in de zomer. +Duikers, futen, aalscholvers, reigers, zwanen, ganzen, eenden, steltlopers, meerkoet en waterhoen worden geteld sinds het begin van de tellingen. +Sinds oktober 1999 worden ook de meeuwen en sternen meegeteld. + +*Zijrivieren* + +Watervogels langs de zijrivieren (behalve van de Rupelmonding tot het sas van Wintam) en het traject Melle-Gentbrugge worden door vrijwilligers geteld als onderdeel van de midmaandelijkse watervogeltellingen Vlaanderen. +Deze tellingen gebeuren vanaf de oever en gaan enkel door in de winter (oktober-maart). +Meeuwen, sternen, wulp, kievit en waterhoen worden langs de zijrivieren maar meegeteld sinds oktober 1999. + +*Estuariene natuurontwikkelingsgebieden* + +De estuariene natuurontwikkelingsgebieden worden geteld door vrijwilligers of door INBO medewerkers. +Alle watervogels worden geteld. +Deze data wordt niet besproken in dit rapport. + +#### **Ruimtelijke en temporele afbakening data** + +De aangeleverde data lopen van oktober 1991 tot en met maart `r laatste_jaar` en omvatten de Zeeschelde en zijrivieren. + +*Boottellingen* + +De data omvatten de aantallen watervogels die op de Zeeschelde en de Rupel geteld werden tijdens de boottellingen. +Daaraan zijn de aantallen toegevoegd die vanop de dijk geteld werden op het traject Melle-Gentbrugge (traject Tijgebonden oude Schelde Gent - tot aan monding Ringvaart (2050810) in de INBO watervogeldatabank). +Om de data voor het KRW waterlichaam ZSIII+Rupel te vervolledigen zijn ook de dijktellingen op de Rupel stroomopwaarts Wintam sas toegevoegd. +De zone oligohalien omvat enkel de boottellingen op de Zeeschelde zonder die op de Rupel. +De teltrajecten (9999999 en 9999998) gelegen op Nederlands grondgebied werden niet mee opgenomen in de data. + +*Zijrivieren* + +De geselecteerde teltrajecten van de zijrivieren (Watervogeldatabank, INBO) zijn weergegeven in Tabel \@ref(tab:100-tabel-teltrajecten). +Voor de Getijdenetes zijn geen afzonderlijke riviertellingen beschikbaar; voor de Getijdedijle is slechts een beperkte dataset beschikbaar (1996, 1999 en verder vanaf 2008). +Eén teltraject in de Durme (Durmemonding tot Mirabrug) werd niet geteld in 2007-2008. + + +
+```{r 100-tabel-teltrajecten} + +tabel_teltrajecten <- read_excel(paste0(pad_tabellen, "100_Watervogels_tabellen.xlsx"), + sheet = "teltrajecten", .name_repair = "minimal") %>% + mutate_all(~replace_na(., "")) + + +cap_teltrajecten <- "Geselecteerde teltrajecten van de zijrivieren opgenomen in de exploratieve data-analyse en in de data-aanlevering." + +footnote_text <- "Opgelet dit teltraject omvat data van zowel de getijgebonden Durme als van de afgesneden ‘oude’ Durme-arm. Sinds oktober 2012 wordt de getijgebonden Durme afzonderlijk geteld." + +tabel_teltrajecten %>% + mutate(across(everything(), ~as.character(.) %>% replace_na(""))) %>% + mutate(across(everything(), ~cell_spec(., color = "black"))) %>% + {.[3,4] <- paste0(.[3,4], + footnote_marker_number(1)) + .} %>% + knitr::kable( + # caption = cap_teltrajecten, + # "html", + booktabs = TRUE, + escape = FALSE, + caption = cap_teltrajecten) %>% + kableExtra::kable_styling(latex_options = c("scale_down"), + font_size = 15) %>% + # kable_styling(latex_options = c("scale_down")) %>% + footnote(number = footnote_text, + escape = FALSE, + threeparttable = TRUE) + +``` + +
+ +*Ontbrekende data*: + +Deze eerstelijnsrapportage werkt met de effectieve data. +Er gebeurde geen imputing van ontbrekende data. + +**2023/24** + +**INBO** Zeeschelde boottellingen zijn volledig uitgevoerd zoals gepland. + +**MIDMA** Alle januari tellingen werden uitgevoerd maar verschillende andere wintertellingen ontbreken voor telseizoen 2024/25 (Tabel \@ref(tab:100-tabel-ontbrekendedataMIDMA)). + + +```{r 100-tabel-ontbrekendedataMIDMA} + +####dataset nog inlezen#### + +d_ontbrekend <- Tellingen_ZS_alles %>% + filter(projectcode == "MIDMA") %>% + filter(telseizoen =="2024/25") %>% + filter(gebiedsklasse == "Estuarium") %>% + dplyr::filter(maand %in% c(10:12, 1:3)) %>% + mutate(telseizoen1 = 2024) + +all_combi <- expand_grid( + gebied = unique(d_ontbrekend$gebied), + telseizoen1 = c(2024), + maand = c(1,2,3,10,11,12) +) +# all_combi <- all_combi %>% +# rename(maand_1 = maand) %>% +# rename(maand_2 = "2") %>% +# rename(maand_3 = "3") %>% +# rename(maand_10 = "10") %>% +# rename(maand_11 = "11") %>% +# rename(maand_12 = "12") + +tabel_ontbrekendedata <- + d_ontbrekend %>% + group_by(gebied, maand) %>% + summarise(n_records = n(), .groups = 'drop') %>% + right_join(all_combi, by = c("gebied", "maand")) %>% # Join works now + mutate( + n_records = replace_na(n_records, 0), + data_available = n_records > 0 + ) %>% + select(gebied, maand, data_available) %>% + pivot_wider( + names_from = maand, + names_prefix = "maand_", + values_from = data_available, + values_fill = FALSE + ) %>% + # Ensure all columns appear in the right order + select(gebied, maand_10, maand_11, maand_12, maand_1, maand_2, maand_3) %>% + write_delim(paste0(pad_tabellen, "ontbrekendetellingen.csv"), + delim = ";") %>% + rename_with(\(x) str_replace(x, "_", "-")) + +cap_ontbrekendedata <- "Overzicht uitgevoerde Midmaandelijkse tellingen vrijwilligers in telseizoen 2024/25. FALSE = geen data beschikbaar voor teltraject; TRUE = data beschikbaar." + +# footnote_text <- "." + +tabel_ontbrekendedata %>% + mutate(across(everything(), ~as.character(.) %>% replace_na(""))) %>% + mutate(across(everything(), ~cell_spec(., color = "black"))) %>% + knitr::kable( + # caption = ontbrekendedata, + # "html", + booktabs = TRUE, + escape = FALSE, + caption = cap_ontbrekendedata) %>% + kableExtra::kable_styling(latex_options = c("scale_down"), + font_size = 15) + +``` + +
+ +*Winterkarakteristiek telseizoen 2024/25*: + +De winter van 2024/25 was klimatologisch nat. +Vooral in januari was er meer dan gemiddeld neerslag (waaronder ook enkele cm sneeuw). +Er was één langere koude periode van 3 tot 22 januari 2025. +Daarna volgde net zoals in 2023/24 een zeer warme (eind) februari, tot meer dan 19°C. +In totaal telde de winter 5 sneeuwdagen in januari en in totaal 4 vriesdagen (steeds min \< 0°C). +Grotere waterpartijen vroren niet dicht in de Scheldevallei. +De winter kende heel weinig zonnige dagen en een hoge gemiddelde windsnelheid. + + +## Exploratieve data-analyse watervogelaantallen + +**Inleiding** + +De exploratieve data-analyse van de overwinterende watervogels van de Zeeschelde en getijgebonden zijrivieren volgt de vernieuwde evaluatiemethodiek (EMSE, 2021). +De rekenparameters voor de toestparameter vogels - niet-broedvogels Zeeschelde is toegelicht. +We bespreken de methodiek en de eventueel doorgevoerde aanpassingen: + +*voedselgroepen*: de weerhouden vogelsoorten (met meer dan 30 waarnemingen cf. EMSE, 2021) zijn ingedeeld in 4 categoriën (Tabel \@ref(tab:100-tabel-trofischegroepsoorten)): benthoseters (omvatten schelpdiereters, wormeneters, hyperbenthoseters en epibenthoseters), viseters, herbivoren en omnivoren (omvatten bijna alle eendensoorten in de Zeeschelde - deze voeden zich doorgaans opportunisistisch maar in belangrijke mate met Oligochaeta). +De vleeseters (roofvogels) worden niet systematisch geteld bij de watervogeltellingen en werden niet meegenomen. + +*Areaal foerageergebied*: voor deze oefening werd de dichtheid van de vogelaantallen berekend op basis van het areaal slik zacht substraat aanwezig langs de deelzones van de Zeeschelde en zijrivieren (zonder Sigma natuurontwikkelingsgebieden). + +*Sleutelsoorten*: de sleutelsoorten niet-broedvogels in de Zeeschelde zijn soorten met een instandhoudingsdoelstelling (S-IHD) []. +Deze zijn gebaseerd op gemiddelde overwinterende aantallen in gedefinieerde periodes voor elke soort in de estuariene gebieden van de Zeeschelde en zijrivieren Rupel, Durme, Dijle en Zenne (voor de Netes zijn er geen telgegevens over de estuariene habitats apart). +We leggen voor EMSE de klemtoon op de soorten die een sterke connectie hebben met de estuariene habitats (kleine zwaan, slobeend en kokmeeuw laten we buiten beschouwing). + +- pijlstaart : winter seizoensgemiddelde telseizoen 2000/01 tot 2005/06: 487ex. +- wintertaling : winter seizoensgemiddelde telseizoen 1998/99 tot 2005/06: 14584ex. +- krakeend: winter seizoensgemiddelde telseizoen 2002/03 tot 2006/07: 2408ex. +- tafeleend: winter seizoensgemiddelde telseizoen 2001/02 tot 2006/07: 3864ex. +- bergeend: winter seizoensgemiddelde telseizoen 1992/93 tot 2006/07: 1272ex. + +*Rekenparameters*: + +Standaard-(rtrim)index + +Voor elke S-IHD doelsoort wordt een trendberekening uitgevoerd met behulp van het R-package 'rtrim' (TRends and Indices for Monitoring data) - []. +Er werd gekozen om 3 trends te berekenen: + +- lange termijn trend met als referentie het winterseizoen 1992/93 (In winterseizoen 1991/92 zijn er ontbrekende tellingen ter hoogte van de Rupel) - heden + +- middellange termijn trend met als referentie het winterseizoen 2006/07 - heden + +- korte termijn (laatste 6 seizoenen uit evaluatieperiode). + + De evaluatie vindt plaats op basis van het wintertelseizoen (oktober tot maart). + Er wordt geen rtrim-index berekend voor de opdeling van de doelsoorten per voedselgroep omdat alle S-IHDsoorten als opportunistische omnivoren worden beschouwd in de Zeeschelde. + Er wordt ook geen samengestelde indexbereking gemaakt op basis van de 5 soorten. + Dit levert geen bijkomende informatie op. + +Trend-wintermax-index (extra - niet in EMSE) + +Om de trends te bespreken is er een plotindex berekend met 2009 als referentiejaar en gebaseerd op de maximale winteraantallen van alle EMSE soorten (minimaal 30 waarnemingen sinds winterseizoen 1991/92). +2009 als referentiejaar is gekozen omdat er dan voor alle deelzones gegevens zijn en het referentiejaar valt na de systeemomslag. + +Shannon-diversiteitsindex + +De Shannon-index toont de algemene patronen in de diversiteit op niveau 3 en per voedselgroep alle soorten beschouwd. +De index is een ecologische maatstaf die de soortenrijkdom en gelijkmatigheid van een gemeenschap kwantificeerd. + +**Globaal patroon** + +Het globaal patroon in de maandelijkse wintervogelaantallen langsheen de Zeeschelde op de slikken (zonder Sigma natuurontwikkelingsgebieden) toont een sterke afname in vogelaantallen tussen 2002 en 2008. +In het winterjaar 2020 (okt '20 - mrt '21) was er een winterinflux door koude temperaturen. +De laatste twee telseizoenen (winter 2023 & 2024) is er een stijging merkbaar in de vogelaantallen langsheen de Zeeschelde (Figuur \@ref(fig:100-figuur-maandelijkse-totalen-winter-Zeeschelde). +Dit is niet merkbaar langsheen de zijrivieren (Figuur \@ref(fig:100-figuur-index-niveau3)). +De toegenomen aantallen op de Zeeschelde zijn het gevolg van nieuwe ontpolderingsgebieden die zeer veel vogels aantrekken (Hedwige - Prosperpolder & Groot Schoor Hamme). + +De proportionele verdeling van de watervogels over de verschillende zones van de Zeeschelde (zie zones in Figuur 1.1) toont na de sterke afname van de watervogels in winter 2006/07, vooral in de oligohaliene zone, een geleidelijke toename van het aandeel vogels dat verblijft in de sterke saliniteitsgradiënt (Beneden-Zeeschelde) en Zeeschelde I (zoet kort verblijf). +De vogelaantallen namen verhoudingsgewijs in winterseizoen 2023 en 2024 sterk toe in de zone zoet lang (Figuur \@ref(fig:100-figuur-verhouding-aantallen)). + +```{r 100-figuur-maandelijkse-totalen-winter-Zeeschelde, fig.cap=cap_maandelijkse_totalen,out.height="40%"} + +cap_maandelijkse_totalen <- paste0("Maandelijkse wintertotalen van de watervogels langsheen de Zeeschelde sinds oktober 1991 tot ", + laatste_jaar, + " (exclusief zijrivieren; exclusief meeuwen en sternen).") + +knitr::include_graphics(paste0(pad_figuren, "100_figuur_maandelijkse_totalen_ZSwinter.jpg")) + +``` + +
+ +```{r 100-figuur-verhouding-aantallen, fig.cap=cap_verhouding_aantallen, out.width="80%"} + +cap_verhouding_aantallen <- paste0("De verhouding per zone (niveau 3) van de totale aantallen watervogels geteld langsheen de Zeeschelde (winter 1991 - ", + laatste_jaar, + ") (winterdata okt – mrt).") + +knitr::include_graphics(paste0(pad_figuren, "100_figuur_verhouding_aantallen_niveau3Zeeschelde.jpg")) + +``` + +
+ +**Rtrim-Index** + +Specifiek voor de S-IHD doelsoorten werd een trendberekening uitgevoerd voor de lange termijn (sinds 1992) de middellange termijn (sinds 2009, na systeemomslag) en voor de korte termijn. +De resultaten zijn weergegeven in (Tabel \@ref(tab:100-tabel-rtrim)). + +De Bergeend vertoont een siginificant matig sterke afname over de lange termijn, een stabiele trend sinds 2009 en significant sterk toenemende trend over de korte termijn. +Deze korte termijn toename is te wijten aan de heel hoge aantallen die geteld worden op de Zeeschelde ter hoogte van de nieuwe ontpolderingen (Groot Schoor Hamme en Prosperpolder). + +De Krakeend is stabiel over de lange en middellange termijn en significant matig sterk toenemend over de korte termijn. + +De Pijlstaart vertoont een significante afname over de lange-middellange termijn. +Over de korte termijn is geen trend aantoonbaar. + +De Wintertaling vertoont een significante afname die sterk is over de lange termijn, sinds 2009 matig sterke afname en een positief significante tendens in de korte termijn periode. +Deze toename is te wijten aan de heel hoge aantallen die geteld worden op de Zeeschelde ter hoogte van de nieuwe ontpolderingen. + + +```{r 100-tabel-rtrim} + +tabel_rtrim <- read_excel(paste0(pad_tabellen, "trend_statstrend_rtrim_nietbroedvogels_zs.xlsx"), + sheet = "Sheet1", .name_repair = "minimal") %>% + rename_with(\(x) str_replace(x, "_", "-")) %>% + mutate_all(~replace_na(., "")) + + +cap_rtrim <- "Trendberekening met behulp van Rtrim voor S-IHD soorten voor de lange termijn vanaf 1992, voor de middellange termijn vanaf 2009 en voor de korte termijn (laatste 6 telseizoenen)." + +tabel_rtrim %>% + mutate(across(everything(), ~as.character(.) %>% replace_na(""))) %>% + mutate(across(everything(), ~cell_spec(., color = "black"))) %>% + arrange(`soort-nl`) %>% + knitr::kable( + # caption = cap_rtrim, + # "html", + booktabs = TRUE, + escape = FALSE, + caption = cap_rtrim) %>% + kableExtra::kable_styling(latex_options = c("scale_down"), + font_size = 15) + +``` + +
+ +**Trendindex wintermaximum** +Figuur \@ref(fig:100-figuur-index-niveau2) toont de trendindex op middellange termijn. +Een globaal dalende trend is zichtbaar voor de Zeeschelde en de zijrivieren tot 2019. +De winterinflux van 2020 resulteerde in een duidelijke piek. +Sinds winterseizoen 2023 is er een hogere winterindex. +Beschouwen we de winterindex in meer detail op niveau 3 (saliniteitszones) (Figuur \@ref(fig:100-figuur-index-niveau3)) dan valt op dat winterseizoen 2022/23 een absoluut dieptepunt was, vooral in de zone zoet lang. Toen werden uitzonderlijk weinig watervogels geteld in deze zone - vooral de wilde eend nam onverklaarbaar en spectaculair af ((Figuur \@ref(fig:100-figuur-aantallen-abundante-soorten)). +Dit komt sterk overeen met lage gemiddelde biomassa aan macrobenthos in 2022 maar niet uitzonderlijk laag sinds 2008. +De index nam sterk toe in deze zone onder impuls van de ontpoldering Groot Schoor Hamme die heel veel overwinterende watervogels aantrok die ook tijdelijk op de Zeeschelde verblijven tijdens laag water. +Positieve indexverandering is er ook in de zone met sterke saliniteitsgradiënt (impuls Prosperpolder- Hedwige ontpoldering) en in het Oligohalien. +Deze trends correleren ook met een algemeen toenemende biomassa aan bodemdieren in 2023 (zie hoofdstuk macrozoöbenthos). + +De watervogels op de **Rupel** volgen sinds 2009 een dalende trend met een absoluut dieptepunt in het winterseizoen 2019. +Er lijkt ook hier de voorbije 2 winters een beperkte verbetering zichtbaar. + +De trends in de **Getijdedurme** tonen lagere aantallen gedurende de baggerperiode en hogere aantallen in daaropvolgend sterke sedimentatieperiode (2013-2017). +Daarna namen de aantallen af om de laatste jaren opnieuw wat te stijgen. +De laatste winters (2021-2023) werden hoge wintermaxima geteld in het Klein Broek en Meulendijkbroek langsheen de Durme (tussentijds beheer) rond de 800-1000 ex.. +Dit is gecorreleert met de natuurontwikkeling in de Durmevallei (Weymeerbroek en bijvoorbeeld de ontpoldering Klein Broek). + +**Zoet zijrivier** omvat voor de watervogelevaluatie de **Zenne** en **Dijle**. +Deze waren tot 2007 nagenoeg 'vogeldood'. +De hoogste aantallen werden op de Dijle en Zenne slikken respectievelijk geteld in de de winter van 2007 en 2008. +Op de **Dijle** was de piek van vogelaantallen van korte duur. +De laatste jaren worden slechts enkele tientallen vogels gemiddeld per winterseizoen geteld op de slikken van de Dijle. +De wintermaxima in het GGG Zennegat schommelen de laatste jaren rond de 700 watervogels, een factor 10 hoger dan het aantal vogels geteld op de Dijle zelf. +Op de **Zenne** fluctueerden de aantallen sterk tussen 2008 en 2016 om dan af te nemen tot 2019. +Sindsdien zijn de aantallen relatief stabiel. + +```{r 100-figuur-index-niveau2, fig.cap=cap_index_niveau2, out.width="80%"} + +cap_index_niveau2 <- paste0("Index van de maximale wintervogelaantallen in de Zeeschelde en zijrivieren (2009/10 – ",laatste_telseizoen, + "). Index gestandaardiseerd naar winter 2009/10.") + +knitr::include_graphics(paste0(pad_figuren, "100-figuur_Index_wintervogelaantallen_niv2.jpg")) + +``` + +
+ +```{r 100-figuur-index-niveau3, fig.cap=cap_index_niveau3, out.width="80%"} + +cap_index_niveau3 <- paste0("Index van de maximale wintervogelaantallen in de verschillende zones (2009/10 – ",laatste_telseizoen, + "). Index gestandaardiseerd naar winter 2009/10.") + +knitr::include_graphics(paste0(pad_figuren, "100-figuur_Index_wintervogelaantallen.jpg")) + +``` + +
+ +**Trofische groepen** + +De index berekening op basis van het wintermaximum per trofische groep op niveau 2 Zeeschelde is weergegeven in Figuur \@ref(fig:100-figuur-aantallen-trofische-groep-indexZS). +In winter `r laatste_telseizoen` is er voor het vijfde jaar op rij een stijging in het aantal benthivore overwinteraars (voornamelijk steltlopers) in de zone met sterke saliniteitsgradiënt. +Dit is te wijten aan de hogere aantallen steltlopers (Figuur \@ref(fig:100-figuur-aantallen-steltlopers)). +Minstens de scholekster lijkt een nieuwe voedselbron aan te boren (veldobservaties) - brakwaterkorfschelp *Potamocorbula amurensis* - op de lage slikzone. +Het gemiddeld aantal omnivore soorten (vooral eenden en meeuwen) is afnemend in alle zones behalve in de zone met een sterke saliniteitsgradiënt en zoet lang. +Er was een sterke daling van omnivoren tot 2022 in zone Zoet lang. +Dit is vooral te wijten aan een sterke afname van de wilde eend (Figuur \@ref(fig:100-figuur-aantallen-abundante-soorten)). +De laatste jaren is er een herstel door hogere aantallen bergeend en wintertaling (zie boven, vooral terhoogte ontpoldering Groot Schoor Hamme) Het gemiddeld aantal visetende vogels in Zeeschelde zoet lange zone varieert met de jaren, vermoedelijk in respons op de beschikbare visbiomassa. +De laate twee jaar (2023/24- 2024/25) zijn er duidelijk minder viseters aanwezig. + +Met het rtrim-package is het mogelijk om de significantie van de (linaire) trends te bepalen. +De resultaten zijn weergegeven in (Tabel \@ref(tab:100-tabel-rtrim-analyse-trofische-groepen)). +Over de lange termijn zijn alle groepen behalve de viseters significant matig afnemend. +Focussen we op de recente periode dan is er een significante matige toename van benthivore (steltlopers) soorten. +Dit is vooral onder impuls van de ontwikkelingen in de zone sterke saliniteitsgradiënt. +De overige groepen vertonen over laatste 6 jaar bekeken geen duidelijke trends. + + +```{r 100-tabel-rtrim-analyse-trofische-groepen} + +tabel_rtrim_trof <- read_excel(paste0(pad_tabellen, "trend_statstrend_rtrim_trofischegroepen_zs.xlsx"), + sheet = "Sheet1", .name_repair = "minimal") %>% + rename_with(\(x) str_replace(x, "_", "-")) %>% + mutate_all(~replace_na(., "")) + + +cap_rtrim_trof <- "Trendberekening met behulp van Rtrim voor de trofische groepen (NPisc = viseter; Nomn = alleseters; Nbenth : bodemdiereters; Nherb = planteneters) voor de lange termijn vanaf 1992, voor de middellange termijn vanaf 2009 en voor de korte termijn (laatste 6 telseizoenen)." + +tabel_rtrim_trof %>% + mutate(across(everything(), ~as.character(.) %>% replace_na(""))) %>% + mutate(across(everything(), ~cell_spec(., color = "black"))) %>% + knitr::kable( + # caption = cap_rtrim, + # "html", + booktabs = TRUE, + escape = FALSE, + caption = cap_rtrim_trof) %>% + kableExtra::kable_styling(latex_options = c("scale_down"), + font_size = 15) + +``` + +
+ +```{r 100-figuur-aantallen-trofische-groep-indexZS, fig.cap=cap_aantallen_trofische_groep_indexZS, out.width="80%"} + +cap_aantallen_trofische_groep_indexZS <- paste0("Trendindex wintermaxima per zone (winter 2009/10 – ", + laatste_telseizoen, + ") opgedeeld volgens de trofische indicatorgroepen (Nbenth: benthivoren, Nherb: herbivoren, Nomn: omnivoren en Npisc: piscivoren). Deze figuur is inclusief de meeuwen en sternen.") + +knitr::include_graphics(paste0(pad_figuren, "100-figuur_Index_wintervogelaantallen_trofischegroepZS.jpg")) + +``` + +
+ +```{r 100-figuur-aantallen-trofische-groep-index, fig.cap=cap_aantallen_trofische_groep_index, out.width="80%"} + +cap_aantallen_trofische_groep_index <- paste0("Trendindex wintermaxima per zone (winter 2009/10 – ", + laatste_telseizoen, + ") opgedeeld volgens de trofische indicatorgroepen (Nbenth: benthivoren, Nherb: herbivoren, Nomn: omnivoren en Npisc: piscivoren). Deze figuur is inclusief de meeuwen en sternen.") + +knitr::include_graphics(paste0(pad_figuren, "100-figuur_Index_wintervogelaantallen_trofischegroepZSniv3.jpg")) + +``` + +
+ +**Shannon diversiteit** + +De zone met sterke saliniteitsgradiënt heeft het hoogst aantal soorten die meer dan 5% van het totaal omvatten. +Dit vertaalt zich ook in een hogere Shannon diversiteit (Figuur \@ref(fig:100-figuur-ShannonDiversity-metmeeuwen)). +De diversiteit is het hoogst en stabiel in de zone met sterke saliniteitsgradiënt en de Rupel. +Hoewel de diversiteitscore sterk toenam in de zone zoet lang en steeg tot de hoogste waarde sinds 2001 in de oligohaliene zone. +De Durme heeft een lage diversiteit aan overwinterende watervogels. + +Van een aantal algemenere soorten worden de trends in de periode 2010-`r laatste_jaar` getoond in Figuur \@ref(fig:100-figuur-aantallen-abundante-soorten) en Figuur \@ref(fig:100-figuur-aantallen-steltlopers). +De bergeend neemt duidelijk toe in de zone met sterke saliniteitsgradiënt en zone zoet lang. +De krakeend nam de laatste twee telseizoenen sterk toe in zoet lang (effect Groot Schoor Hamme). +Steltlopersoorten nemen bijna allemaal toe maar voor de wulp tekent zich een negatieve trend af. +Het moet bekeken worden of dit komt omdat deze soort vooral in de nieuwe gebieden blijft. + +In de zone met sterke saliniteitsgradiënt is er een toename in bodemdierbiomassa vastgesteld, voornamelijk door een toename van bivalven (zie hoofdstuk macrozoöbenthos). + +**Exoten** + +Er zijn 11 exoten of verwilderde soorten die meer dan 30 keer werden waargenomen sinds de start van de tellingen langsheen de Zeeschelde en zijrivieren. +Het procentueel aandeel is klein. +De totale aantallen zijn licht stijgend. +Dit is vooral door het toenemend aantal nijlganzen, brandganzen en grote Canadese ganzen. +De trends van de meest talrijke exotische overwinterende vogelsoorten is weergegeven in Figuur \@ref(fig:100-figuur-exotentrends). +De hoogste aantallen worden geteld in de oligohaliene zone. +De boerengans en soepeend komen in relatief kleine aantallen voor en zijn stabiel tot afnemend. + +**Vogeldichtheid** + +Zie rapportage vorig jaar. + +```{r 100-figuur-ShannonDiversity-metmeeuwen, fig.cap=cap_shannon_diversiteit, out.width="80%"} + +cap_shannon_diversiteit <- "Shannon diversiteitsindex per zone (niveau 3). Winterdata inclusief meeuwen en sternen." + +knitr::include_graphics(paste0(pad_figuren, "100_figuur_ShannonDiversity_wintervogels_metmeeuwen.jpg")) + +``` + +
+ +```{r 100-figuur-aantallen-abundante-soorten, fig.cap=cap_aantallen_abundante_soorten, out.width="80%"} + +cap_aantallen_abundante_soorten <- "Trends in het gemiddelde aantal wintervogels (okt.-mrt.) voor 4 abundante soorten in de deelzones Zeeschelde (niveau 3)." + +knitr::include_graphics(paste0(pad_figuren, "100_figuur_aantallen_abundante_soorten_niveau3.jpg")) + +``` + +
+ + +```{r 100-figuur-aantallen-steltlopers, fig.cap=cap_aantallen_steltlopers, out.width="80%"} + +cap_aantallen_steltlopers <- "Trends in het gemiddeld aantal getelde wintervogels (okt.-mrt.) voor 6 abundante steltlopers (benthivoor) in de zone met sterke saliniteitsgradiënt." + +knitr::include_graphics(paste0(pad_figuren, "100_figuur_aantallen_steltlopers.jpg")) + +``` + +
+ +```{r 100-figuur-exotentrends, fig.cap=cap_exotentrends, out.width="80%"} + +cap_exotentrends <- "Trends sinds 2009 in het gemiddeld aantal getelde wintervogels (okt.-mrt.) voor 4 abundante exoten/verwilderde vogels in de zones van de Zeeschelde en zijrivieren." + +knitr::include_graphics(paste0(pad_figuren, "100_figuur_aantallen_exoten.jpg")) + +``` + + +
+ +## Overwinterende watervogels in gebieden met estuariene natuurontwikkeling + +Nieuwe SIGMA ontwikkelingen trekken veel watervogels aan. +Dit is ook merkbaar op de stukken van de rivier aanpalend deze gebieden. +De gegevens met betrekking tot Prosperpolder zijn nog niet beschikbaar voor de INBO watervogeldatabank. +Omdat hierdoor een onvolledig beeld is op de Sigmabijdrage werd er beslist om deze rapportage uit te werken volgend jaar. + +
+ +## Algemene conclusie + +Hoewel over de lange termijn de meeste overwinterende doelsoorten een negatieve trend vertonen is er de laatste 2-3 jaar een kentering. zichtbaar door significant matig toename van de bergeend, krakeend, tafeleend en wintertaling. +Voor de pijlstaart is geen trend aantoonbaar. +Beschouwen we de trends in de trofische groepen is er een signifcant matige toename van de bodemdieretende soorten (steltlopers). +Dit is gecorreleerd met de toename van vooral scholekster welke op zijn beurt correleert met een toename aan schelpdieren (zie hoofdstuk Macrozoöbenthos). +De toename van overwinterende watervogels op de slikken van de Zeeschelde is ook veroorzaakt door de recente inrichting van twee Sigmagebieden die hoge vogelaantallen aantrekken: Groot Schoor Hamme in de zone zoet lang en de ontpoldering van Hedwige-Prosperpolder in de zone met sterke saliniteitsgradiënt. + +## Referenties + +EMSE (2021). +Evaluatiemethodiek Schelde‐estuarium: Update 2021. +Antea, Bureau Waardenburg, Deltares, UAntwerpen, UGent, INBO en NIOZ. + +Tessens B. +(2006). +Voedselecologie van Tafeleenden op de Zeeschelde. +Vogelnieuws 7: 28-30. +Uitgave Instituut voor Natuur- en Bosonderzoek, Brussel. + +
+ + +```{r 100-tabel-trofischegroepsoorten} + +tabel_trofischegroep <- + read_delim(paste0(pad_tabellen, "Soorten_EMSE_analyse.csv"), + delim = ";") + +cap_trofischegroepsoorten <- "Vogelsoorten (met meer dan 30 waarnemingen) werden ingedeeld in 4 groepen: benthoseters (NBenth) (omvatten: schelpdiereters, wormeneters, hyperbenthoseters en epibenthoseters), viseters (NPisc), herbivoren (Nherb) en omnivoren (Nomn). Soorten die beschouwd worden als exoten geselecteerd." + +tabel_trofischegroep %>% + mutate(across(everything(), ~as.character(.) %>% replace_na(""))) %>% + knitr::kable(booktabs = TRUE, + escape = FALSE, + longtable = TRUE, + caption = cap_trofischegroepsoorten) %>% + kableExtra::kable_styling(latex_options = c("scale_down"), + font_size = 8) + +``` + +