-
Wiebke Torsten authoredWiebke Torsten authored
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%"}

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