--- title: "scribble" --- {{< include librarys-datimport.qmd >}} # ToDos - [ ] Trakte, Ecken z.B. Infoflyer - [ ] Wie können 74 Efm Esche weniger aber 268 m³/ha und nur 1 m³/ha Abgang sein? warum wird die Stammanzahl ohne Nachkommastellen angegeben und wie kann man sie sinnvoll runden? ```{r} vor_reell_bb_eigentum_ba_kqm_sorted <- vor_reell_bb_eigentum_ba_kqm %>% filter(!Eigentumsart %in% c("Öffentlicher Wald", "Privatwald", "alle Eigentumsarten" ), !Baumartengruppe %in% c("alle Laubbäume", "alle Nadelbäume", "alle Baumarten")) %>% group_by(Eigentumsart) %>% arrange(desc(Vorrat)) %>% ungroup() ggplot(vor_reell_bb_eigentum_ba_kqm_sorted, aes(area = Vorrat, fill = Eigentumsart, label = paste(Eigentumsart, "\n", round(Vorrat, 1), "m³"), subgroup = Baumartengruppe)) + geom_treemap() + geom_treemap_subgroup_border() + # Untergruppen für die Baumartengruppe geom_treemap_text(colour = "white", place = "centre", grow = TRUE) + geom_treemap_subgroup_text(place = "top", grow = TRUE, alpha = 0.5, colour = "black", min.size = 0) + # Baumartengruppe-Beschriftung scale_fill_manual(values = farben_fuer_plot) + labs(title = "Holzvolumen nach Eigentumsart und Baumartengruppe") + theme_minimal() ``` ```{r} vor_reell_bb_eigentum_ba_kqm_sorted <- vor_reell_bb_eigentum_ba_kqm %>% filter(!Eigentumsart %in% c("Öffentlicher Wald", "Privatwald"#, "alle Eigentumsarten" ), !Baumartengruppe %in% c("alle Laubbäume", "alle Nadelbäume", "alle Baumarten")) %>% group_by(Eigentumsart) %>% arrange(desc(Vorrat)) %>% ungroup() ggplot(vor_reell_bb_eigentum_ba_kqm_sorted, aes(x = Eigentumsart, y = Vorrat, fill = Baumartengruppe)) + geom_area(stat = "identity", position = "stack") + scale_fill_manual(values = farben_fuer_plot) + labs(x = "Eigentumsart", y = "Vorrat [1000 m³]", title = "Gestapeltes Flächendiagramm des Holzvolumens nach Eigentumsart und Baumartengruppe") + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) ``` ```{r} # Erstelle das Diagramm mit nach Eigentumsart eingefärbten Balken und gruppiert nach Vorratsart ggplot(vor_reell_bb_hbst_eiggr_ba_qm_h %>% 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(vervor_reell_bb_hbst_eiggr_baha %>% 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)) + ggtitle("Vorrat und Vorratsänderung nach Eigentumsart im Hauptbestand über alle Baumartengruppen") ``` ```{r} 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") + geom_label(data = mittelpunkte, aes(x, y, label = Kategorie), hjust = 0, vjust = 0.5, size = 4) #+ # theme( # axis.title = element_blank(), # Entfernt die Titel der Achsen # axis.text = element_blank(), # Entfernt die Achsenbeschriftungen # axis.ticks = element_blank(), # Entfernt die Achsenstriche # axis.line = element_blank() # Entfernt die Achsenlinien # ) ``` ```{r groupbar-vor_ver_reell_bb_ba_akl_kqm_sorted, echo=FALSE} #ideeler Vorrat mit ideellem abgang joinen und plotten # 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") # Plotten der Daten als gruppiertes Säulendiagramm ggplot(vor_ver_reell_bb_ba_akl_kqm_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") ``` ```{r} # Sortierte Daten wie oben beschrieben 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)) # Setze die Baumartengruppe als Faktor 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)) %>% pull(Baumartengruppe)) # Plot 1: Vorrat vorrat_plot <- ggplot(vor_ver_reell_bb_ba_akl_kqm_sorted, aes(x = Baumartengruppe, y = Vorrat)) + geom_bar(stat = "identity", fill = "green", width = 0.7) + labs(x = "Baumartengruppe", y = "Vorrat [m³/ha]") + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("Aktueller Vorrat nach Baumartengruppe") # Plot 2: Vorratsänderung vorratsaenderung_plot <- ggplot(vor_ver_reell_bb_ba_akl_kqm_sorted, aes(x = Baumartengruppe, y = Vorratsänderung)) + geom_bar(stat = "identity", fill = "grey", width = 0.7) + labs(x = "Baumartengruppe", y = "Vorratsänderung [m³/ha]") + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("Vorratsänderung in den letzten zehn Jahren nach Baumartengruppe") # Beide Plots untereinander anordnen vorrat_plot / vorratsaenderung_plot ``` ```{r groupbar-vor_ver_reell_bb_ba_akl_kqm_sorted, echo=FALSE} #ideeler Vorrat mit ideellem abgang joinen und plotten # 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") # Plot für Vorrat # vorrat_plot <- vor_reell_bb_ba_akl_kqm_plot <- ggplot(vor_plot_data <- vor_ver_reell_bb_ba_akl_kqm_sorted %>% filter(Vorratsart == "Vorrat"), 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 [m³]") + scale_fill_manual(values = farben_fuer_plot) + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("Aktueller Vorrat nach Baumartengruppe") # Plot für Vorratsänderung # vorratsänderung_plot <- ver_reell_bb_ba_akl_kqm_plot <- ggplot(vor_ver_reell_bb_ba_akl_kqm_sorted %>% filter(Vorratsart == "Vorratsänderung"), aes(x = Baumartengruppe, y = Vorrat, fill = Baumartengruppe)) + geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) + labs(x = "Baumartengruppe", y = "Vorratsänderung [m³/ha]") + scale_fill_manual(values = farben_fuer_plot) + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("Vorratsänderung nach Baumartengruppe in den letzten zehn Jahren") # Beide Plots untereinander darstellen vor_reell_bb_ba_akl_kqm_plot / ver_reell_bb_ba_akl_kqm_plot ``` ```{r} ver_jungbestfl %>% filter(Land == "Brandenburg" & Jungbestockung == "Jungbestockung ohne Schirm (Hauptbestockung)" ) %>% select(Veränderungsanteil) %>% pull() ``` #### Totholzvorrat 2013-2022 ::::: {.columns style="display: flex !important; height: 90%;"} ::: {.column width="50%" style="display: flex; justify-content: center; align-items: center;"} ```{r totvorrat13_22_bar, echo=FALSE, fig.height=7, fig.width=7} #| label: ver_totholz_13_22 #| tbl-cap: Vergleich der Totholzvorräte in Brandenburg LWI 2013 - BWI 2022 # Daten Vorbereiten # Totholzvorrat BB Vergleich 13-22 totvorrat_long_13_22 <- tot$bb_tot_typ_13_22 %>% filter(Eigentumsart == "alle Eigentumsarten 2013"|Eigentumsart == "alle Eigentumsarten 2022") %>% pivot_longer(cols = c("alle Totholztypen"), names_to = "Totholztyp", values_to = "Totholzvorrat") # Bar Totholzvorrat BB Vergleich 13-22 # Plot erstellen als Säulendiagramm für 2013 & 2022 totvorrat_13_22 <- ggplot(totvorrat_long_13_22, aes(x = Eigentumsart, y = Totholzvorrat)) + geom_bar(stat = "identity", fill = "dodgerblue3", show.legend = FALSE) + # Set custom color geom_text(aes(label = paste0(round(Totholzvorrat, 1), "")), vjust = 0.5, hjust = 0.5, color = "white", size = 4.5, position = position_stack(vjust = 0.5), fontface = "bold") + # Center the labels labs(x = "", y = "Totholzvorrat [m³/ha]") + ggtitle("Vergleich der Totholzvorräte \n 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", legend.position = "none") + scale_x_discrete(labels = c("alle Eigentumsarten 2013" = "LWI 2013", "alle Eigentumsarten 2022" = "BWI 2022")) + scale_y_continuous(labels = scales::comma_format(big.mark = ".", decimal.mark = ","), breaks = seq(0, 18, by = 2), # Adjust breaks as needed limits = c(0, 18)) # Set y-axis limit totvorrat_13_22 ``` ::: ::: {.column width="50%"} - direkter Vergleich: Totholzvorrat in Brandenburg von 10,94 m³/ha in 2013 auf 17 m³/ha in 2022, um **6,06 m³/ha**, gestiegen. - In der Veränderungsrechung (nur Punkte im Veränderungsnetz) liegt der Anstieg bei **6,4 m³/ha**. ::: :::: **todo:** Daten aus Import übernehmen <!-- TODO Daten aus Import übernehmen --> \### Verjüngung - Bäume bis 4m - Verjüngungskreis - [ ] Botschaft: Zu wenig Pflanzen / ha - [ ] Verbiss halbiert, aber noch immer zu viel bzw. zu wenig Pflanzen für Waldumbau ### Blöße - abgenommen (aufgrund Methodik SG waldinv) - von Kalamitäten verschont geblieben **todo: verarbeiten oder streichen** - Leichter Übergang Staatswald zu Privatwald - Botschaft: Eigentumsvereteilung bleibt weitgehend stabil - Betreuung Privatwald weiterhin relevant - Vergleich zum Waldflächennachweis**?** **todo: Übernahme von Textelementen aus angepassten BWI-LFE_MLUK.qmd und / oder weglassen:**<!-- TODO Übernahme von Textelementen aus angepassten BWI-LFE_MLUK.qmd und / oder weglassen --> - `r format(trackt_eckenanzahl %>% select(waldecke) %>% pull(), big.mark = ".", decimal.mark = ",", scientific = FALSE)` Waldecken. - 11 Trupps waren 2 Jahre in Brandenburg unterwegs und überprüften **Trakte** und\ Punkte - an **todo** Punkten wurden Daten an verschiedenen Probekreisen erfasst - dabei wurden insgesamt **todo:** XXX große Bäume vermessen und **todo:** XXX kleine Bäume gemessen und beurteilt ```{r schirmanteil} format(round(jungbestflant %>% filter(Land == 'Brandenburg' & Jungbestockung == "Jungbestockung unter Schirm (Verjüngung)" & Kategorie == 'Wald') %>% select(Fläche_jungfl) %>% pull() / jungbestflant %>% filter(Land == 'Brandenburg' & Jungbestockung == "Jungbestockung mit oder ohne Schirm" & Kategorie == 'Wald') %>% select(Fläche_jungfl) %>% pull() * 100,1), big.mark = ".", decimal.mark = ",", scientific = FALSE) ``` ```{r jungbestflant3} format(jungbestflant %>% filter(Land == 'Brandenburg' & Jungbestockung == "Jungbestockung unter Schirm (Verjüngung)" & Kategorie == "Wald") %>% select(Fläche_jungfl) %>% pull() %>% round(1), big.mark = ".", decimal.mark = ",", scientific = FALSE) ``` ```{r jungbestflant2} format(round(jungbestflant %>% filter(Land == 'Brandenburg' & Jungbestockung == "Jungbestockung unter Schirm (Verjüngung)" & Kategorie == "Wald") %>% select(Fläche_jungfl) %>% pull() / jungbestflant %>% filter(Land == 'Brandenburg' & Jungbestockung == "Jungbestockung mit oder ohne Schirm" & Kategorie == "Wald") %>% select(Fläche_jungfl) %>% pull() * 100,1), big.mark = ".", decimal.mark = ",", scientific = FALSE) ``` ```{r jungbestflant1} jungbestflant %>% filter(Land == 'Brandenburg' & Jungbestockung == "Jungbestockung unter Schirm (Verjüngung)" & Kategorie == "Wald") %>% select(Fläche_jungfl) %>% pull() %>% round(1) #format(big.mark = ".", decimal.mark = ",", nsmall=0, scientific = FALSE) ``` ```{r echo=FALSE} # ich weiß immer noch nicht ob prettyNum geeignet ist prettyNum(waldfl_spez_long %>% filter(Land== 'Brandenburg' & Kategorie == 'Blöße') %>% select(Fläche) %>% pull(), digits = 3, big.mark = ".", decimal.mark = ",", scientific = FALSE) ```