diff --git a/lfe_bwi/R_bwi/data/struktur_tot.xlsx b/lfe_bwi/R_bwi/data/struktur_tot.xlsx index af30a0fe242bc7b07a2e8eea1bbd3d146472c5ff..b87267882d1941e1dcf68c1c36e24ebfef0bc4b6 100644 Binary files a/lfe_bwi/R_bwi/data/struktur_tot.xlsx and b/lfe_bwi/R_bwi/data/struktur_tot.xlsx differ diff --git a/lfe_bwi/R_bwi/totholz.qmd b/lfe_bwi/R_bwi/totholz.qmd index 71ab93516df1c90df4ceb13ba133c9dc79ca1c83..c3729d28fa7d2b7268fc650ce2824eaa91d33aa9 100644 --- a/lfe_bwi/R_bwi/totholz.qmd +++ b/lfe_bwi/R_bwi/totholz.qmd @@ -211,6 +211,8 @@ totvorrat_bag_13_22 <- ggplot(totvorrat_bag_long_13_22, aes(x = Eigentumsart, y totvorrat_bag_13_22 ``` +Die anteilige Verteilung über die Baumartengruppen ist konstant geblieben. +lediglich eine leichte Wanderung hin zu mehr Eichentotholz ist zu beobachten. ### Vergleich Totholzvorrat und Totholztyp 13-22 @@ -258,7 +260,57 @@ totvorrat12_22_typ_stackbar <- ggplot(totvorrat_typ_long_13_22, aes(x = Eigentum breaks = seq(0, sum(totvorrat_typ_long_13_22$Totholzvorrat), by = 2)) totvorrat12_22_typ_stackbar ``` +Anstieg des Totholzes vornehmlich in den Kategorien + - stehend, ganzer Baum (+2.5 m³/ha) + - liegend, ganzer Baum mit Wurzelanlauf (+1.1 m³/ha) + - liegend, Stammstück mit Wurzelanlauf (+1.6 m³/ha) +These: Totholzzunahme hauptsächlich durch Schadholz, Pflegerückstände sowie Personalmangel anstatt durch Bewirtschaftungsveränderung? + +### Vergleich Totholzvorrat nach Eigentumsart 13-22 +```{r totvorrat_eig_13_22, include=FALSE} +# Daten Vorbereiten +# Totholzvorrat BB Vergleich Eigentum 13-22 + +totvorrat_long_eig_13_22 <- tot$bb_tot_typ_13_22 %>% + filter((`Eigentumsart` %in% c("Staatswald - Bund", "Staatswald - Land", "Körperschaftswald", "Privatwald") & `Jahr` == 2012) | + (`Eigentumsart` %in% c("Staatswald (Bund)", "Staatswald (Land)", "Körperschaftswald", "Privatwald") & `Jahr` == 2022)) %>% + pivot_longer( + cols = c("alle Totholztypen"), + names_to = "Totholztyp", + values_to = "Totholzvorrat" + ) +``` + +```{r totvorrat12_22_eig_stackbar, echo=FALSE, fig.height = 5} +# Stacked bar Totholzvorrat BB Vergleich 13-22 mit Eigemtumsart + +#Prozentwert ausrechnen +totvorrat_long_eig_13_22 <- totvorrat_long_eig_13_22 %>% + arrange(Totholzvorrat) %>% + group_by(Eigentumsart) %>% + mutate(Percentage = 100 * Totholzvorrat / sum(Totholzvorrat)) %>% + ungroup() + +# nach Totvorrat vorsortieren +totvorrat_long_eig_13_22 <- arrange(totvorrat_long_eig_13_22, Totholzvorrat) + +# Plot erstellen als gestapeltes Säulendiagramm - geordnet mit Flächenangaben - für 2013 & 2022 +totvorrat_eig_13_22_stackbar <- ggplot(totvorrat_long_eig_13_22, aes(x = Jahr, y = Totholzvorrat, fill = reorder(Eigentumsart, Totholzvorrat, FUN = sum))) + + geom_bar(stat = "identity", position = "stack") + + #geom_text(data = subset(totvorrat_long_eig_13_22, Totholztyp != "Abfuhrrest (aufgeschichtet)"),aes(label = paste0(round(Totholzvorrat, 1), " m³/ha (", round(Percentage, 1), "%)")), vjust = 0.5, hjust = 0.5, color = "white", size = 3.5, position = position_stack(vjust = 0.5), fontface = "bold") + + labs(x = "Eigentumsart", + y = "Totholzvorrat [m³/ha]") + + ggtitle("Vergleich der Totholzvorräte nach Eigentumsart in m³/ha\n in Brandenburg - LWI 2013 / BWI 2022") + + theme(plot.title = element_text(hjust = 0.5)) + + theme(axis.text.x = element_text(angle = 45, hjust = 1), + plot.title = element_text(margin = margin(b = 20)), + plot.title.position = "plot") + + scale_x_discrete(labels = c("alle Eigentumsarten 2013" = "LWI 2013", "alle Eigentumsarten 2022" = "BWI 2022")) + + guides(fill = guide_legend(title = "Eigentumsart", title.position = "top")) + + scale_y_continuous(labels = scales::comma_format(big.mark = ".", decimal.mark = ","), breaks = seq(0, sum(totvorrat_long_eig_13_22$Totholzvorrat), by = 2)) +totvorrat_eig_13_22_stackbar +``` ### Vergleich Totholzvorrat nach Totholzdurchmesserklasse (10cm Abstufung) ```{r tot_22_dm, include=FALSE} @@ -283,10 +335,6 @@ tot_22_long_dm <- tot$bb_tot_durchmes_22 %>% # Define the order of Totholzdurchmesserklasse order <- c("ab 80 cm","von 60 bis 79 cm","von 40 bis 59 cm","von 20 bis 39 cm","von 10 bis 19 cm") -#"von 10 bis 19 cm", "bis 19 cm", "von 20 bis 29 cm", "von 30 bis 39 cm", - #"von 20 bis 39 cm", "von 40 bis 49 cm", "von 50 bis 59 cm", - #"von 40 bis 59 cm", "von 60 bis 69 cm", "von 70 bis 79 cm", - #"von 60 bis 79 cm", "ab 80 cm" # Convert Totholzdurchmesserklasse to ordered factor tot_22_long_dm$Totholzdurchmesserklasse <- factor(tot_22_long_dm$Totholzdurchmesserklasse, levels = order) @@ -298,7 +346,6 @@ tot_22_long_dm <- tot_22_long_dm %>% mutate(Percentage = 100 * Totholzvorrat / sum(Totholzvorrat)) %>% ungroup() - # Plotten der Daten ggplot(tot_22_long_dm, aes(x = `Baumartengruppe Totholz`, y = Totholzvorrat, fill = Totholzdurchmesserklasse)) + @@ -311,12 +358,128 @@ ggplot(tot_22_long_dm, theme_minimal() + theme(axis.text.x = element_text(angle = 65, hjust = 1), plot.title = element_text(margin = margin(b = 30))) + - scale_x_discrete(labels = c("alle Baumartengruppen von Totholz" = "BWI 2022")) + - guides(fill = guide_legend(title = "Totholzdurchmesserklasse", title.position = "top")) + + scale_x_discrete(labels = c("alle Baumartengruppen von Totholz" = "")) + + guides(fill = guide_legend(title = "Totholzdurchmesserklassen", title.position = "top")) + scale_y_continuous(labels = scales::comma_format(big.mark = ".", decimal.mark = ","), breaks = seq(0, 18, by = 2), limits = c(0, 18)) ``` +von 60 - 79 cm: 0.55 m³/ha (3.24 %) +ab 80 cm: 0.52 m³/ha (3.1 %) + +Das Gros liegt in den dünnen Durchmesserklassen: 83.1 % - bis 39cm + + +### Vergleich Totholzvorrat nach Totholzdurchmesserklasse (10cm Abstufung) und Baumartengruppe +```{r tot_22_dm_ba, include=FALSE} +# Daten vorbereiten +# Totholzvorrat BB Vergleich DM & BA + +# str(tot$bb_tot_durchmes_22) +tot_22_long_dm_ba <- tot$bb_tot_durchmes_22 %>% + filter(Eigentumsart == "Nadelbäume"|Eigentumsart == "Laubbäume ohne Eiche"|Eigentumsart == "Eiche") %>% + pivot_longer(cols = c("von 10 bis 19 cm", "von 20 bis 39 cm", "von 40 bis 59 cm", "von 60 bis 79 cm", "ab 80 cm"), +#"von 10 bis 19 cm", "bis 19 cm", "von 20 bis 29 cm", "von 30 bis 39 cm", "von 20 bis 39 cm", "von 40 bis 49 cm", "von 50 bis 59 cm", "von 40 bis 59 cm", "von 60 bis 69 cm", "von 70 bis 79 cm", "von 60 bis 79 cm", "ab 80 cm" + names_to = "Totholzdurchmesserklasse", + values_to = "Totholzvorrat") +``` + +```{r tot_22_dm_ba_bar, echo=FALSE, fig.height = 5} +# Stacked Bar Totholzvorrat BB Vergleich Baumartengruppe mit DM $ BA + +# Define the order of Totholzdurchmesserklasse +order <- c("ab 80 cm","von 60 bis 79 cm","von 40 bis 59 cm","von 20 bis 39 cm","von 10 bis 19 cm") + +# Convert Totholzdurchmesserklasse to ordered factor +tot_22_long_dm_ba$Totholzdurchmesserklasse <- factor(tot_22_long_dm_ba$Totholzdurchmesserklasse, levels = order) + +# Prozentwert Totholzvorrat ausrechnen +# Value extract +value_P10 <- tot$bb_tot_durchmes_22 %>% + filter(`Baumartengruppe Totholz` == "alle Baumartengruppen von Totholz") %>% + select(`alle Durchmesserklassen Totholz`) %>% + pull() + +# Calculate the percentage values based on the extracted value +tot_22_long_dm_ba <- tot_22_long_dm_ba %>% + arrange(Totholzdurchmesserklasse) %>% + group_by(`Baumartengruppe Totholz`) %>% + mutate(Percentage = 100 * Totholzvorrat / value_P10) %>% + ungroup() + +# Calculate the total percentage for each Baumartengruppe Totholz +tot_22_long_dm_ba_total <- tot_22_long_dm_ba %>% + group_by(`Baumartengruppe Totholz`) %>% + summarise(Total_Percentage = sum(Percentage)) + +# Plotten der Daten +ggplot(tot_22_long_dm_ba, + aes(x = `Baumartengruppe Totholz`, y = Totholzvorrat, fill = Totholzdurchmesserklasse)) + + geom_bar(stat = "identity", position = "stack") + + labs(x = "Totholzdurchmesserklasse", y = "Totholzvorrat [m³/ha]", fill = "Totholzdurchmesserklasse") + + ggtitle("Totholzvorrat nach Totholzdurchmesserklasse und Baumartengruppe \nin m³/ha - BWI 2022") + + theme_minimal() + + theme(plot.title = element_text(hjust = 0.5)) + + theme(axis.text.x = element_text(angle = 65, hjust = 1), + plot.title = element_text(margin = margin(b = 30)), + plot.title.position = "plot") + + scale_x_discrete(labels = c("Eiche" = "Eiche \n - 9.95 %", "Laubbäume ohne Eiche" = "Laubbäume ohne Eiche \n - 34.56 % ", "Nadelbäume" = "Nadelbäume \n - 55.48 % ")) + + guides(fill = guide_legend(title = "Totholzdurchmesserklassen", title.position = "top")) + + scale_y_continuous(labels = scales::comma_format(big.mark = ".", decimal.mark = ","), + breaks = seq(0, 10, by = 2), + limits = c(0, 10)) +``` +### Vergleich Totholzvorrat nach Totholzdurchmesserklasse (10cm Abstufung) und Baumartengruppe mit Prozentwerten +```{r tot_22_dm_ba_bar_values, echo=FALSE, fig.height = 5} +# Stacked Bar Totholzvorrat BB Vergleich Baumartengruppe mit DM $ BA + +# Define the order of Totholzdurchmesserklasse +order <- c("ab 80 cm","von 60 bis 79 cm","von 40 bis 59 cm","von 20 bis 39 cm","von 10 bis 19 cm") + +# Convert Totholzdurchmesserklasse to ordered factor +tot_22_long_dm_ba$Totholzdurchmesserklasse <- factor(tot_22_long_dm_ba$Totholzdurchmesserklasse, levels = order) + +# Prozentwert Totholzvorrat ausrechnen +# Value extract +value_P10 <- tot$bb_tot_durchmes_22 %>% + filter(`Baumartengruppe Totholz` == "alle Baumartengruppen von Totholz") %>% + select(`alle Durchmesserklassen Totholz`) %>% + pull() + +# Calculate the percentage values based on the extracted value +tot_22_long_dm_ba <- tot_22_long_dm_ba %>% + arrange(Totholzdurchmesserklasse) %>% + group_by(`Baumartengruppe Totholz`) %>% + mutate(Percentage = 100 * Totholzvorrat / value_P10) %>% + ungroup() + +# Calculate the total percentage for each Baumartengruppe Totholz +tot_22_long_dm_ba_total <- tot_22_long_dm_ba %>% + group_by(`Baumartengruppe Totholz`) %>% + summarise(Total_Percentage = sum(Percentage)) + +# Plotten der Daten +ggplot(tot_22_long_dm_ba, + aes(x = `Baumartengruppe Totholz`, y = Totholzvorrat, fill = Totholzdurchmesserklasse)) + + geom_bar(stat = "identity", position = "stack") + + geom_text(data = subset(tot_22_long_dm_ba, Totholzvorrat > 0.3), aes(label = paste0(round(Totholzvorrat, 1), " m³/ha (", round(Percentage, 1), "%)")), + vjust = 0.5, hjust = 0.5, color = "white", size = 2.5, + position = position_stack(vjust = 0.5), fontface = "bold") + + labs(x = "Totholzdurchmesserklasse", y = "Totholzvorrat [m³/ha]", fill = "Totholzdurchmesserklasse") + + ggtitle("Totholzvorrat nach Totholzdurchmesserklasse und Baumartengruppe \nin m³/ha - BWI 2022") + + theme_minimal() + + theme(plot.title = element_text(hjust = 0.5)) + + theme(axis.text.x = element_text(angle = 65, hjust = 1), + plot.title = element_text(margin = margin(b = 30)), + plot.title.position = "plot") + + scale_x_discrete(labels = c("Eiche" = "Eiche \n - 9.95 %", "Laubbäume ohne Eiche" = "Laubbäume ohne Eiche \n - 34.56 % ", "Nadelbäume" = "Nadelbäume \n - 55.48 % ")) + + guides(fill = guide_legend(title = "Totholzdurchmesserklassen", title.position = "top")) + + scale_y_continuous(labels = scales::comma_format(big.mark = ".", decimal.mark = ","), + breaks = seq(0, 10, by = 2), + limits = c(0, 10)) +``` +Keine nennenswerten Unterschiede in den Durchmesserklassen über die Baumartengruppen hinweg: +Allerdings mehr dickeres Totholz bei Laubbäumen und Eiche ### Brandenburg im deutschlandweiten Vergleich ```{r tot_22_ger, include=FALSE} @@ -341,7 +504,8 @@ tot_22_long_ger$Land <- factor(tot_22_long_ger$Land, levels = (tot_22_long_ger % # Plotten der Daten ggplot(tot_22_long_ger %>% - filter(!Totholztyp %in% c("alle Totholztypen", "liegend", "stehend")), + # filter(!Totholztyp %in% c("alle Totholztypen", "liegend", "stehend")), + filter(Totholztyp %in% c("Abfuhrrest (aufgeschichtet)", "liegend", "stehend", "Wurzelstock (Höhe < 130 cm)")), aes(x = Land, y = Totholzvorrat, fill = Totholztyp)) + geom_bar(stat = "identity", position = "stack") + labs(x = "Land", y = "Totholzvorrat [m³/ha]", fill = "Totholztyp") +