---
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)
```