Skip to content
Snippets Groups Projects
BWI2022_PK20241014.qmd 88.82 KiB
---
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%"}
![Artikelausschnitt von
<https://www.berliner-zeitung.de/gesundheit-oekologie/inventur-im-zeichen-des-klimawandels-der-deutsche-wald-wird-gezaehlt-li.153920>](images/Screenshot_20241001_232551_ArtikelBZ.png)
:::
:::::

## 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