--- title: "Ergebnisse der Bundeswaldinventur in Brandenburg" #subtitle: "Informationen als Infografik zu den Brendenburger Ergebnisdaten der BWI 2022 für die Hosentasche und Webseite" institution: "Landeskompetenzzentrum Forst Eberswalde" author: "Torsten Wiebke und Dr. Ulrike Hagemann" date: last-modified date-format: "[Stand] D. M. YYYY" format: pdf: documentclass: scrreprt #Komascript reprt include-in-header: - text: | \usepackage{easy-todo} use-rsvg-convert: true #default-image-extension: png keep_tex: true # wenn nur PDF: in der Console: quarto::quarto_render("your_document.qmd", output_format = "pdf") # quarto::quarto_render("bwi_interpretationsworkshop.qmd", output_format = "revealjs") docx: toc: true number-sections: true html: toc: true revealjs: # ermölicht horizontale und vertikale Gliederung navigation-mode: vertical # gibt die Überschriftenebene an bis zu der eine eigene Folie erzeugt werden soll slide-level: 4 incremental: false slide-number: true pptx: default: true # reference-doc: LFB_Masterfolie_LFE_2024.pptx editor_options: markdown: wrap: 72 #editor: visual --- {{< include librarys-datimport.qmd >}} # Die Bundeswaldinventur (BWI) ::::: columns ::: {.column width="50%"} - Bundesweite Stichprobeninventur alle 10 Jahre im Wald nach § 41 a BWaldG - seit 1987, Deutschlandweit seit 2002 - 4. Turnus - Ergebnisse sind das Fundament für forst-, wirschafts- und umweltpolitische Entscheidungen sowie Grundlage für eine nachhaltige Waldbewirtschaftung - Modellierung zukünftiger Waldentwicklung und Holzaufkommen (WEHAM) - Aussagen zu den Klimaschutzleistungen des Waldes - Planungs- und Investitionsentscheidungen im Cluster Forst und Holz - Datenbasis für die forstliche Forschung ::: ::: {.column width="50%"}  ::: ::::: ## Datenerhebung - Aufnahmen in Brandenburg von April 2021 bis Ende 2022 - Stichprobennetz von 2 km x 2 km - insgesamt wurden ca. `r format(trackt_eckenanzahl %>% select(begutachtungsecken) %>% pull() %>% as.numeric(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` Punkte begutachtet - `r format(trackt_eckenanzahl %>% select(ausschreibungstrakte) %>% pull() %>% as.numeric(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` Trakte mit `r format(trackt_eckenanzahl %>% select(waldecke) %>% pull() %>% as.numeric(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` Ecken wurden zur Begutachtung ausgeschrieben und `r format(trackt_eckenanzahl %>% select(lfebearbeitungsecke) %>% pull() %>% as.numeric(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` Ecken von eigenen Trupps begutachtet - `r format(waldecke_begeh22 %>% filter(Begehbarkeit == "begehbar + nicht begehbar" & Waldspezifikation == "Wald") %>% select(Ecken) %>% pull() %>% as.numeric(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` Ecken lagen im Wald nach LWaldG und [Walddefinition der BWI](#imp-bwi_walddef) - von diesen waren `r format(round((waldecke_begeh22 %>% filter(Begehbarkeit == "begehbar" & Waldspezifikation == "Wald") %>% select(Ecken) %>% pull()),2), big.mark = ".", decimal.mark = ",", scientific = FALSE)` begehbar und es konnten Daten aufgenommen werden. ### Waldfläche ::::: columns ::: {.column width="50%"} - trotz hoher Flächenkonkurrenz Waldfläche mit `r format(waldfl_spez_long %>% filter(Land=='Brandenburg' & Kategorie == 'Wald') %>% select(Fläche) %>% pull(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` ha unverändert - viertgrößte Waldfläche Deutschlands; mit `r format(waldflant %>% filter(Kategorie == "Wald" & Land == "Brandenburg") %>% select(Anteil) %>% pull() %>% round(2), big.mark = ".", decimal.mark = ",", scientific = FALSE)` % auf Platz 5 der waldreichsten Bundesländer - Abnahme der Blößen und des Nichtholzbodens v.a. durch Sukzession (z.B. auf ehemaligen Truppenübungsplätzen) ::: ::: {.column width="50%"} ```{r TreemapWaldspez, echo=FALSE} #TODO: Label außerhalb Diagramm erstellen ggplot((waldfl_spez_long %>% filter(Land == 'Brandenburg' & Kategorie != 'Wald' & Kategorie != 'Holzboden') ), aes(area = Fläche, fill = Kategorie, label = paste(Kategorie,"\n", paste0(format(round(Fläche), big.mark = ".", decimal.mark = ",", scientific = FALSE)), "ha","\n", "(", round(Prozent, 1), "%)", sep = ""))) + geom_treemap(color = "black", size = 0.5) + # Schwarzer Rand um die Felder geom_treemap_text(colour = "black", place = "centre") + scale_fill_manual(values = c( "bestockter Holzboden" = "#24d617", # Grün für bestockter Holzboden "Blöße" = "#d6b913", # Ocker für Blöße "Nichtholzboden" = "grey" # Grau für Nichtholzboden )) + theme(legend.position = "right") + labs(title = "Waldflächen nach Spezifikation\n in Brandenburg in der BWI 2022") #ggsave("images/TreemapWaldspezifikationen.png", width = 10, height = 10, units = "cm") ``` ::: ::::: ### Waldflächentext Brandenburg verfügt über eine Waldfläche von **`r format(waldfl_spez_long %>% filter(Land=='Brandenburg' & Kategorie == 'Wald') %>% select(Fläche) %>% pull(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` ha**. Forstwirtschaftlich unterteilt besteht diese aus: - »bestockter Holzboden«: `r format(waldfl_spez_long %>% filter(Land=='Brandenburg' & Kategorie == 'bestockter Holzboden') %>% select(Fläche) %>% pull(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` ha, das sind `r format(waldfl_spez_long %>% filter(Land=='Brandenburg' & Kategorie == 'bestockter Holzboden') %>% select(Prozent) %>% pull(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` %. - »Nichtholzboden«: `r format(waldfl_spez_long %>% filter(Land=='Brandenburg' & Kategorie == 'Nichtholzboden') %>% select(Fläche) %>% pull(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` ha, das sind `r format(waldfl_spez_long %>% filter(Land=='Brandenburg' & Kategorie == 'Nichtholzboden') %>% select(Prozent) %>% pull(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` %. - »Blößen«: `r format(waldfl_spez_long %>% filter(Land=='Brandenburg' & Kategorie == 'Blöße') %>% select(Fläche) %>% pull(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` ha, das sind `r format(waldfl_spez_long %>% filter(Land=='Brandenburg' & Kategorie == 'Blöße') %>% select(Prozent) %>% pull(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` %. Damit nimmt Brandenburg nach absoluter Waldfläche bundesweit den **vierten** Platz - nach Bayern, Baden-Württemberg und Niedersachsen - und nach relativer Waldfläche, mit **`r format(waldflant %>% filter(Kategorie == "Wald" & Land == "Brandenburg") %>% select(Anteil) %>% pull() %>% round(2), big.mark = ".", decimal.mark = ",", scientific = FALSE)` %** den **fünften** Platz - nach Rheinland-Pfalz, Hessen, Baden-Württemberg und dem Saarland - ein. ### Waldeigentum Die Brandenburger Waldfläche in Höhe von `r format(waldfl_eig$waldfl22_eig %>% filter(Land == "Brandenburg") %>% select('alle Eigentumsarten') %>% pull(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` ha teilt sich in `r format(waldfl22_eig_long %>% filter(Land == "Brandenburg" & Eigentumsart %in% c("Privatwald")) %>% ungroup() %>% select(c(Prozent)) %>% pull())` % Privatwald und `r format(waldfl22_eig_long %>% filter(Land == "Brandenburg" & Eigentumsart %in% c("Öffentlicher Wald")) %>% ungroup() %>% select(c(Prozent)) %>% pull())` % öffentlicher Wald auf ```{r waldfl_brb_eig, echo=FALSE} # Treemap erstellen ggplot((waldfl22_eig_long %>% filter(Land == "Brandenburg") %>% filter(!Eigentumsart %in% c("Öffentlicher Wald", "Privatwald")) ),aes( area = Fläche, fill = Gruppe, # Gruppierung nach der Spalte "Gruppe" label = paste( Eigentumsart # "\n", # formatC( # Fläche, # format = "f", # big.mark = ".", # decimal.mark = ",", # digits = 0 # ), # "ha" ) # Formatierung der Fläche ) ) + geom_treemap(colour = "black", size = 0.8) + # Hinzufügen von Randlinien um die Rechtecke geom_treemap_text(colour = "black", place = "top", grow = TRUE) + geom_treemap_text(aes(label = paste0(Prozent, "%")), # Prozentwerte unter der Fläche anzeigen colour = "black", place = "centre", grow = FALSE, size=14, padding.x = grid::unit(2, "mm")) + labs( title = "Waldflächenverteilung in Brandenburg", subtitle = "Nach Eigentumsarten und Gruppen", fill = "Gruppe" # Legende zeigt die Gruppierung ) + theme( #legend.position = "right", # Position der Legende legend.text = element_text(size = 14), # Schriftgröße der Legendenbeschriftungen #legend.title = element_text(size = 14, face = "bold") # Schriftgröße und Fettdruck des Legendentitels ) #theme_minimal() #ggsave("images/TreemapWaldfläche_Eigentum_Brandenburg_2022.png", width = 25, height = 15, units = "cm") ``` ### Eigentumsübergänge 2012-2022 ::::: columns ::: {.column width="50%"} - Zunahme im Privatwald u.a. durch Übertragung an Stiftungen - größte Flächenzunahme im Privatwald zwischen 20 ha und 1000 ha - leichte Zunahme im Privatwald \>1000 ha - alle anderen Eigentumsformen verlieren Fläche ::: ::: {.column width="50%"} ```{r ver-waldfl_eig_plot, echo=FALSE} ggplot((ver_waldfl22_eig_long %>% group_by(Land) %>% filter(Land == "Brandenburg" & !Eigentumsart %in% c("Öffentlicher Wald", "Privatwald"))), aes(x = reorder(Eigentumsart, `Fläche`), y = `Fläche`, fill = Eigentumsart)) + geom_col() + geom_text(aes(label = format(round(`Fläche`, 0), big.mark = ".", decimal.mark = ",", scientific = FALSE)), position = position_stack(vjust = 0.5), # Adjust position for placement inside bars size = 3, color = "black", angle = 90) + labs(x = "Eigentumsgruppe", y = "Veränderungen [ha]") + # Achsenbeschriftungen festlegen ggtitle("Veränderungen der Waldfläche nach Eigentumsart\n in Brandenburg von 2012-2022") + theme_minimal() + theme( axis.text.x = element_text(angle = 45, hjust = 1, size = 10), # X-Achsen-Beschriftung drehen plot.title = element_text(hjust = 0.5), # Titel zentrieren plot.title.position = "plot", # Titel-Position axis.title.x = element_text(face = "bold", size = 12), # X-Achsentitel fett und größer axis.title.y = element_text(face = "bold", size = 12) # Y-Achsentitel fett und größer ) + scale_fill_brewer(palette = "Greens") + # Farbskala guides(fill = 'none') # Legende entfernen #ggsave("images/VeränderungenWaldfläche_Eigentum_Brandenburg_2012-2022.png", width = 15, height = 10, units = "cm") ``` ::: ::::: ## Baumartenverteilung ::::: columns ::: column - mit einem Anteil von **`r format(waldfl22_ba_long %>% filter(Land == "Brandenburg" & Ba_Wa == "Kiefer (Pinus)") %>% select(Prozent) %>% pull(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` %** immer noch von der Kiefer geprägt - Eichen und Birken haben jeweils noch Standflächenanteile von über 5 %, - Buche, Erle und die sonstigen Laubhölzer hoher und niedriger Lebensdauer erreichen immer noch zwischen 2,2 % und 3,6 % ::: ::: column ```{r waldfl_ba_22_treemap, echo=FALSE} ggplot( waldfl22_ba_long %>% filter(Land == "Brandenburg" & !Ba_Wa %in% c("alle Laubbäume", "alle Nadelbäume")) %>% arrange(Fläche) # Sortieren nach Fläche , aes(area = Fläche, fill = reorder(Ba_Wa, Fläche, FUN = sum), label = paste(Ba_Wa, "\n", #format(round(Fläche, 0), big.mark = ".", decimal.mark = ","), "ha","\n", "(", round(Prozent, 1), "%)", sep = ""))) + geom_treemap() + # Treemap zeichnen scale_fill_manual(values = waldfl22_ba_long$Farbe) + # Farben manuell festlegen geom_treemap(color = "black", size = 0.5) + # Schwarzer Rand um die Felder geom_treemap_text(colour = "black", place = "centre", grow = TRUE) + # Text hinzufügen labs(title = "Waldfläche nach Baumartengruppe, Blöße und Lücke \nin Brandenburg (BWI2022)", subtitle = "rechnerischer Reinbestand nach Standfläche der Bäume") + theme_minimal() + guides(fill = guide_legend(title = "Baumartengruppe, Blößen, Lücken", title.position = "bottom", size = 0.5, label.size = 5, title.size = 10)) #ggsave("images/waldfl_ba_22_treemap.png", width = 20, height = 15, units = "cm") ``` ::: ::::: ```{r barplot-waldfl22_ba_long_sorted, echo=FALSE} # Schritt 1: Sortiere den Datensatz nach Anteil und Baumartengruppe waldfl22_ba_long_sorted <- waldfl22_ba_long %>% filter(Land == "Brandenburg" & !Ba_Wa %in% c("alle Laubbäume", "alle Nadelbäume")) %>% arrange(desc(Fläche)) # Schritt 2: Setze die Baumartengruppe als Faktor und definiere die Reihenfolge nach Anteil waldfl22_ba_long_sorted$Ba_Wa <- factor( waldfl22_ba_long_sorted$Ba_Wa, levels = waldfl22_ba_long_sorted$Ba_Wa ) # Schritt 3: Filtere ba_farben so, dass nur die Farben verwendet werden, die im Plot vorkommen farben_fuer_plot <- ba_farben[names(ba_farben) %in% levels(waldfl22_ba_long_sorted$Ba_Wa)] # Erstelle das liegende gestapelte Balkendiagramm ggplot(waldfl22_ba_long_sorted, aes(x = Ba_Wa, y = Prozent, fill = Ba_Wa)) + geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) + coord_flip() + # Koordinaten umkehren, um ein liegendes Balkendiagramm zu erstellen geom_text(aes(label = paste0(round(Prozent, 1), "%")), position = position_dodge(width = 0.8), hjust = -0.1, size = 3, color = "black") + # Beschriftung am Ende des Balkens scale_fill_manual(values = farben_fuer_plot) + theme_minimal() + labs(title = "Waldflächenanteile nach Baumartengruppe, Blöße und Lücke \nin Brandenburg (BWI2022)", subtitle = "rechnerischer Reinbestand nach Standfläche der Bäume") + theme( legend.position = "none", # Entfernt die Legende axis.text.y = element_text(size = 8), axis.ticks.y = element_blank(), panel.spacing = unit(0, "cm"), # Verringert den Abstand zwischen Panel und Achse plot.margin = margin(5, 5, 5, 5) # Passt die Abstände um das Diagramm an ) + scale_y_continuous(expand = c(0, 0.1)) # Kontrolliert den Abstand der Bars zur Achse #ggsave("images/barplot-waldfl22_ba_long_sorted.png", width = 15, height = 10, units = "cm") ``` ```{r bb_waldfl_ba_eg_standfl_22_landeswald_treemap, echo=FALSE} ggplot( bb_waldfl_ba_eg_standfl_22 %>% filter(Eigentumsart == "Staatswald (Land)" & !Ba_Wa %in% c("alle Laubbäume", "alle Nadelbäume", "alle Baumarten")) %>% arrange(Fläche) # Sortieren nach Fläche , aes(area = Fläche, fill = reorder(Ba_Wa, Fläche, FUN = sum), label = paste(Ba_Wa, "\n", #format(round(Fläche, 0), big.mark = ".", decimal.mark = ","), "ha","\n", "(", round(Prozent, 1), "%)", sep = ""))) + geom_treemap() + # Treemap zeichnen scale_fill_manual(values = bb_waldfl_ba_eg_standfl_22$Farbe) + # Farben manuell festlegen geom_treemap(color = "black", size = 0.5) + # Schwarzer Rand um die Felder geom_treemap_text(colour = "black", place = "centre", grow = TRUE) + # Text hinzufügen labs(title = "Waldfläche nach Baumartengruppe, Blöße und Lücke \nim Landeswald Brandenburg (BWI2022)", subtitle = "rechnerischer Reinbestand nach Standfläche der Bäume") + theme_minimal() + guides(fill = guide_legend(title = "Baumartengruppe, Blößen, Lücken", title.position = "bottom", size = 0.5, label.size = 5, title.size = 10)) #ggsave("images/bb_waldfl_ba_eg_standfl_22_landeswald_treemap.png", width = 20, height = 15, units = "cm") ``` ```{r} bb_waldfl_ba_eg_standfl_22 %>% filter(Eigentumsart == "Staatswald (Land)" & !Ba_Wa %in% c("alle Laubbäume", "alle Nadelbäume", "alle Baumarten")) %>% arrange(desc(Fläche)) %>% select(Ba_Wa, Fläche, Prozent) %>% slice(1:5) %>% flextable() %>% colformat_double(big.mark = ".", decimal.mark = ",",digits = 1) ``` ### Baumartenzusammensetzungsänderung ::::: columns ::: {.column width="50%"} - Anstieg des Laubbaumanteils (v.a. Eiche und Buche) - erheblicher Rückgang von Birke und den Laubbäumen niedriger Lebensdauer (z.B. Erle, Pappel, Vogelbeere, Weiden)\ - Abnahme der Blößenflächen ::: ::: {.column width="50%"} ```{r plot-standfl22_ver, echo=FALSE} ggplot((ver_stndfl_long %>% filter(Land == 'Brandenburg') %>% filter(Baumartengruppe != "alle Baumarten")), aes(x = reorder(Baumartengruppe, Veränderungen), y = Veränderungen, fill = Baumartengruppe)) + geom_col() + scale_fill_manual(values = (ba_farben[names(ba_farben) %in% ver_stndfl_long$Baumartengruppe])) + # Farben manuell festlegen labs(x = "Baumartengruppen", y = "Veränderungen [ha]", fill = "Baumartengruppen", title = "Veränderungen der Standflächen \n im Hauptbestand in Brandenburg (2022)", fill = "Baumartengruppen") + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1), plot.title = element_text(hjust = 0.5, margin = margin(b = 25)), # Hinzufügen von Rändern im Titel legend.title = element_text(margin = margin(b = 10)), # Zusätzlicher Abstand zwischen Titel und Legende legend.spacing.y = unit(2, "lines")) + # Zusätzlicher Abstand zwischen Titel und Legende guides(fill = guide_legend(title.position = "top")) # Position des Legendentitels ändern #ggsave("images/plot-standfl22_ver.png", width = 20, height = 10, units = "cm") ``` ::: ::::: ### Holzvorrat - reell - deutlicher Anstieg der Holzvorräte um `r format(vervor_reell_bb_hbst_eiggr_baha %>% filter(Baumartengruppe == "alle Baumarten" & Eigentumsart == "alle Eigentumsarten") %>% select(Vorratsänderung) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha auf `r format(vor_reell_bb_hbst_eiggr_ba_qm_h %>% filter(Baumartengruppe == "alle Baumarten" & Eigentumsart == "alle Eigentumsarten") %>% select(Vorrat) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha im Hauptbestand aller Eigentumsformen, im Landeswald Anstieg von `r format(vervor_reell_bb_hbst_eiggr_baha %>% filter(Baumartengruppe == "alle Baumarten" & Eigentumsart == "Staatswald (Land)") %>% select(Vorratsänderung) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha auf `r format(vor_reell_bb_hbst_eiggr_ba_qm_h %>% filter(Baumartengruppe == "alle Baumarten" & Eigentumsart == "Staatswald (Land)") %>% select(Vorrat) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha - zurückhaltende Waldbewirtschaftung und - für Waldumbau nutzbare Bewirtschaftungspotenziale - bislang keine Großschadensereignisse aber deutliche Vorratsverluste in - Fichte (Picea) mit `r format(vervor_reell_bb_hbst_eiggr_baha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "Fichte (Picea)") %>% select(Vorratsänderung) %>% pull() %>% round(1) %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha - Birke (Betula) mit `r format(vervor_reell_bb_hbst_eiggr_baha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "Birke (Betula)") %>% select(Vorratsänderung) %>% pull() %>% round(1) %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha - Esche (Fraxinus)) mit `r format(vervor_reell_bb_hbst_eiggr_baha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "Esche (Fraxinus)") %>% select(Vorratsänderung) %>% pull() %>% round(1) %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha - sonst. Lb niedriger Lebensdauer mit `r format(vervor_reell_bb_hbst_eiggr_baha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "sonst. Lb niedriger Lebensdauer") %>% select(Vorratsänderung) %>% pull() %>% round(1) %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha ```{r facetplot_vor_ideell_eig_ba_ha, include=FALSE} # ideell # Erstelle das Diagramm mit nach Eigentumsart eingefärbten Balken und gruppiert nach Vorratsart facetplot_vor_ideell_eig_ba_ha <- ggplot(vor_ideell_eig_ba_ha %>% filter(Baumartengruppe == "alle Baumarten" & !Eigentumsart %in% c("Öffentlicher Wald", "Staatswald (Bund)", "Privatwald, bis 20 ha", "Privatwald, über 20 bis 1000 ha", "Privatwald, über 1000 ha" )) %>% inner_join(ver_vor_ideell_eig_ba_ha %>% filter(Baumartengruppe == "alle Baumarten" & !Eigentumsart %in% c("Öffentlicher Wald", "Staatswald (Bund)", "Privatwald, bis 20 ha", "Privatwald, über 20 bis 1000 ha", "Privatwald, über 1000 ha" )), by = c("Eigentumsart", "Baumartengruppe")) %>% pivot_longer(cols = c(Vorrat, Vorratsänderung), names_to = "Vorratsart", values_to = "Vorrat"), aes(x = Eigentumsart, y = Vorrat, fill = Eigentumsart)) + # Färbe nach Eigentumsart geom_bar(aes(fill = Eigentumsart), stat = "identity", position = position_dodge(width = 0.8), width = 0.7) + facet_wrap(~Vorratsart, scales = "free_y") + # Gruppiere nach Vorratsart (nebeneinander) labs(x = "Eigentumsart", y = "Vorrat [m³/ha]", fill = "Eigentumsart") + # Passe die Beschriftung der Legende an theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + scale_fill_manual(values = farben_fuer_eigentumsarten) + # Benutzerdefinierte Farbpalette anwenden ggtitle("Vorrat und Vorratsänderung nach Eigentumsart im Hauptbestand über alle Baumartengruppen") ``` ```{r facetplot_vor_ver_ideell_eig_ba_ha_sorted, include=FALSE} # Schritt 1: Sortiere den Datensatz nach Fläche und Baumartengruppe vor_ver_ideell_eig_ba_ha_sorted <- vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe %in% c("Esche (Fraxinus)", "Tanne (Abies)", "Fichte (Picea)", "sonst. Lb hoher Lebensdauer", "Eiche (Quercus)", "Buche (Fagus)", "Kiefer (Pinus)", "alle Baumarten" )) %>% inner_join(ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe %in% c("Esche (Fraxinus)", "Tanne (Abies)", "Fichte (Picea)", "sonst. Lb hoher Lebensdauer", "Eiche (Quercus)", "Buche (Fagus)", "Kiefer (Pinus)", "alle Baumarten" )), by = c("Eigentumsart", "Baumartengruppe")) %>% pivot_longer(cols = c(Vorrat, Vorratsänderung), names_to = "Vorratsart", values_to = "Vorrat") %>% #mutate(Vorrat = ifelse(Vorratsart == "Vorratsänderung", -Vorrat, Vorrat)) %>% # Umkehren der Vorratsänderung arrange(Vorratsart, desc(Vorrat)) # Sortiere nach Fläche in absteigender Reihenfolge #Setze die Baumartengruppe als Faktor und ordne die Levels nach Fläche vor_ver_ideell_eig_ba_ha_sorted$Baumartengruppe <- factor(vor_ver_ideell_eig_ba_ha_sorted$Baumartengruppe, levels = vor_ver_ideell_eig_ba_ha_sorted %>% arrange(desc(Vorratsart == "Vorratsänderung")) %>% distinct(Baumartengruppe) %>% # Stellt sicher, dass keine doppelten Baumartengruppen vorhanden sind pull(Baumartengruppe)) # Schritt 2: Extrahiere die verwendeten Baumartengruppen baumarten_im_plot <- vor_ver_ideell_eig_ba_ha_sorted %>% distinct(Baumartengruppe) %>% pull(Baumartengruppe) # Schritt 3: Filtere ba_farben so, dass nur die Farben verwendet werden, die im Plot vorkommen farben_fuer_plot <- ba_farben[names(ba_farben) %in% baumarten_im_plot] # Erstelle das Diagramm mit facet_wrap facetplot_vor_ver_ideell_eig_ba_ha_sorted <- ggplot(vor_ver_ideell_eig_ba_ha_sorted, aes(x = Baumartengruppe, y = Vorrat, fill = Baumartengruppe)) + geom_bar(stat = "identity", width = 0.7) + facet_wrap(~Vorratsart, scales = "free_y") + # Verwende facet_wrap, um Vorrat und Vorratsänderung zu trennen labs(x = "Baumartengruppe", y = "Vorrat [m³/ha]", fill = "Baumartengruppe") + scale_fill_manual(values = farben_fuer_plot) + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("Aktueller Vorrat und Vorratsänderung BWI2012 -- BWI 2022 ausgewählter Baumarten") ``` ```{r barplot_vor_ideell_eig_ba_ha, echo=FALSE} # ideell # Erstelle das Diagramm mit nach Eigentumsart eingefärbten Balken und gruppiert nach Vorratsart ggplot(vor_ideell_eig_ba_ha %>% filter(Baumartengruppe == "alle Baumarten" & !Eigentumsart %in% c("Öffentlicher Wald", "Staatswald (Bund)", "Privatwald, bis 20 ha", "Privatwald, über 20 bis 1000 ha", "Privatwald, über 1000 ha" )) %>% inner_join(ver_vor_ideell_eig_ba_ha %>% filter(Baumartengruppe == "alle Baumarten" & !Eigentumsart %in% c("Öffentlicher Wald", "Staatswald (Bund)", "Privatwald, bis 20 ha", "Privatwald, über 20 bis 1000 ha", "Privatwald, über 1000 ha" )), by = c("Eigentumsart", "Baumartengruppe")) %>% pivot_longer(cols = c(Vorrat, Vorratsänderung), names_to = "Vorratsart", values_to = "Vorrat"), aes(x = Eigentumsart, y = Vorrat, fill = Eigentumsart)) + # Färbe nach Eigentumsart geom_bar(aes(fill = Eigentumsart), stat = "identity", position = position_dodge(width = 0.8), width = 0.7) + #facet_wrap(~Vorratsart, scales = "free_y") + # Gruppiere nach Vorratsart (nebeneinander) labs(x = "", y = "Vorrat [m³/ha]", fill = "Eigentumsart") + # Passe die Beschriftung der Legende an theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1, colour = "black", size = 12)) + scale_fill_manual(values = farben_fuer_eigentumsarten) + # Benutzerdefinierte Farbpalette anwenden ggtitle("Vorrat und Vorratsänderung nach Eigentumsart im Hauptbestand über alle Baumartengruppen") #ggsave("images/vor_ideell_eig_ba_ha.png", width = 20, height = 15, units = "cm") ``` ### Holzvorrat - ideell ::::: columns ::: {.column width="50%"} - deutlicher Anstieg der Holzvorräte um `r format(ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "alle Baumarten") %>% select(Vorratsänderung) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha auf `r format(vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "alle Baumarten") %>% select(Vorrat) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha im Hauptbestand aller Eigentumsformen, im Landeswald Anstieg von `r format(ver_vor_ideell_eig_ba_ha %>% filter(Baumartengruppe == "alle Baumarten" & Eigentumsart == "Staatswald (Land)") %>% select(Vorratsänderung) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha auf `r format(vor_ideell_eig_ba_ha %>% filter(Baumartengruppe == "alle Baumarten" & Eigentumsart == "Staatswald (Land)") %>% select(Vorrat) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha - zurückhaltende Waldbewirtschaftung und - für Waldumbau nutzbare Bewirtschaftungspotenziale - bislang keine Großschadensereignisse aber deutliche Vorratsverluste in - Esche (Fraxinus)) mit `r format(ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "Esche (Fraxinus)") %>% select(Vorratsänderung) %>% pull() %>% round(1) %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha - Tanne (Abies) mit `r format(ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "Tanne (Abies)") %>% select(Vorratsänderung) %>% pull() %>% round(1) %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha - Fichte (Picea) mit `r format(ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "Fichte (Picea)") %>% select(Vorratsänderung) %>% pull() %>% round(1) %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha - sonst. Lb niedriger Lebensdauer mit `r format(ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "sonst. Lb niedriger Lebensdauer") %>% select(Vorratsänderung) %>% pull() %>% round(1) %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha ::: ::: {.column width="50%"} ```{r, echo=FALSE} facetplot_vor_ideell_eig_ba_ha / facetplot_vor_ver_ideell_eig_ba_ha_sorted ``` ::: ::::: <!-- TODO: Vorratsänderung plotten --> ```{r barplot_ver_ideell_eig_ba_ha_sorted, echo=FALSE} #TODO: Vorratsänderung plotten # Schritt 1: Sortiere den Datensatz nach Fläche und Baumartengruppe ver_ideell_eig_ba_ha_sorted <- ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe %in% c("Esche (Fraxinus)", "Tanne (Abies)", "Fichte (Picea)", "sonst. Lb hoher Lebensdauer", "Eiche (Quercus)", "Buche (Fagus)", "Birke (Betula)", "Kiefer (Pinus)", "alle Baumarten" )) %>% #mutate(Vorrat = ifelse(Vorratsart == "Vorratsänderung", -Vorrat, Vorrat)) %>% # Umkehren der Vorratsänderung arrange(desc(Vorratsänderung)) # Sortiere nach Fläche in absteigender Reihenfolge #Setze die Baumartengruppe als Faktor und ordne die Levels nach Fläche ver_ideell_eig_ba_ha_sorted$Baumartengruppe <- factor(ver_ideell_eig_ba_ha_sorted$Baumartengruppe, levels = ver_ideell_eig_ba_ha_sorted %>% arrange(desc(Vorratsänderung)) %>% distinct(Baumartengruppe) %>% # Stellt sicher, dass keine doppelten Baumartengruppen vorhanden sind pull(Baumartengruppe)) # Schritt 2: Extrahiere die verwendeten Baumartengruppen baumarten_im_plot <- ver_ideell_eig_ba_ha_sorted %>% distinct(Baumartengruppe) %>% pull(Baumartengruppe) # Schritt 3: Filtere ba_farben so, dass nur die Farben verwendet werden, die im Plot vorkommen farben_fuer_plot <- ba_farben[names(ba_farben) %in% baumarten_im_plot] # Erstelle das Diagramm mit facet_wrap ggplot(ver_ideell_eig_ba_ha_sorted, aes(x = Baumartengruppe, y = Vorratsänderung, fill = Baumartengruppe)) + geom_bar(stat = "identity", width = 0.7) + #facet_wrap(~Vorratsart, scales = "free_y") + # Verwende facet_wrap, um Vorrat und Vorratsänderung zu trennen labs(x = "Baumartengruppe", y = "Vorratsänderung [m³/ha]", fill = "Baumartengruppe") + scale_fill_manual(values = farben_fuer_plot) + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("Aktuelle Vorratsänderung BWI2012 -- BWI 2022\n ausgewählter Baumarten") #ggsave("images/barplot_ver_ideell_eig_ba_ha_sorted.png", width = 20, height = 10, units = "cm") ``` ```{r, echo=FALSE} ver_vor_ideell_eig_ba_ha %>% filter(Baumartengruppe == "sonst. Lb niedriger Lebensdauer" & Eigentumsart == "alle Eigentumsarten") %>% select(Vorratsänderung) %>% pull() %>% round(1) ``` ### Holzvorrat - ideell - besser ::::: columns ::: {.column width="50%"} - deutlicher Anstieg der Holzvorräte um `r format(ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "alle Baumarten") %>% select(Vorratsänderung) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha auf `r format(vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "alle Baumarten") %>% select(Vorrat) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha im Hauptbestand aller Eigentumsformen, im Landeswald Anstieg von `r format(ver_vor_ideell_eig_ba_ha %>% filter(Baumartengruppe == "alle Baumarten" & Eigentumsart == "Staatswald (Land)") %>% select(Vorratsänderung) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha auf `r format(vor_ideell_eig_ba_ha %>% filter(Baumartengruppe == "alle Baumarten" & Eigentumsart == "Staatswald (Land)") %>% select(Vorrat) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha - zurückhaltende Waldbewirtschaftung und - für Waldumbau nutzbare Bewirtschaftungspotenziale ::: ::: {.column width="50%"} ```{r, echo=FALSE} facetplot_vor_ideell_eig_ba_ha ``` ::: ::::: ### Holzvorratsveränderung - ideell ::::: columns ::: {.column width="50%"} - bislang keine Großschadensereignisse aber deutliche Vorratsverluste in - Esche (Fraxinus)) mit `r format(ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "Esche (Fraxinus)") %>% select(Vorratsänderung) %>% pull() %>% round(1) %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha - Tanne (Abies) mit `r format(ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "Tanne (Abies)") %>% select(Vorratsänderung) %>% pull() %>% round(1) %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha - Fichte (Picea) mit `r format(ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "Fichte (Picea)") %>% select(Vorratsänderung) %>% pull() %>% round(1) %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha - sonst. Lb niedriger Lebensdauer mit `r format(ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "sonst. Lb niedriger Lebensdauer") %>% select(Vorratsänderung) %>% pull() %>% round(1) %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha ::: ::: {.column width="50%"} ```{r, echo=FALSE} facetplot_vor_ver_ideell_eig_ba_ha_sorted ``` ::: ::::: ```{r, include=FALSE} ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & Baumartengruppe == "alle Baumarten") %>% select(Vorratsänderung) %>% pull() %>% round(1) ``` ```{r, include=FALSE} ver_vor_ideell_eig_ba_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & !Baumartengruppe == "alle Baumarten") %>% slice_min(Vorratsänderung, n = 4) # select(Vorrat) %>% # pull() %>% # round(1) ``` ### Vorratstext ::::: columns ::: {.column width="50%"} - Vorrat in Brandenburg bei `r format(vor_reell_bb_ba_akl_kqm %>% filter(Baumartengruppe == "alle Baumarten" & Altersklasse == "alle Baumaltersklassen") %>% select(Vorrat) %>% pull() *1000, big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³ das sind ca. `r format(stammzahl %>% filter(Land == "Brandenburg" & Baumartengruppe == "alle Baumarten") %>% select(Stammzahl) %>% pull(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` Bäume und entspricht 8,9 % des Holzvolumens in Deutschland - pro Hektar sind das `r format(vor_reell_bb_ba_akl_qm_ha %>% filter(Baumartengruppe == "alle Baumarten" & Altersklasse == "alle Baumaltersklassen") %>% select(Vorrat) %>% pull() %>% round(0), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha über alle Bestandesschichten und `r format(vor_reell_bb_hbst_ba_akl_qm_ha %>% filter(Baumartengruppe == "alle Baumarten" & Altersklasse == "alle Baumaltersklassen") %>% select(Vorrat) %>% pull() %>% round(0), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha im Hauptbestand und `r format(vor_bb_bag_ak_ha %>% filter(Baumartengruppe == "alle Baumarten" & Altersklasse == "alle Baumaltersklassen") %>% select(Vorrat) %>% pull() %>% round(0), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³/ha als flächengewichtetes Mittel für den Hauptbestand in rechnerischen Reinbeständen - die Kiefer hat in Brandenburg einen Vorrat von `r format(vor_reell_bb_ba_akl_kqm %>% filter(Baumartengruppe == "Kiefer (Pinus)" & Altersklasse == "alle Baumaltersklassen") %>% select(Vorrat) %>% pull() * 1000 %>% round(0), big.mark = ".", decimal.mark = ",", scientific = FALSE)` m³das sind ca. 29 % des Kiefernvorrats in Deutschland ::: ```{r, include=FALSE} vor_reell_bb_ba_akl_kqm %>% filter(Baumartengruppe == "Kiefer (Pinus)" & Altersklasse == "alle Baumaltersklassen") %>% select(Vorrat) %>% pull() %>% round(0) ``` ::: {.column width="50%"} ```{r groupbar-vor_ver_reell_bb_ba_akl_kqm_sorted, echo=FALSE} #TODO: warum unterscheiden sich die Werte auch beim reellen Thema zur Hektarbetrachtung? # Schritt 1: Sortiere den Datensatz nach Fläche und Baumartengruppe vor_ver_reell_bb_ba_akl_kqm_sorted <- vor_reell_bb_ba_akl_kqm %>% filter(Altersklasse == "alle Baumaltersklassen") %>% left_join(ver_vor_reell_bb_ba_akl_kqm %>% filter(Altersklasse == "alle Baumaltersklassen"), by = c("Baumartengruppe" = "Baumartengruppe")) %>% select(Baumartengruppe, Vorrat, Vorratsänderung) %>% filter(!Baumartengruppe %in% c("alle Baumarten", "alle Laubbäume", "alle Nadelbäume")) %>% arrange(desc(Vorratsänderung)) # Sortiere nach Fläche in absteigender Reihenfolge #Setze die Baumartengruppe als Faktor und ordne die Levels nach Fläche vor_ver_reell_bb_ba_akl_kqm_sorted$Baumartengruppe <- factor(vor_ver_reell_bb_ba_akl_kqm_sorted$Baumartengruppe, levels = vor_ver_reell_bb_ba_akl_kqm_sorted %>% arrange(desc(Vorratsänderung)) %>% distinct(Baumartengruppe) %>% # Stellt sicher, dass keine doppelten Baumartengruppen vorhanden sind pull(Baumartengruppe)) # Schritt 2: Extrahiere die verwendeten Baumartengruppen baumarten_im_plot <- vor_ver_reell_bb_ba_akl_kqm_sorted %>% distinct(Baumartengruppe) %>% pull(Baumartengruppe) # TODO Plot für Vorrat, Vorratsänderung alle Baumarten, Nadelbäume, Laubbäume, Kiefer ... # Schritt 3: Filtere ba_farben so, dass nur die Farben verwendet werden, die im Plot vorkommen farben_fuer_plot <- ba_farben[names(ba_farben) %in% baumarten_im_plot] # Long format für ggplot vor_ver_reell_bb_ba_akl_kqm_sorted <- vor_ver_reell_bb_ba_akl_kqm_sorted %>% pivot_longer(cols = c(Vorrat, Vorratsänderung), names_to = "Vorratsart", values_to = "Vorrat") ggplot(vor_ver_reell_bb_ba_akl_kqm_sorted, aes(x = Baumartengruppe, y = Vorrat, fill = Baumartengruppe)) + geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) + labs(x = "Baumartengruppe", y = "Vorrat [1000 m³]") + scale_fill_manual(values = farben_fuer_plot) + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + # facet_wrap(~Vorratsart, scales = "free_y", ncol = 1) + ggtitle("Vorrat nach Baumartengruppe") ``` ::: ::::: ### Vorratsentwicklung ::::: columns ::: {.column width="50%"} - Vorratsänderung in Brandenburg ::: ::: {.column width="50%"} ```{r facetplot-vor_ver_reell_bb_ba_akl_kqm_sorted, echo=FALSE} ggplot(vor_ver_reell_bb_ba_akl_kqm_sorted, aes(x = Baumartengruppe, y = Vorrat, fill = Baumartengruppe)) + geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) + labs(x = "Baumartengruppe", y = "Vorrat [1000 m³]") + scale_fill_manual(values = farben_fuer_plot) + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + facet_wrap(~Vorratsart, scales = "free_y", ncol = 1) + ggtitle("Vorrat und Vorratsänderung nach Baumartengruppe") ``` ::: ::::: #### Vorrat und Vorratsentwicklung in rechnerischen Reinbeständen ```{r groupbar-vor_ver_bb_bag_ak_ha_sorted, echo=FALSE} #ideeler Vorrat mit ideellem abgang joinen und plotten # Schritt 1: Sortiere den Datensatz nach Fläche und Baumartengruppe vor_ver_bb_bag_ak_ha_sorted <- vor_bb_bag_ak_ha %>% filter(Altersklasse == "alle Baumaltersklassen") %>% left_join(ver_vor_bb_bag_ak_ha %>% filter(Altersklasse == "alle Baumaltersklassen"), by = c("Baumartengruppe" = "Baumartengruppe")) %>% select(Baumartengruppe, Vorrat, Vorratsänderung) %>% filter(!Baumartengruppe %in% c("alle Baumarten", "alle Laubbäume", "alle Nadelbäume")) %>% arrange(desc(Vorratsänderung)) # Sortiere nach Fläche in absteigender Reihenfolge #Setze die Baumartengruppe als Faktor und ordne die Levels nach Fläche vor_ver_bb_bag_ak_ha_sorted$Baumartengruppe <- factor(vor_ver_bb_bag_ak_ha_sorted$Baumartengruppe, levels = vor_ver_bb_bag_ak_ha_sorted %>% arrange(desc(Vorratsänderung)) %>% distinct(Baumartengruppe) %>% # Stellt sicher, dass keine doppelten Baumartengruppen vorhanden sind pull(Baumartengruppe)) # Schritt 2: Extrahiere die verwendeten Baumartengruppen baumarten_im_plot <- vor_ver_bb_bag_ak_ha_sorted %>% distinct(Baumartengruppe) %>% pull(Baumartengruppe) # TODO Plot für Vorrat, Vorratsänderung alle Baumarten, Nadelbäume, Laubbäume, Kiefer ... # Schritt 3: Filtere ba_farben so, dass nur die Farben verwendet werden, die im Plot vorkommen farben_fuer_plot <- ba_farben[names(ba_farben) %in% baumarten_im_plot] # Long format für ggplot vor_ver_bb_bag_ak_ha_sorted <- vor_ver_bb_bag_ak_ha_sorted %>% pivot_longer(cols = c(Vorrat, Vorratsänderung), names_to = "Vorratsart", values_to = "Vorrat") # Plotten der Daten als gruppiertes Säulendiagramm ggplot(vor_ver_bb_bag_ak_ha_sorted, aes(x = Baumartengruppe, y = Vorrat, fill = Vorratsart)) + geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) + labs(x = "Baumartengruppe", y = "Vorrat [m³/ha]", fill = "Vorratsart") + scale_fill_manual(values = c("Vorrat" = "green", "Vorratsänderung" = "grey")) + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("aktueller Vorrat und in den letzten zehn Jahren Vorratsänderung nach Baumartengruppe") ``` ### Altersverteilung ```{r normalwaldmodellfläche, include=FALSE} # Berechne die Normalwaldmodellfläche mittlere_Produktionszeit <- 120 normalwaldmodellflaeche22_100 <- (bb_stndfl_ba_22 %>% filter(Baumartengruppe == "alle Baumarten" & Altersklasse == "alle Baumaltersklassen" ) %>% select(Fläche) %>% pull() / mittlere_Produktionszeit) * 20 ``` ::::: columns ::: {.column width="50%"} - Überhang bei 41 - 60 Jahren und - deutlicher Überhang bei 61 - 80 Jahren - zu wenig junge und zu wenig alte Bäume - historisch bedingt - Änderung braucht Jahrzehnte ::: ::: {.column width="50%"} ```{r stacked_bb_stndfl_ba_22_sorted, echo=FALSE} # Schritt 1: Sortiere den Datensatz nach Fläche und Baumartengruppe bb_stndfl_ba_22_sorted <- bb_stndfl_ba_22 %>% filter(Altersklasse != "alle Baumaltersklassen" & !Baumartengruppe %in% c("alle Baumarten", "alle Laubbäume", "alle Nadelbäume")) %>% arrange(desc(Fläche)) # Sortiere nach Fläche in absteigender Reihenfolge # Schritt 2: Extrahiere die verwendeten Baumartengruppen baumarten_im_plot <- bb_stndfl_ba_22_sorted %>% distinct(Baumartengruppe) %>% pull(Baumartengruppe) # Schritt 3: Filtere ba_farben so, dass nur die Farben verwendet werden, die im Plot vorkommen farben_fuer_plot <- ba_farben[names(ba_farben) %in% baumarten_im_plot] # Schritt 4: Erstelle das Diagramm mit dem sortierten Datensatz ggplot(bb_stndfl_ba_22 %>% filter(Altersklasse != "alle Baumaltersklassen" & !Baumartengruppe %in% c("alle Baumarten", "alle Laubbäume", "alle Nadelbäume")) # Entfernen der Gesamtklassen , aes(x = Altersklasse, y = Fläche, fill = Baumartengruppe)) + geom_bar(stat = "identity", position = "stack") + # Gestapeltes Balkendiagramm # # Linie von II (21 - 40 Jahre) bis VI (101 - 120 Jahre) # geom_segment(aes(x = 1.5, xend = 6.5, y = normalwaldmodellflaeche22_100, yend = normalwaldmodellflaeche22_100), # linetype = "dashed", color = "red") + # # Beschriftung über der Linie # annotate("text", x = 2, y = normalwaldmodellflaeche22_100 + 5000, # label = paste("Normalwaldmodellfläche bei ", mittlere_Produktionszeit, "Jahren"), color = "red", hjust = 0) + # Beschriftung der Linie # Legendenüberschrift hinzufügen labs(x = "Altersklasse", y = "Fläche [ha]", title = "Standflächen der Baumarten über die Altersklassen", fill = "Baumartengruppe") + # Legendenüberschrift theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1,size = 8,colour = "black"), # X-Achse-Beschriftungen drehen legend.title = element_text(size = 8), # Kleinere Titelgröße für die Legende legend.text = element_text(size = 7)) + # Kleinere Schriftgröße für Labels scale_y_continuous(labels = scales::comma_format(big.mark = ".", decimal.mark = ",")) + # Tausenderformat scale_fill_manual(values = farben_fuer_plot) + # Farben aus ba_farben verwenden # Anpassung der Symbolgröße in der Legende guides(fill = guide_legend( ncol = 1, # Einspaltige Legende override.aes = list(size = 3) # Kleinere Symbole in der Legende )) #ggsave("images/stacked_bb_stndfl_ba_22_sorted.png", width = 25, height = 12, units = "cm") ``` ::: ::::: #### Altersverteilungsänderung BWI2012 - BWI2022 ::::: columns ::: {.column width="50%"} - Kiefer, Lärche. Douglasie und Eiche wachsen in höhere Altersklasse ein - Fichten, Eschen und Birken verlieren Fläche - v.a. Dürre - Abnahme 21 -- 40 v.a. Fichte, Kiefer, Douglasie und 41 -- 60 v.a. Fichte, Kiefer, Lärche, Birke - Zunahme 61 -- 80 Kiefer, Lärche, Douglasie, Eiche - Abnahme bei Esche - Zunahme > 160 v.a. Eiche, Buche, Kiefer ::: ::: {.column width="50%"} ```{r stacked_ver_bb_stndfl_ba_22_sorted, echo=FALSE} # Schritt 1: Sortiere den Datensatz nach Fläche und Baumartengruppe ver_bb_stndfl_ba_22_sorted <- ver_bb_stndfl_ba_22 %>% filter(Altersklasse != "alle Baumaltersklassen" & !Baumartengruppe %in% c("alle Baumarten", "alle Laubbäume", "alle Nadelbäume")) %>% arrange(desc(Veränderung)) # Sortiere nach Fläche in absteigender Reihenfolge # Schritt 2: Extrahiere die verwendeten Baumartengruppen baumarten_im_plot <- ver_bb_stndfl_ba_22_sorted %>% distinct(Baumartengruppe) %>% pull(Baumartengruppe) # Schritt 3: Filtere ba_farben so, dass nur die Farben verwendet werden, die im Plot vorkommen farben_fuer_plot <- ba_farben[names(ba_farben) %in% baumarten_im_plot] # Erstelle das gestapelte Balkendiagramm ggplot(ver_bb_stndfl_ba_22_sorted ,aes(x = Altersklasse, y = Veränderung, fill = Baumartengruppe)) + geom_bar(stat = "identity", position = "stack") + # Gestapeltes Balkendiagramm labs(x = "Altersklasse", y = "Veränderung [ha]", title = "Veränderungen der Standfläche BWI 2012 - 2022 \nüber die Altersklassen nach Baumartengruppe") + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + # X-Achse-Beschriftungen drehen scale_y_continuous(labels = scales::comma_format(big.mark = ".", decimal.mark = ",")) + # Tausenderformat # Farben manuell anpassen (optional, wenn du eine Farbpalette verwenden möchtest) scale_fill_manual(values = farben_fuer_plot) # Farben aus ba_farben verwenden #guides(fill = guide_legend(reverse = FALSE)) # Legende bleibt unverändert ``` ::: ::::: #### Vorrat und Alter ```{r normalwaldmodellvorrat, include=FALSE} # Berechne die Normalwaldmodellfläche mittlere_Produktionszeit <- 120 normalwaldmodellvorrat22_100 <- (vor_reell_bb_ba_akl_qm_ha %>% filter(Baumartengruppe == "alle Baumarten" & Altersklasse == "alle Baumaltersklassen" ) %>% select(Vorrat) %>% pull() / mittlere_Produktionszeit) * 20 ``` ::::: columns ::: {.column width="50%"} - Ungünstige Altersklassenverteilung findet sich auch im Vorrat - Deutliches Übergewicht in III bis V Altersklasse, v.a. mit Kiefer - Überhang in IV Altersklasse - 61 -- 80 Jahre - Durchforstungsalter, Waldumbauziel verlangt höherer Nutzung ::: ::: {.column width="50%"} ```{r stacked_vor_reell_bb_ba_akl_qm_ha_sorted, echo=FALSE} # Schritt 1: Sortiere den Datensatz nach Fläche und Baumartengruppe vor_reell_bb_ba_akl_qm_ha_sorted <- vor_reell_bb_ba_akl_qm_ha %>% filter(Altersklasse != "alle Baumaltersklassen" & !Baumartengruppe %in% c("alle Baumarten", "alle Laubbäume", "alle Nadelbäume")) %>% arrange(desc(Vorrat)) # Sortiere nach Fläche in absteigender Reihenfolge # Schritt 2: Extrahiere die verwendeten Baumartengruppen baumarten_im_plot <- vor_reell_bb_ba_akl_qm_ha_sorted %>% distinct(Baumartengruppe) %>% pull(Baumartengruppe) # Schritt 3: Filtere ba_farben so, dass nur die Farben verwendet werden, die im Plot vorkommen farben_fuer_plot <- ba_farben[names(ba_farben) %in% baumarten_im_plot] # Schritt 4: Erstelle das Diagramm mit dem sortierten Datensatz ggplot(vor_reell_bb_ba_akl_qm_ha_sorted , aes(x = Altersklasse, y = Vorrat, fill = Baumartengruppe)) + geom_bar(stat = "identity", position = "stack") + # Gestapeltes Balkendiagramm # # Linie von II (21 - 40 Jahre) bis VI (101 - 120 Jahre) geom_segment(aes(x = 1.5, xend = 6.5, y = normalwaldmodellvorrat22_100, yend = normalwaldmodellvorrat22_100), linetype = "dashed", color = "red") + # Beschriftung über der Linie annotate("text", x = 2, y = normalwaldmodellvorrat22_100 + 5, label = paste("Normalwaldmodellvorrat bei ", mittlere_Produktionszeit, "Jahren"), color = "red", hjust = 0) + # Beschriftung der Linie # # Legendenüberschrift hinzufügen labs(x = "Altersklasse", y = "Vorrat [m³/ha]", title = "Vorrat der Baumarten über die Altersklassen", fill = "Baumartengruppe") + # Legendenüberschrift theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1), # X-Achse-Beschriftungen drehen legend.title = element_text(size = 8), # Kleinere Titelgröße für die Legende legend.text = element_text(size = 7)) + # Kleinere Schriftgröße für Labels scale_y_continuous(labels = scales::comma_format(big.mark = ".", decimal.mark = ",")) + # Tausenderformat scale_fill_manual(values = farben_fuer_plot) + # Farben aus ba_farben verwenden # Anpassung der Symbolgröße in der Legende guides(fill = guide_legend( ncol = 1, # Einspaltige Legende override.aes = list(size = 3) # Kleinere Symbole in der Legende )) ``` ::: ::::: #### Vorratsänderung über die Altesklasse BWI 2012 - BWI 2022 ::::: columns ::: {.column width="50%"} - Kiefer, Lärche. Douglasie und Eiche wachsen in höhere Altersklasse ein - Fichten, Eschen und Birken verlieren Fläche - v.a. Dürre - Abnahme 21 -- 40 v.a. Kiefer, Fichte, Lärche, Birke und - Abnahme 41 -- 60 v.a. , Kiefer, Birke, Fichte, - Zunahme 61 -- 80 Kiefer, Eiche - Abnahme bei Buche und Esche - Zunahme > 160 v.a. Eiche, Kiefer ::: ::: {.column width="50%"} ```{r stacked_ver_vor_reell_bb_ba_akl_qm_ha_sorted, echo=FALSE} # Schritt 1: Sortiere den Datensatz nach Fläche und Baumartengruppe ver_vor_reell_bb_ba_akl_qm_ha_sorted <- ver_vor_reell_bb_ba_akl_qm_ha %>% filter(Altersklasse != "alle Baumaltersklassen" & !Baumartengruppe %in% c("alle Baumarten", "alle Laubbäume", "alle Nadelbäume")) %>% arrange(desc(Vorratsänderung)) # Sortiere nach Fläche in absteigender Reihenfolge # Schritt 2: Extrahiere die verwendeten Baumartengruppen baumarten_im_plot <- ver_vor_reell_bb_ba_akl_qm_ha %>% distinct(Baumartengruppe) %>% pull(Baumartengruppe) # Schritt 3: Filtere ba_farben so, dass nur die Farben verwendet werden, die im Plot vorkommen farben_fuer_plot <- ba_farben[names(ba_farben) %in% baumarten_im_plot] # Erstelle das gestapelte Balkendiagramm ggplot(ver_vor_reell_bb_ba_akl_qm_ha_sorted ,aes(x = Altersklasse, y = Vorratsänderung, fill = Baumartengruppe)) + geom_bar(stat = "identity", position = "stack") + # Gestapeltes Balkendiagramm labs(x = "Altersklasse", y = "Vorratsänderung [m³/ha]", title = "Vorratsänderungen über die Altersklassen\n nach Baumartengruppe BWI2012 - 2022") + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + # X-Achse-Beschriftungen drehen scale_y_continuous(labels = scales::comma_format(big.mark = ".", decimal.mark = ",")) + # Tausenderformat # Farben manuell anpassen (optional, wenn du eine Farbpalette verwenden möchtest) scale_fill_manual(values = farben_fuer_plot) # Farben aus ba_farben verwenden #guides(fill = guide_legend(reverse = FALSE)) # Legende bleibt unverändert ``` ::: ::::: ### Abgang Nutzung #### Ausgeschiedener Vorrat - absolut - vor allem Kiefer, dort ist auch der höchste Flächenanteil ```{r barplot-ausg_bestreell_land_bagr_22_sorted, echo=FALSE} # Schritt 1: Sortiere den Datensatz nach Fläche und Baumartengruppe ausg_bestreell_land_bagr_22_sorted <- ausg_bestreell_land_bagr_22 %>% filter(Land == "Brandenburg" & !Baumartengruppe %in% c("alle Baumarten", "alle Laubbäume", "alle Nadelbäume")) %>% arrange(desc(Vorratausgeschieden)) # Sortiere nach Fläche in absteigender Reihenfolge #Setze die Baumartengruppe als Faktor und ordne die Levels nach Fläche ausg_bestreell_land_bagr_22_sorted$Baumartengruppe <- factor(ausg_bestreell_land_bagr_22_sorted $Baumartengruppe, levels = ausg_bestreell_land_bagr_22_sorted %>% arrange(desc(Vorratausgeschieden)) %>% distinct(Baumartengruppe) %>% # Stellt sicher, dass keine doppelten Baumartengruppen vorhanden sind pull(Baumartengruppe)) # Schritt 2: Extrahiere die verwendeten Baumartengruppen baumarten_im_plot <- ausg_bestreell_land_bagr_22_sorted %>% distinct(Baumartengruppe) %>% pull(Baumartengruppe) # Schritt 3: Filtere ba_farben so, dass nur die Farben verwendet werden, die im Plot vorkommen farben_fuer_plot <- ba_farben[names(ba_farben) %in% baumarten_im_plot] # Schritt 4: Erstelle das Diagramm mit dem sortierten Datensatz ggplot(ausg_bestreell_land_bagr_22_sorted , aes(x = Baumartengruppe, y = Vorratausgeschieden, fill = Baumartengruppe)) + geom_col() +#(stat = "identity")#, position = "stack") + # Gestapeltes Balkendiagramm # Legendenüberschrift hinzufügen labs(x = "Altersklasse", y = "ausgeschiedener Vorrat [m³/ha]", title = "Ausgeschiedener Vorrat der Baumarten\n BWI2012 -- 2022", fill = "Baumartengruppe") + # Legendenüberschrift theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1), # X-Achse-Beschriftungen drehen legend.title = element_text(size = 8), # Kleinere Titelgröße für die Legende legend.text = element_text(size = 7)) + # Kleinere Schriftgröße für Labels scale_y_continuous(labels = scales::comma_format(big.mark = ".", decimal.mark = ",")) + # Tausenderformat scale_fill_manual(values = farben_fuer_plot) + # Farben aus ba_farben verwenden # Anpassung der Symbolgröße in der Legende guides(fill = guide_legend( ncol = 1, # Einspaltige Legende override.aes = list(size = 3) # Kleinere Symbole in der Legende )) ``` #### Ausgeschiedener Vorrat - nach Anteilen des rechnerischen Reinbestandes - deutliche Verluste in Esche - welcher Vorrat wird als Vorrat dargestellt? - Wie viel bleibt übrig - nn ```{r groupbar-vor_ausg_bb_bag_ak_ha_sorted, echo=FALSE} #ideeler Vorrat mit ideellem abgang joinen und plotten # Schritt 1: Sortiere den Datensatz nach Fläche und Baumartengruppe vor_ausg_bb_bag_ak_ha_sorted <- vor_bb_bag_ak_ha %>% filter(Altersklasse == "alle Baumaltersklassen") %>% left_join(ausg_best_land_bagr_22 %>% filter(Land == "Brandenburg"), by = c("Baumartengruppe" = "Baumartengruppe")) %>% select(Baumartengruppe, Vorrat, Vorratausgeschieden) %>% filter(!Baumartengruppe %in% c("alle Baumarten", "alle Laubbäume", "alle Nadelbäume")) %>% arrange(desc(Vorratausgeschieden)) # Sortiere nach Fläche in absteigender Reihenfolge #Setze die Baumartengruppe als Faktor und ordne die Levels nach Fläche vor_ausg_bb_bag_ak_ha_sorted$Baumartengruppe <- factor(vor_ausg_bb_bag_ak_ha_sorted$Baumartengruppe, levels = vor_ausg_bb_bag_ak_ha_sorted %>% arrange(desc(Vorratausgeschieden)) %>% distinct(Baumartengruppe) %>% # Stellt sicher, dass keine doppelten Baumartengruppen vorhanden sind pull(Baumartengruppe)) # Schritt 2: Extrahiere die verwendeten Baumartengruppen baumarten_im_plot <- vor_ausg_bb_bag_ak_ha_sorted %>% distinct(Baumartengruppe) %>% pull(Baumartengruppe) # Schritt 3: Filtere ba_farben so, dass nur die Farben verwendet werden, die im Plot vorkommen farben_fuer_plot <- ba_farben[names(ba_farben) %in% baumarten_im_plot] # Long format für ggplot vor_ausg_bb_bag_ak_ha_sorted <- vor_ausg_bb_bag_ak_ha_sorted %>% pivot_longer(cols = c(Vorrat, Vorratausgeschieden), names_to = "Vorratsart", values_to = "Vorrat") # Plotten der Daten # Plotten der Daten als gruppiertes Säulendiagramm ggplot(vor_ausg_bb_bag_ak_ha_sorted, aes(x = Baumartengruppe, y = Vorrat, fill = Vorratsart)) + geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) + labs(x = "Baumartengruppe", y = "Vorrat [m³/ha]", fill = "Vorratsart") + scale_fill_manual(values = c("Vorrat" = "green", "Vorratausgeschieden" = "grey")) + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("aktueller Vorrat und in den letzten zehn Jahren ausgeschiedener Vorrat nach Baumartengruppe") ``` #### Nutzung Zuwachs ## Änderungen in der Waldstruktur ::::: columns ::: {.column width="50%"} - `r format(land_bestaufbau %>% filter(Land == "Brandenburg" & Bestockungsaufbau == 'mehrschichtig') %>% select(Fläche) %>% pull() %>% round(0), big.mark = ".", decimal.mark = ",", scientific = FALSE)` ha bzw. `r format(land_bestaufbau %>% filter(Land == "Brandenburg" & Bestockungsaufbau == 'mehrschichtig') %>% select(Anteil) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` % der Holzbodenfläche in Brandenburg haben mindestens zwei Schichten - gegenüber der BWI 2012 hat sich die Fläche mit Beständen von mindestens zwei Schichten um `r format(ver_land_bestaufbau_ha %>% filter(Land == "Brandenburg" & Bestockungsaufbau == 'mehrschichtig' ) %>% pull() %>% round(0), big.mark = ".", decimal.mark = ",", scientific = FALSE)` ha erhöht - der Anteil einschichtiger Bestände hat sich gegenüber der BWI 2012 um `r format(abs(ver_land_bestaufbau_ha %>% filter(Land == "Brandenburg" & Bestockungsaufbau == 'einschichtig' ) %>% pull() %>% round(0)), big.mark = ".", decimal.mark = ",", scientific = FALSE)` ha verringert ::: ```{r} land_bestaufbau %>% filter(Land == "Brandenburg" & !Bestockungsaufbau %in% c('mehrschichtig', 'alle Arten von Bestockungsaufbau')) %>% inner_join(ver_land_bestaufbau_ha %>% filter(Land == "Brandenburg" & !Bestockungsaufbau %in% c('mehrschichtig', 'alle Arten von Bestockungsaufbau')), by = "Bestockungsaufbau") %>% select(Bestockungsaufbau, Fläche = Fläche.x, Veränderung = Fläche.y) %>% mutate(Ursprungswert = Fläche - Veränderung, ProzentualeVeränderung = (Veränderung / Ursprungswert) * 100) %>% pivot_longer(cols = c(Fläche, Veränderung), names_to = "Typ", values_to = "Wert") ``` ::: {.column width="50%"} ```{r groupbar-bestaufbauflant, echo=FALSE} ggplot( land_bestaufbau %>% filter(Land == "Brandenburg" & !Bestockungsaufbau %in% c('mehrschichtig', 'alle Arten von Bestockungsaufbau')) %>% inner_join(ver_land_bestaufbau_ha %>% filter(Land == "Brandenburg" & !Bestockungsaufbau %in% c('mehrschichtig', 'alle Arten von Bestockungsaufbau')), by = "Bestockungsaufbau") %>% select(Bestockungsaufbau, Fläche = Fläche.x, Veränderung = Fläche.y) %>% mutate(Ursprungswert = Fläche - Veränderung, ProzentualeVeränderung = (Veränderung / Ursprungswert) * 100) %>% pivot_longer(cols = c(Fläche, Veränderung), names_to = "Typ", values_to = "Wert") , aes(x = reorder(Bestockungsaufbau, -Wert), y = Wert, fill = Bestockungsaufbau)) + # Färben nach Bestockungsaufbau geom_col(aes(group = Typ), position = position_dodge(width = 0.8), width = 0.7) + # Typ als Gruppe verwenden, um nebeneinander zu bleiben geom_text(data = . %>% filter(Typ == "Veränderung"), # Nur die Veränderungen beschriften aes(label = paste0(#scales::comma(Wert, big.mark = ".", decimal.mark = ","), #"\n(", round(ProzentualeVeränderung, 1), "%" )), position = position_dodge(width = 0.8), vjust = -0.5, hjust = -0.2, size = 3) + labs(x = ""# "Bestockungsaufbau" , y = ""# "Holzbodenfläche [ha]" , title = "Fläche und Veränderungen des \nBestockungsaufbaus in Brandenburg") + theme_minimal() + scale_fill_manual(values = schichtfarben) + # Verwende die benutzerdefinierte Farbpalette 'schichtfarben' theme(axis.text.x = element_text(angle = 45, hjust = 1,colour = "black"), legend.position = "none") + # Legende ausblenden + scale_y_continuous(labels = label_comma(big.mark = ".", decimal.mark = ",", accuracy = 1), # Tausenderformat breaks = seq(0, max(land_bestaufbau$Fläche, na.rm = TRUE), by = 100000)) # Schrittweite von 100.000 ha ggsave("images/groupbar-bestaufbauflant.png", width = 15, height = 10, units = "cm") ``` ::: ::::: ```{r, echo=FALSE} ggplot(waldtyp_bestaufbau_bb_ha_proz_ver %>% filter(!Bestockungsaufbau == "alle Arten von Bestockungsaufbau" & `Laub-/Nadel-Waldtyp` %in% c("Nadelwald-Typ", "Laubwald-Typ")), aes(x = Bestockungsaufbau, y = Veränderung, fill = Bestockungsaufbau)) + geom_col(width = 0.7) + #facet_wrap(~ `Laub-/Nadel-Waldtyp`, scales = "free_y") + # Facettierung nach Waldtyp labs(x = "`Laub-/Nadel-Waldtyp`", y = "Veränderung [ha]", fill = "Bestockungsaufbau", title = "Veränderung des Bestockungsaufbaus nach Waldtyp in Brandenburg") + theme_minimal() + scale_fill_brewer(palette = "Set2") + # Verwende eine Farbpalette für den Bestockungsaufbau theme(axis.text.x = element_text(angle = 45, hjust = 1), legend.position = "none") + # Drehe die x-Achsen-Beschriftungen und blende die Legende aus scale_y_continuous(labels = label_comma(big.mark = ".", decimal.mark = ",", accuracy = 1), # Tausenderformat breaks = seq(0, max(land_bestaufbau$Fläche, na.rm = TRUE), by = 10000)) # Schrittweite von 100.000 ha ``` ```{r, echo=FALSE} ggplot(waldtyp_bestaufbau_bb_ha_proz_ver %>% filter(`Laub-/Nadel-Waldtyp` == "alle Laub-/Nadelwaldtypen" & !Bestockungsaufbau == "alle Arten von Bestockungsaufbau"), aes(x = Bestockungsaufbau, y = Veränderung, fill = Bestockungsaufbau)) + geom_col(width = 0.7) + labs(x = "Bestockungsaufbau", y = "Veränderung [ha]", title = "Veränderung des Bestockungsaufbaus in Brandenburg") + theme_minimal() + scale_fill_manual(values = schichtfarben) + # Verwende die benutzerdefinierte Farbpalette 'schichtfarben' scale_y_continuous(labels = label_comma(big.mark = ".", decimal.mark = ",", accuracy = 1), # Tausenderformat breaks = seq(0, max(land_bestaufbau$Fläche, na.rm = TRUE), by = 100000)) # Schrittweite von 100.000 ha ``` ```{r, include=FALSE} land_bestaufbau %>% distinct(Bestockungsaufbau) ``` ### Schichtigkeit und Laub- Nadelwald ### Totholz #### Totholzvorrat nach Eigentumsart ```{r stackbar_tot_bb_eig_bag22, echo=FALSE} ggplot(tot_bb_eig_bag22 %>% filter(Eigentumsart %in% c("Öffentlicher Wald", "Staatswald (Land)", "Privatwald, bis 20 ha", "Privatwald, über 20 bis 1000 ha", "Privatwald, über 1000 ha", "alle Eigentumsarten") & #== "alle Eigentumsarten" & !Baumartengruppe == "alle Baumartengruppen von Totholz"), aes(x = Eigentumsart, y = Totholzvorrat, fill = Baumartengruppe)) + geom_bar(stat = "identity", position = "stack") + scale_fill_manual(values = tot_bb_eig_bag22$farben) + labs(x = "Eigentumsart", y = "Totholzvorrat [m³/ha]", fill = "Baumartengruppe", title = "Totholzvorrat nach Eigentumsart und Baumartengruppe in Brandenburg") + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + scale_y_continuous(labels = scales::comma_format(big.mark = ".", decimal.mark = ",", accuracy = 1), # Tausenderformat breaks = seq(0, max(tot_bb_eig_bag22$Totholzvorrat, na.rm = TRUE), by = 10)) # Schrittweite von 10.000 m³/ha #ggsave("images/stackbar_tot_bb_eig_bag22.png", width = 15, height = 10, units = "cm") ``` ```{r tbl_tot_bb_eig_bag22} tot_bb_eig_bag22 %>% filter(Baumartengruppe == "alle Baumartengruppen von Totholz") %>% select(Eigentumsart, Totholzvorrat) %>% flextable() %>% colformat_double(big.mark = ".", decimal.mark = ",",digits = 1) %>% set_header_labels(Eigentumsart = "Eigentumsart", Totholzvorrat = "Totholzvorrat [m³/ha]") %>% bg(i = ~ Eigentumsart == "alle Eigentumsarten", bg = "#D3D3D3")%>% highlight(i = ~ Totholzvorrat > 17.6, color = "wheat", j = "Totholzvorrat") %>% autofit() ``` #### Totholzvorratsänderung nach Eigentumsart ```{r stackbar_ver_tot_bb_eig_bag22, echo=FALSE} ggplot(ver_tot_bb_eig_bag22 %>% filter(Eigentumsart %in% c("Öffentlicher Wald", "Staatswald (Land)", "Privatwald, bis 20 ha", "Privatwald, über 20 bis 1000 ha", "Privatwald, über 1000 ha", "alle Eigentumsarten") & #== "alle Eigentumsarten" & !Baumartengruppe == "alle Baumartengruppen von Totholz"), aes(x = Eigentumsart, y = Totholzvorrat, fill = Baumartengruppe)) + geom_bar(stat = "identity", position = "stack") + scale_fill_manual(values = ver_tot_bb_eig_bag22$farben) + labs(x = "Eigentumsart", y = "Totholzvorrat [m³/ha]", fill = "Baumartengruppe", title = "Änderung des Totholzvorrates BWI 2012 -- 2022\n nach Eigentumsart und Baumartengruppe in Brandenburg") + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + scale_y_continuous(labels = scales::comma_format(big.mark = ".", decimal.mark = ",", accuracy = 1), # Tausenderformat breaks = seq(0, max(ver_tot_bb_eig_bag22$Totholzvorrat, na.rm = TRUE), by = 5)) # Schrittweite von 10.000 m³/ha #ggsave("images/stackbar_ver_tot_bb_eig_bag22.png", width = 15, height = 10, units = "cm") ``` ```{r tbl_ver_tot_bb_eig_bag22} ver_tot_bb_eig_bag22 %>% filter(Baumartengruppe == "alle Baumartengruppen von Totholz") %>% select(Eigentumsart, Totholzvorrat) %>% flextable() %>% colformat_double(big.mark = ".", decimal.mark = ",",digits = 1) %>% set_header_labels(Eigentumsart = "Eigentumsart", Totholzvorrat = "Totholzvorrat [m³/ha]") %>% bg(i = ~ Eigentumsart == "alle Eigentumsarten", bg = "#D3D3D3")%>% highlight(i = ~ Totholzvorrat > 7.3, color = "wheat", j = "Totholzvorrat") %>% autofit() ``` #### Totholzvorrat im Vergleich der Länder ```{r stackbar-tot_land_qm_ha_reell, echo=FALSE} # Sortierreihenfolge direkt an das Tibble anhängen tot_land_qm_ha_reell <- tot_land_qm_ha_reell %>% group_by(Land) %>% mutate(SortOrder = max(Totholz[Baumartengruppe == "alle Baumartengruppen von Totholz"])) %>% ungroup() %>% arrange(desc(SortOrder)) # Erstelle das stacked barplot für alle Baumartengruppen ggplot(tot_land_qm_ha_reell %>% filter(Baumartengruppe != "alle Baumartengruppen von Totholz"), # Filtere alles außer "alle Baumartengruppen von Totholz" aes(x = factor(Land, levels = unique(Land)), y = Totholz, fill = Baumartengruppe)) + geom_bar(stat = "identity", position = "stack") + scale_fill_manual(values = tot_land_qm_ha_reell$farben) + labs(x = "Bundesland", y = "Totholzvorrat [m³/ha]", fill = "Baumartengruppe", title = "Totholzvorrat nach Bundesland und Baumartengruppe") + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + scale_y_continuous(labels = scales::comma_format(big.mark = ".", decimal.mark = ",", accuracy = 1)) #ggsave("images/stackbar-tot_land_qm_ha_reell.PNG", width = 15, height = 10, units = "cm") ``` ## Waldverjüngung - Jungbestockung auf `r format(jungbestflant %>% filter(Land == 'Brandenburg' & Jungbestockung == "Jungbestockung mit oder ohne Schirm" & Kategorie == 'Wald') %>% select(Fläche_jungfl) %>% pull() %>% round(0), big.mark = ".", decimal.mark = ",", scientific = FALSE)` ha (`r format(jungbestflant %>% filter(Land == 'Brandenburg' & Jungbestockung == "Jungbestockung mit oder ohne Schirm" & Kategorie == "Wald") %>% select(Waldflächenanteil) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` %) der gesamten Waldfläche (+ `r format(ver_jungbestfl %>% filter(Land == 'Brandenburg' & Jungbestockung == "Jungbestockung mit oder ohne Schirm") %>% select(Veränderungsanteil) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` %) - überwiegend aus Naturverjüngung ```{r tbl-jungbest_ba_22_long, echo=FALSE} jungbest_ba_22_long %>% filter(Baumartengruppe == "alle Baumarten") %>% mutate(Anteil = round(Waldfläche / Waldfläche[Verjüngungsart == "alle Verjüngungsarten"]* 100,2)) %>% mutate(SortOrder = ifelse(Verjüngungsart == "alle Verjüngungsarten", 1, 0)) %>% # Hilfsspalte hinzufügen arrange(SortOrder, desc(Anteil)) %>% # Nach Hilfsspalte und Anteil sortieren select(Verjüngungsart, Waldfläche, Anteil) %>% # Spalten auswählen flextable() %>% colformat_double(big.mark = ".", decimal.mark = ",",digits = 1) %>% set_header_labels(Waldfläche = "Waldfläche [ha]", Anteil = "Anteil [%]") %>% bg(i = ~ Verjüngungsart == "alle Verjüngungsarten", bg = "#D3D3D3") %>% autofit() ``` - steigender Anteil der Laubbäume - bis 4 m Höhe 76,8 % (+ 3,8 %) - bis 1,3 m Höhe 77,4 % (+ 38 %) ```{r, include=FALSE} (442 + 211 + 479 + 1.144)/2939.51228 *100 ``` <!-- TODO Verbiss --> `r format(nproz_verb_ba_bb %>% filter(Baumartengruppe == 'alle Baumarten' & Verbissart == 'Verbiss') %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` % aller jungen Bäume in Brandenburg sind verbissen. Hinsichtlich des Zieles einen klimaresilienten Wald aus Naturverjüngung zu erziehen ist ein Verbissanteil von **`r format(nproz_verb_ba_bb %>% filter(Baumartengruppe == 'alle Laubbäume' & Verbissart == 'Verbiss') %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` % bei den Laubbäumen (33 %)** und insbesondere von `r format(nproz_verb_ba_bb %>% filter(Baumartengruppe == 'sonst. Lb niedriger Lebensdauer' & Verbissart == 'Verbiss') %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` % bei den sonstigen Laubbäumen niedriger Lebensdauer als zu hoch einzustufen. Dies besonders bei einer geringen Jungpflanzendichte von **`r format(jung_nha_verb_ba_bb %>% filter(Baumartengruppe == 'alle Laubbäume' & Verbissart == 'kein Verbiss') %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE)` Pflanzen/ha unverbissenerLaubbäume**. ```{r, echo=FALSE} jungbest_ba_22_long %>% group_by(Verjüngungsart) %>% mutate(Anteil = round(Waldfläche / Waldfläche[Baumartengruppe == "alle Baumarten"]* 100,2)) %>% ungroup() %>% filter(Baumartengruppe == "alle Laubbäume" & Verjüngungsart == "alle Verjüngungsarten") %>% select( Anteil) ``` ```{r pie_jung_bb_eig_nba_hb_sorted, echo=FALSE} # Schritt 1: Sortiere den Datensatz nach Anteil und Baumartengruppe jung_bb_eig_nba_hb_sorted <- jung_bb_eig_nba_hb %>% filter(Eigentumsart == "alle Eigentumsarten" & !Baumartengruppe %in% c("alle Baumarten", "alle Laubbäume", "alle Nadelbäume")) %>% arrange(desc(Anteil)) # Sortiere nach Anteil in absteigender Reihenfolge # Schritt 2: Setze die Baumartengruppe als Faktor und definiere die Reihenfolge nach Anteil jung_bb_eig_nba_hb_sorted$Baumartengruppe <- factor( jung_bb_eig_nba_hb_sorted$Baumartengruppe, levels = jung_bb_eig_nba_hb_sorted$Baumartengruppe ) # Schritt 3: Filtere ba_farben so, dass nur die Farben verwendet werden, die im Plot vorkommen farben_fuer_plot <- ba_farben[names(ba_farben) %in% levels(jung_bb_eig_nba_hb_sorted$Baumartengruppe)] # Schritt 4: Berechne die Positionen für die Labels jung_bb_eig_nba_hb_sorted <- jung_bb_eig_nba_hb_sorted %>% mutate(ypos = cumsum(Anteil) - 0.5 * Anteil) # Mittlere Position des Segments # Erstelle das Kreisdiagramm mit korrekt positionierten Labels ggplot(jung_bb_eig_nba_hb_sorted, aes(x = "", y = Anteil, fill = Baumartengruppe)) + geom_bar(stat = "identity", width = 1) + coord_polar("y", start = 0) + geom_text(data = subset(jung_bb_eig_nba_hb_sorted, Anteil > 9), # Nur Baumarten mit Anteil > 6 % aes(label = paste0(Baumartengruppe, "\n", round(Anteil, 2), "%"), y = ypos), size = 3) + # Beschriftung im Zentrum des Segments scale_fill_manual(values = farben_fuer_plot) + theme_void() + theme(legend.position = "right") # Position der Legende ``` ```{r barplot-jung_bb_eig_nba_hb_sorted, echo=FALSE} # Schritt 1: Sortiere den Datensatz nach Anteil und Baumartengruppe jung_bb_eig_nba_hb_sorted <- jung_bb_eig_nba_hb %>% filter(Eigentumsart == "alle Eigentumsarten" & !Baumartengruppe %in% c("alle Baumarten", "alle Laubbäume", "alle Nadelbäume")) %>% arrange(desc(Anteil)) # Sortiere nach Anteil in absteigender Reihenfolge # Schritt 2: Setze die Baumartengruppe als Faktor und definiere die Reihenfolge nach Anteil jung_bb_eig_nba_hb_sorted$Baumartengruppe <- factor( jung_bb_eig_nba_hb_sorted$Baumartengruppe, levels = jung_bb_eig_nba_hb_sorted$Baumartengruppe ) # Schritt 3: Filtere ba_farben so, dass nur die Farben verwendet werden, die im Plot vorkommen farben_fuer_plot <- ba_farben[names(ba_farben) %in% levels(jung_bb_eig_nba_hb_sorted$Baumartengruppe)] # Erstelle das liegende gestapelte Balkendiagramm ggplot(jung_bb_eig_nba_hb_sorted, aes(x = Baumartengruppe, y = Anteil, fill = Baumartengruppe)) + geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) + coord_flip() + # Koordinaten umkehren, um ein liegendes Balkendiagramm zu erstellen geom_text(aes(label = paste0(round(Anteil, 2), "%")), position = position_dodge(width = 0.8), hjust = -0.1, size = 3, color = "black") + # Beschriftung am Ende des Balkens scale_fill_manual(values = farben_fuer_plot) + theme_minimal() + labs(x = "", y = "", title = "Anteile der Baumartengruppen (< 1,3m)\n in allen Eigentumsarten") + theme( legend.position = "none", # Entfernt die Legende axis.text.y = element_text(size = 8), axis.ticks.y = element_blank(), panel.spacing = unit(0, "cm"), # Verringert den Abstand zwischen Panel und Achse plot.margin = margin(5, 5, 5, 5) # Passt die Abstände um das Diagramm an ) + scale_y_continuous(expand = c(0, 0.1)) # Kontrolliert den Abstand der Bars zur Achse ggsave("images/barplot-jung_bb_eig_nba_hb_sorted.png", width = 15, height = 10, units = "cm") ``` ```{r, echo=FALSE} # Daten vorbereiten jung_bb_eig_nba_hb_pie_data <- jung_bb_eig_nba_hb %>% filter(Eigentumsart == "alle Eigentumsarten" & !Baumartengruppe %in% c("alle Baumarten", "alle Laubbäume", "alle Nadelbäume")) %>% arrange(desc(Anteil)) %>% # Sortiere nach Anteil in absteigender Reihenfolge filter(Anteil > 0) # Stelle sicher, dass es keine 0-Anteile gibt # Setze die Baumartengruppe als Faktor, um die Reihenfolge sicherzustellen jung_bb_eig_nba_hb_pie_data$Baumartengruppe <- factor( jung_bb_eig_nba_hb_pie_data$Baumartengruppe, levels = jung_bb_eig_nba_hb_pie_data$Baumartengruppe ) # Farben für die Baumartengruppen entsprechend ba_farben farben_fuer_plot <- ba_farben[as.character(jung_bb_eig_nba_hb_pie_data$Baumartengruppe)] # Erstelle das Kreisdiagramm mit der pie()-Funktion pie(jung_bb_eig_nba_hb_pie_data$Anteil, labels = ifelse(jung_bb_eig_nba_hb_pie_data$Anteil > 9, paste0(jung_bb_eig_nba_hb_pie_data$Baumartengruppe, "\n", round(jung_bb_eig_nba_hb_pie_data$Anteil, 2), "%"), ""), col = farben_fuer_plot, main = "Anteile der Baumartengruppen in allen Eigentumsarten") ``` ```{r stackedbar_jung_bb_eig_nba_hb_l_all, echo=FALSE} ggplot(jung_bb_eig_nba_hb %>% filter(Eigentumsart %in% c("alle Eigentumsarten", "Staatswald (Land)") & Baumartengruppe %in% c("alle Laubbäume", "alle Nadelbäume")), aes(x = Eigentumsart, y = Anteil, fill = Baumartengruppe)) + geom_bar(stat = "identity", position = "stack", width = 0.7) + labs(x = "Eigentumsart", y = "Anteil (%)", title = "Laubbaum und Nadelbaumverteilung nach Eigentumsart") + scale_fill_manual(values = c("alle Laubbäume" = "#66c2a5", "alle Nadelbäume" = "#fc8d62")) + # Farben manuell festlegen geom_text(aes(label = paste0(Baumartengruppe, ": ", round(Anteil, 2), "%")), position = position_stack(vjust = 0.5), size = 3, color = "black") + # Beschriftung im Zentrum des Balkens theme_minimal() + theme(axis.text.x = element_text(angle = 0, hjust = 1), legend.position = "none") # Legende entfernen #ggsave("images/stackedbar_jung_bb_eig_nba_hb_l_all.png", width = 15, height = 10, units = "cm") ``` ```{r pie_jung_bb_eig_nba_hb_l_all.png, echo=FALSE} # Öffne eine PNG-Datei zum Speichern des Plots # png("images/pie_jung_bb_eig_nba_hb_l_all.png", width = 800, height = 400) # Daten filtern und vorbereiten jung_bb_eig_nba_hb_pie_data <- jung_bb_eig_nba_hb %>% filter(Eigentumsart %in% c("alle Eigentumsarten", "Staatswald (Land)") & Baumartengruppe %in% c("alle Laubbäume", "alle Nadelbäume")) %>% arrange(Eigentumsart, desc(Anteil)) # Sortiere nach Eigentumsart und Anteil # Setze die Farben entsprechend der Baumartengruppe farben_fuer_plot <- c("alle Laubbäume" = "#66c2a5", "alle Nadelbäume" = "#fc8d62") # Vorbereitung für das Nebeneinanderstellen der Kreisdiagramme par(mfrow = c(1, 2)) # Zwei Plots nebeneinander # Kreisdiagramm für "alle Eigentumsarten" pie(jung_bb_eig_nba_hb_pie_data$Anteil[jung_bb_eig_nba_hb_pie_data$Eigentumsart == "alle Eigentumsarten"], labels = paste0(jung_bb_eig_nba_hb_pie_data$Baumartengruppe[jung_bb_eig_nba_hb_pie_data$Eigentumsart == "alle Eigentumsarten"], "\n", round(jung_bb_eig_nba_hb_pie_data$Anteil[jung_bb_eig_nba_hb_pie_data$Eigentumsart == "alle Eigentumsarten"], 2), "%"), col = farben_fuer_plot[jung_bb_eig_nba_hb_pie_data$Baumartengruppe[jung_bb_eig_nba_hb_pie_data$Eigentumsart == "alle Eigentumsarten"]], main = "Alle Eigentumsarten") # Kreisdiagramm für "Staatswald (Land)" pie(jung_bb_eig_nba_hb_pie_data$Anteil[jung_bb_eig_nba_hb_pie_data$Eigentumsart == "Staatswald (Land)"], labels = paste0(jung_bb_eig_nba_hb_pie_data$Baumartengruppe[jung_bb_eig_nba_hb_pie_data$Eigentumsart == "Staatswald (Land)"], "\n", round(jung_bb_eig_nba_hb_pie_data$Anteil[jung_bb_eig_nba_hb_pie_data$Eigentumsart == "Staatswald (Land)"], 2), "%"), col = farben_fuer_plot[jung_bb_eig_nba_hb_pie_data$Baumartengruppe[jung_bb_eig_nba_hb_pie_data$Eigentumsart == "Staatswald (Land)"]], main = "Staatswald (Land)") # Zurücksetzen der Paramenter für das Plot-Layout par(mfrow = c(1, 1)) # Schließe die Grafikdatei und speichere sie # dev.off() ``` ```{r groupbar-jung_verbproz_laub_nadel, echo=FALSE} ggplot(nproz_verb_ba_bb %>% filter(Baumartengruppe %in% c('alle Baumarten', "alle Nadelbäume", "alle Laubbäume"), `Verbissart` %in% c("Verbiss", "kein Verbiss")) , aes(x = Baumartengruppe, y = Verbissprozent, fill = `Verbissart`)) + geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) + labs(x = "", y = "", title = "Verbissprozent für 'Verbiss' und 'kein Verbiss' nach Baumartengruppe") + scale_fill_manual(values = c("Verbiss" = "#fc8d62", "kein Verbiss" = "#66c2a5")) + # Farben manuell festlegen theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) #ggsave("images/groupbar-jung_verbproz_laub_nadel.png", width = 15, height = 10, units = "cm") ``` ```{r groupbar-jung_bb_eig_proz, echo=FALSE} # Reihenfolge der Eigentumsarten festlegen jung_bb_eig_proz <- jung_bb_eig_proz %>% mutate(Eigentumsart = factor(Eigentumsart, levels = c('Öffentlicher Wald', "Staatswald (Land)", "Privatwald", "alle Eigentumsarten"))) ggplot(jung_bb_eig_proz %>% filter(Eigentumsart %in% c('Öffentlicher Wald', "Staatswald (Land)", "Privatwald", "alle Eigentumsarten"), `Verbissart` %in% c("Verbiss", "kein Verbiss")) , aes(x = Eigentumsart, y = Verbissprozent, fill = `Verbissart`)) + geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) + labs(x = "", y = "", title = "Verbissprozent für 'Verbiss' und 'kein Verbiss' nach Eigentumsarten") + scale_fill_manual(values = c("Verbiss" = "#fc8d62", "kein Verbiss" = "#66c2a5")) + # Farben manuell festlegen theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) #ggsave("images/groupbar-jung_bb_eig_proz.png", width = 15, height = 10, units = "cm") ``` ```{r stackbar-bestyp_eig_bb_ha_anteile, echo=FALSE} # Berechnung der Anteile und Hinzufügen der Spalte Anteil bestyp_eig_bb_ha_anteile <- bestyp_eig_bb_ha %>% filter(Eigentumsart %in% c('Öffentlicher Wald', "Staatswald (Land)", "Privatwald", "alle Eigentumsarten"), !Bestockungstyp %in% c("Laubwald-Typ", "Nadelwald-Typ")) %>% group_by(Eigentumsart) %>% mutate(Gesamtfläche = Waldfläche[Bestockungstyp == "alle Laub-/Nadelwaldtypen"], Anteil = (Waldfläche / Gesamtfläche) * 100) %>% filter(!Bestockungstyp %in% c("alle Laub-/Nadelwaldtypen")) %>% ungroup() %>% mutate(Bestockungstyp = factor(Bestockungstyp, levels = c( "reiner Laubwald", "Laubwald mit Nadelbeimischung", "Laub-/Nadel-Mischwald mit gleichen Anteilen", "Nadelwald mit Laubbeimischung", "reiner Nadelwald"))) %>% mutate(Eigentumsart = factor(Eigentumsart, levels = c('Öffentlicher Wald', "Staatswald (Land)", "Privatwald", "alle Eigentumsarten"))) # Erstelle das gestapelte Balkendiagramm mit Anteilen als Beschriftung ggplot(bestyp_eig_bb_ha_anteile, aes(x = Eigentumsart, y = Anteil, fill = Bestockungstyp)) + geom_bar(stat = "identity", position = "stack", width = 0.7) + # geom_text(aes(label = paste0(round(Anteil, 1), "%")), # position = position_stack(vjust = 0.5), size = 3, color = "black") + labs(x = "", y = "Bestockungstypanteile [%]", title = "Waldflächenanteile\n nach Bestockungstyp und Eigentumsart") + scale_fill_manual(values = c("#66c2a5", "#fc8d62", "#8da0cb", "#e78ac3", "#a6d854", "#ffd92f", "#e5c494")) + # Manuell definierte Farben für Bestockungstypen theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) #ggsave("images/stackbar-bestyp_eig_bb_ha_anteile.png", width = 15, height = 10, units = "cm") #ggsave("images/stackbar-bestyp_eig_bb_ha_anteile_label.png", width = 15, height = 10, units = "cm") ``` ```{r} bestyp_eig_bb_ha_anteile %>% filter(Eigentumsart == "alle Eigentumsarten") %>% select(Bestockungstyp, Waldfläche, Anteil) %>% flextable() %>% colformat_double(big.mark = ".", decimal.mark = ",",digits = 1) %>% autofit() ``` ```{r barplot-ver_bestyp_eig_bb_ha_filtered, echo=FALSE} # Daten filtern und Bestockungstyp als Faktor setzen ver_bestyp_eig_bb_ha_filtered <- ver_bestyp_eig_bb_ha %>% filter(Eigentumsart == "alle Eigentumsarten" & !Bestockungstyp %in% c("alle Laub-/Nadelwaldtypen","Laubwald-Typ", "Nadelwald-Typ")) %>% mutate(Bestockungstyp = factor(Bestockungstyp, levels = c( "reiner Laubwald", "Laubwald mit Nadelbeimischung", "Laub-/Nadel-Mischwald mit gleichen Anteilen", "Nadelwald mit Laubbeimischung", "reiner Nadelwald"))) # Erstelle das Balkendiagramm für die Veränderungen der Bestockungstypen ggplot(ver_bestyp_eig_bb_ha_filtered, aes(x = Bestockungstyp, y = Waldflächenänderung, fill = Bestockungstyp)) + geom_bar(stat = "identity", width = 0.7) + labs(x = "", y = "Waldflächenänderung [ha]", title = "Veränderungen der Waldflächen nach Bestockungstypen\n(alle Eigentumsarten)") + scale_fill_manual(values = c("#66c2a5", "#fc8d62", "#8da0cb", "#e78ac3", "#a6d854", "#ffd92f", "#e5c494")) + # Manuell definierte Farben theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1), # legend.position = "none" ) # Entfernt die Legende ggsave("images/barplot-ver_bestyp_eig_bb_ha_filtered-legende.png", width = 15, height = 10, units = "cm") ``` ```{r} ver_bestyp_eig_bb_ha_filtered %>% flextable() %>% colformat_double(big.mark = ".", decimal.mark = ",",digits = 0) ``` ```{r} # bestyp_eig_bb_ha_filtered %>% # filter(Eigentumsart == "alle Eigentumsarten") %>% # flextable() %>% # colformat_double(big.mark = ".", decimal.mark = ",",digits = 0) ``` ```{r} ver_bestyp_eig_bb_ha %>% filter(Eigentumsart %in% c( # 'Öffentlicher Wald', # "Staatswald (Land)", # "Privatwald", "alle Eigentumsarten"), !Bestockungstyp %in% c("alle Laub-/Nadelwaldtypen")) ``` ### zuwachs ```{r} zuw_eig_bag_ha_a %>% filter(Eigentumsart %in% c('Öffentlicher Wald', "Staatswald (Land)", "Privatwald", "alle Eigentumsarten"), Baumartengruppe == "alle Baumarten") %>% inner_join( nutz_eig_bag_ha_a %>% filter(Eigentumsart %in% c('Öffentlicher Wald', "Staatswald (Land)", "Privatwald", "alle Eigentumsarten"), Baumartengruppe == "alle Baumarten"), by = c("Eigentumsart", "Baumartengruppe") ) %>% select(Eigentumsart, Baumartengruppe, Zuwachs, Nutzung) %>% pivot_longer(cols = c(Eigentumsart, Baumartengruppe), names_to = "ZuNutz", values_to = "Efm") ``` ```{r groupbar-zuwachs_nutzung_long, echo=FALSE} zuwachs_nutzung_long <- zuw_eig_bag_ha_a %>% filter(Eigentumsart %in% c('Öffentlicher Wald', "Staatswald (Land)", "Privatwald", "alle Eigentumsarten"), Baumartengruppe == "alle Baumarten") %>% inner_join( nutz_eig_bag_ha_a %>% filter(Eigentumsart %in% c('Öffentlicher Wald', "Staatswald (Land)", "Privatwald", "alle Eigentumsarten"), Baumartengruppe == "alle Baumarten"), by = c("Eigentumsart", "Baumartengruppe") ) %>% select(Eigentumsart, Zuwachs, Nutzung) %>% pivot_longer(cols = c(Zuwachs, Nutzung), names_to = "Typ", values_to = "Wert")%>% mutate(Eigentumsart = factor(Eigentumsart, levels = c('Öffentlicher Wald', "Staatswald (Land)", "Privatwald", "alle Eigentumsarten"))) # Erstelle das gruppierte Balkendiagramm ggplot(zuwachs_nutzung_long, aes(x = Eigentumsart, y = Wert, fill = Typ)) + geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) + labs(x = "", y = "", title = "Zuwachs und Nutzung nach Eigentumsart in Efm") + scale_fill_manual(values = c("Zuwachs" = "#66c2a5", "Nutzung" = "#fc8d62")) + # Farben manuell festlegen theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) ggsave("images/groupbar-zuwachs_nutzung_long.png", width = 15, height = 10, units = "cm") ``` # Zusammenfassung - Brandenburg gehört zu den waldreichsten Ländern - Waldflächenanteil ist stabil und leicht ansteigend - Brandenburg ist größter Kiefernholzlieferant in Deutschland ? - Kleinprivatwald erfordert besondere Fürsorge - Holzvorrat ist anwachsend - Waldumbau zeigt in Brandenburg Erfolge