Skip to content
Snippets Groups Projects
librarys-datimport.qmd 54.3 KiB
Newer Older
Wiebke Torsten's avatar
Wiebke Torsten committed
  replace_na(list(Nutzung = 0))
```


Wiebke Torsten's avatar
Wiebke Torsten committed
### Abgang ideell
Wiebke Torsten's avatar
Wiebke Torsten committed
ausg_best_land_bagr_22 <- abgang_nutz$ausg_best_land_bagr_22 %>%
  pivot_longer(cols = -c(Land, Einheit),
Wiebke Torsten's avatar
Wiebke Torsten committed
               names_to = "Baumartengruppe",
               values_to = "Vorratausgeschieden")
# war ausgesbest
Wiebke Torsten's avatar
Wiebke Torsten committed
### Abgang real
```{r}
ausg_bestreell_land_bagr_22 <- abgang_nutz$ausg_bestreell_land_bagr_22 %>%
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Baumartengruppe",
               values_to = "Vorratausgeschieden")
```


Wiebke Torsten's avatar
Wiebke Torsten committed
### Abgangsgrund

```{r}
abgangsgrund <- abgang_nutz$abgangsgrund_bb_bagr_22 %>%
  pivot_longer(cols = -c(Abgangsgrund, Einheit),
               names_to = "Ba_Gruppe",
               values_to = "Vorrat") %>%
  mutate(Vorrat = replace_na(Vorrat, 0)) # Ersetzt NA in der Spalte Vorrat durch 0

```

Wiebke Torsten's avatar
Wiebke Torsten committed
### abgang_bb_grund_bagr_kqm
```{r}
abgang_bb_grund_bagr_kqm <- abgang_nutz$abgang_bb_grund_bagr_kqm %>%
  pivot_longer(cols = -c(Abgangsgrund, Einheit),
               names_to = "Baumartengruppe",
               values_to = "Vorrat") %>%
  replace_na(list(Vorrat = 0))

abgang_bb_grund_bagr_kqm <- abgang_bb_grund_bagr_kqm %>%
  group_by(Baumartengruppe) %>%  # Gruppiere nach Baumartengruppe
  mutate(
    Gesamt_vorrat_baumart = sum(Vorrat[Abgangsgrund == "alle Abgangsgründe"], na.rm = TRUE),  # Summe aller Abgangsgründe für diese Baumartengruppe
    Anteil = (Vorrat / Gesamt_vorrat_baumart) * 100  # Berechne den Anteil pro Abgangsgrund
  ) %>%
  ungroup() %>%
  select(-Gesamt_vorrat_baumart)  # Entferne die temporäre Spalte, wenn sie nicht mehr benötigt wird

```

### abgang_bb_hbst_grund_bagr_kqm
```{r}
abgang_bb_hbst_grund_bagr_kqm <- abgang_nutz$abgang_bb_hbst_grund_bagr_kqm %>%
  pivot_longer(cols = -c(Abgangsgrund, Einheit),
               names_to = "Baumartengruppe",
               values_to = "Vorrat") %>%
  replace_na(list(Vorrat = 0))

```


Wiebke Torsten's avatar
Wiebke Torsten committed
### Nutzung

```{r}
nutz_land_qm_ha_ideell <- abgang_nutz$nutz_land_qm_ha_ideell %>% 
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Baumartengruppe",
               values_to = "Nutzung") %>%
  replace_na(list(Nutzung = 0))

```

Wiebke Torsten's avatar
Wiebke Torsten committed
## Struktur

### Waldaufbau

```{r}
stuktbeim_sheet_names <- excel_sheets("../data/strukt_beim_besttyp.xlsx")
struktbeim <- lapply(stuktbeim_sheet_names, function(sheet) {
  read_excel("../data/strukt_beim_besttyp.xlsx", sheet = sheet, skip = 5, na = "NaN")
})
names(struktbeim) <- stuktbeim_sheet_names
```

### Waldaufbauveränderung

```{r}
ver_stuktbeim_sheet_names <- excel_sheets("../data/ver_strukt_beim_besttyp.xlsx")
ver_struktbeim <- lapply(ver_stuktbeim_sheet_names, function(sheet) {
  read_excel("../data/ver_strukt_beim_besttyp.xlsx", sheet = sheet, skip = 5, na = "NaN")
})
names(ver_struktbeim) <- ver_stuktbeim_sheet_names
```

Wiebke Torsten's avatar
Wiebke Torsten committed

#### ver_bestyp_eig_bb_ha
```{r}
ver_bestyp_eig_bb_ha <- ver_struktbeim$ver_bestyp_eig_bb_ha %>%
  pivot_longer(cols = -c(Eigentumsart, Einheit),
               names_to = "Bestockungstyp",
               values_to = "Waldflächenänderung") %>%
  replace_na(list(Waldflächenänderung = 0))
```


#### bestyp_eig_bb_ha
```{r}
bestyp_eig_bb_ha <- struktbeim$bestyp_eig_bb_ha %>%
  pivot_longer(cols = -c(Eigentumsart, Einheit),
               names_to = "Bestockungstyp",
               values_to = "Waldfläche") %>%
  replace_na(list(Waldfläche = 0))
```

Wiebke Torsten's avatar
Wiebke Torsten committed
#### Land-Bestockungsaufbau ha-proz

```{r}
# Ergebnistabellen zusammenführen und neue Datenzeile "mehrschichtig" aus Summe hinzufügen
land_bestaufbau <- 
  struktbeim$land_bestaufbau_ha %>% 
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Bestockungsaufbau",
               values_to = "Fläche") %>% 
  inner_join(
    struktbeim$land_bestaufbau_proz %>% 
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Bestockungsaufbau",
               values_to = "Anteil"), by = c("Land", "Bestockungsaufbau")) %>%
  filter(Bestockungsaufbau %in% c("zweischichtig", "mehrschichtig oder plenterartig")) %>%
  group_by(Land, Einheit.x, Einheit.y) %>%
  summarise(
    Bestockungsaufbau = "mehrschichtig",
    Fläche = sum(Fläche),
    Anteil = sum(Anteil),
    .groups = "drop"
  ) %>%
  bind_rows(struktbeim$land_bestaufbau_ha %>% 
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Bestockungsaufbau",
               values_to = "Fläche") %>% 
  inner_join(
    struktbeim$land_bestaufbau_proz %>% 
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Bestockungsaufbau",
               values_to = "Anteil"), by = c("Land", "Bestockungsaufbau"))
  )
```

#### Waldtyp-Bestockungsaufbau ha-proz
waldtyp_bestaufbau_bb_ha_proz_ver <- struktbeim$waldtyp_bestaufbau_bb_ha %>% 
  pivot_longer(cols = -c("Laub-/Nadel-Waldtyp", Einheit),
               names_to = "Bestockungsaufbau",
               values_to = "Fläche") %>% 
  inner_join(
    struktbeim$waldtyp_bestaufbau_bb_proz %>% 
  pivot_longer(cols = -c("Laub-/Nadel-Waldtyp", Einheit),
               names_to = "Bestockungsaufbau",
               values_to = "Anteil"), by = c("Laub-/Nadel-Waldtyp","Bestockungsaufbau")) %>%
  inner_join(ver_struktbeim$ver_waldtyp_bestaufbau_bb_ha %>%
              pivot_longer(cols = -c("Laub-/Nadel-Waldtyp", Einheit),
               names_to = "Bestockungsaufbau",
               values_to = "Veränderung"), by = c("Laub-/Nadel-Waldtyp","Bestockungsaufbau"))
Wiebke Torsten's avatar
Wiebke Torsten committed
#### ver-Land-Bestockungsaufbau ha-proz

```{r}
ver_land_bestaufbau_ha <- 
  ver_struktbeim$ver_land_bestaufbau_ha %>% 
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Bestockungsaufbau",
               values_to = "Fläche") %>%
  filter(Bestockungsaufbau %in% c("zweischichtig", "mehrschichtig oder plenterartig")) %>%
  group_by(Land, Einheit) %>%
  summarise(
    Bestockungsaufbau = "mehrschichtig",
    Fläche = sum(Fläche),
    .groups = "drop"
  ) %>%
  bind_rows(ver_struktbeim$ver_land_bestaufbau_ha %>% 
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Bestockungsaufbau",
               values_to = "Fläche")
  )
```


### Verjüngung
Wiebke Torsten's avatar
Wiebke Torsten committed
# Excel-Datei einlesen und NaN-Werte als "nan" behandeln
# Namen der Blätter automatisch auslesen
Wiebke Torsten's avatar
Wiebke Torsten committed
strukt_sheet_names <- excel_sheets("../data/struktur_verj.xlsx")
struktjung <- lapply(strukt_sheet_names, function(sheet) {
  read_excel("../data/struktur_verj.xlsx", sheet = sheet, skip = 5, na = "NaN")
Wiebke Torsten's avatar
Wiebke Torsten committed
})
# Namen der Liste anpassen
Wiebke Torsten's avatar
Wiebke Torsten committed
names(struktjung) <- strukt_sheet_names
Wiebke Torsten's avatar
Wiebke Torsten committed
#### jung_bb_eig_nba_hb
```{r}
jung_bb_eig_nba_hb <- struktjung$jung_bb_eig_nba_hb %>% 
  pivot_longer(cols = -c(Eigentumsart, Einheit),
               names_to = "Baumartengruppe",
               values_to = "Anzahl") %>% 
  mutate(Anzahl = replace_na(Anzahl, 0)) %>% 
  group_by(Eigentumsart) %>%
  mutate(Gesamtanzahl = Anzahl[Baumartengruppe == "alle Baumarten"]) %>%
  ungroup() %>%
  mutate(Anteil = round((Anzahl / Gesamtanzahl) * 100, 2))
```


Wiebke Torsten's avatar
Wiebke Torsten committed
#### Jungbestockungsfläche

```{r}
jungbestfl <- struktjung$verj_ha %>% 
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Jungbestockung",
               values_to = "Fläche") %>%
  replace_na(list(Fläche = 0))
jungbestfl
```

Wiebke Torsten's avatar
Wiebke Torsten committed
#### Jungbestockungsanteil
Wiebke Torsten's avatar
Wiebke Torsten committed

```{r}
# Anteil der Fläche an der Gesamtfläche Wald+Nichtwald [%] nach Land und Bestockungsschicht der Jungbestockung
Wiebke Torsten's avatar
Wiebke Torsten committed
jungbestant <- struktjung$verj_anteil %>% 
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Jungbestockung",
               values_to = "Landesanteil") %>%
Wiebke Torsten's avatar
Wiebke Torsten committed
  replace_na(list(Anteil = 0))
jungbestant
#### Jungbestandsfläche join Waldfläche und Landesflächenanteil

```{r}
jungbestflant <- jungbestfl %>% 
  inner_join(waldfl_spez_long, by = "Land", suffix = c("_jungfl", "_waldfl")) %>% 
  filter(!Kategorie %in% c("Blöße", "Nichtholzboden")) %>%
  mutate(Waldflächenanteil = round((Fläche_jungfl / Fläche_waldfl) * 100, 2)) %>%
  inner_join(jungbestant, by = c("Land", "Jungbestockung")) %>%
  select(Land, Jungbestockung, Fläche_jungfl, Kategorie, Fläche_waldfl, Waldflächenanteil, Landesanteil)
```

```{r bb_jungbest_22, include=FALSE}
# Daten vorbereiten
# Baumartenanteile Jungbestockung Gesamtwald!
jungbest_ba_22_long <- struktjung$bb_jungbest_art_22 %>% 
Wiebke Torsten's avatar
Wiebke Torsten committed
    pivot_longer(cols = -c(Einheit, Verjüngungsart), 
               names_to  = "Baumartengruppe", 
               values_to = "Waldfläche") %>% 
  replace_na(list(Waldfläche = 0))
Wiebke Torsten's avatar
Wiebke Torsten committed

#### Verjüngungspflanzen pro Hektar

```{r}
jung_ba_22 <- struktjung$jung_ba_22 %>%
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Baumartengruppe",
               values_to = "Anzahl")
```

Wiebke Torsten's avatar
Wiebke Torsten committed
#### Verjüngungskreis - Verbissprozent Baumarten

```{r}
nproz_verb_ba_bb <- struktjung$jung_nproz_verb_ba_bb %>%
  pivot_longer(cols = -c(Baumartengruppe,Einheit, "mit oder ohne Verbiss"),
Wiebke Torsten's avatar
Wiebke Torsten committed
               names_to = "Verbissart",
               values_to = "Verbissprozent")

```

#### Verjüngungskreis - Verbissprozent Eigentum

```{r}
jung_bb_eig_proz <- struktjung$jung_bb_eig_proz %>%
  pivot_longer(cols = -c(Eigentumsart,Einheit, "mit oder ohne Verbiss"),
Wiebke Torsten's avatar
Wiebke Torsten committed
               names_to = "Verbissart",
               values_to = "Verbissprozent")

```

#### Verjüngungskreis - nBA pro Hektar

```{r}
jung_nha_verb_ba_bb <- struktjung$jung_nha_verb_ba_bb %>%
  pivot_longer(cols = -c(Baumartengruppe,Einheit, "mit oder ohne Verbiss"),
               names_to = "Verbissart",
               values_to = "nBA")

```


Wiebke Torsten's avatar
Wiebke Torsten committed
#### Veränderung Jung

```{r}
verjung_sheet_names <- excel_sheets("../data/ver_jung.xlsx")
verjung <- lapply(verjung_sheet_names, function(sheet) {
  read_excel("../data/ver_jung.xlsx", sheet = sheet, skip = 5, na = "NaN")
})
# Namen der Liste anpassen
names(verjung) <- verjung_sheet_names
```

Wiebke Torsten's avatar
Wiebke Torsten committed
##### Veränderung Jungbestockung

```{r}
ver_waldflindex_jung_bestschicht <- verjung$ver_waldflindex_jung_bestschich %>%
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Jungbestockung",
               values_to = "Indexänderungen") %>%
  replace_na(list(Flächenänderungen = 0))
ver_waldflindex_jung_bestschicht
```


```{r}
ver_jungbestfl <- verjung$ver_waldfl_jung_bestschicht %>%
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Jungbestockung",
               values_to = "Flächenänderungen") %>%
  replace_na(list(Flächenänderungen = 0)) %>% 
  inner_join(ver_waldflindex_jung_bestschicht, by = c("Land", "Jungbestockung"), suffix = c("_ver", "_index")) %>%
  mutate(Veränderungsanteil = Indexänderungen - 100)
ver_jungbestfl
```


```{r bb_ver_jungbest_22, include=FALSE}
# Daten vorbereiten
# Veränderung Baumartenanteile Jungbestockung Gesamtwald!
ver_jungbest_ba_22_long <- verjung$bb_ver_jungbest_art_22 %>% 
  filter(Verjüngungsart == "alle Verjüngungsarten") %>%
  pivot_longer(cols = -c(Einheit, Verjüngungsart, "alle Baumarten"), 
               names_to  = "Baumartengruppe", 
               values_to = "Waldfläche") %>% 
  replace_na(list(Waldfläche = 0))
```
Wiebke Torsten's avatar
Wiebke Torsten committed
## Totholz 
Wiebke Torsten's avatar
Wiebke Torsten committed
### Struktur Totholz

```{r imp_struktur_tot, include=FALSE}
Schmidt Sebastian's avatar
Schmidt Sebastian committed
# Excel-Datei einlesen und NaN-Werte als "nan" behandeln
# Namen der Blätter automatisch auslesen
tot_sheet_names <- excel_sheets("../data/struktur_tot.xlsx")
Schmidt Sebastian's avatar
Schmidt Sebastian committed
tot <- lapply(tot_sheet_names, function(sheet) {
Schmidt Sebastian's avatar
Schmidt Sebastian committed
  read_excel("../data/struktur_tot.xlsx", sheet = sheet, skip = 5, na = c("NaN"))
})
# Namen der Liste anpassen
names(tot) <- tot_sheet_names
Wiebke Torsten's avatar
Wiebke Torsten committed
### Veränderung Totholz

```{r}
ver_tot_sheet_names <- excel_sheets("../data/ver_tot.xlsx")
ver_tot <- lapply(ver_tot_sheet_names, function(sheet) {
  read_excel("../data/ver_tot.xlsx", sheet = sheet, skip = 5, na = c("NaN"))
})
# Namen der Liste anpassen
names(ver_tot) <- ver_tot_sheet_names
```

Wiebke Torsten's avatar
Wiebke Torsten committed
#### tot_bb_eig_bag22

```{r}
tot_bb_eig_bag22 <- tot$tot_bb_eig_bag22 %>% 
  pivot_longer(cols = -c(Eigentumsart, Einheit),
               names_to = "Baumartengruppe",
               values_to = "Totholzvorrat") %>%
  replace_na(list(Totholzvorrat = 0)) %>% 
  mutate(farben = ba_farben[match(Baumartengruppe, names(ba_farben))])
```

#### ver_tot_bb_eig_bag22

```{r}
ver_tot_bb_eig_bag22 <- ver_tot$ver_tot_bb_eig_bag22 %>% 
  pivot_longer(cols = -c(Eigentumsart, Einheit),
               names_to = "Baumartengruppe",
               values_to = "Totholzvorrat") %>%
  replace_na(list(Totholzvorrat = 0)) %>% 
  mutate(farben = ba_farben[match(Baumartengruppe, names(ba_farben))])
```


#### Totholz m³/ha*a Land-Baumartengruppe - reell
```{r}
tot_land_qm_ha_reell <- tot$tot_land_qm_ha_reell %>% 
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Baumartengruppe",
               values_to = "Totholz") %>%
  replace_na(list(Totholz = 0)) %>% 
  mutate(farben = ba_farben[match(Baumartengruppe, names(ba_farben))])
```


Wiebke Torsten's avatar
Wiebke Torsten committed
#### Veränderung Totholz m³/ha*a Land-Baumartengruppe - reell

```{r}
ver_tot_land_qm_ha_reell <- ver_tot$ver_tot_land_qm_ha_reell %>% 
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Baumartengruppe",
               values_to = "Veränderungen")

```


#### Veränderung Waldfläche mit Totholz Index BWI2012=100 Land-Baumartengruppe - reell

```{r}
ver_tot_index_2012_2022 <- ver_tot$ver_tot_index_waldfl_2012_2022 %>% 
  pivot_longer(cols = -c(Land, Einheit),
               names_to = "Baumartengruppe",
               values_to = "Indexänderungen")

```



### Naturnähe, Stammschaden und öko. Baummerkmale {.hidden .unnumbered .unlisted}

```{r imp_naturnaehe, include=FALSE}
# # Excel-Datei einlesen und NaN-Werte als "nan" behandeln
# # Namen der Blätter automatisch auslesen
# naturnaehe_sheet_names <- excel_sheets("../struktur_naturnaehe_schad.xlsx")
# naturnaehe <- lapply(naturnaehe_sheet_names, function(sheet) {
#   read_excel("../struktur_naturnaehe_schad.xlsx", sheet = sheet, skip = 5, na = "NaN")
# })
# # Namen der Liste anpassen
# names(naturnaehe) <- naturnaehe_sheet_names
```

### Zeitpläne

```{r}
# zeitplan_sheet_names <- excel_sheets("../zeitplanung.xlsx")
# zeitplan <- lapply(zeitplan_sheet_names, function(sheet) {
#   read_excel("../zeitplanung.xlsx", sheet = sheet, skip = 5 
#              #,na = ""# "NaN"
#              )
# })
# names(zeitplan) <- zeitplan_sheet_names
```
Wiebke Torsten's avatar
Wiebke Torsten committed
## Weham
### weham_data
```{r}
# Excel-Datei einlesen und NaN-Werte als "nan" behandeln
# Namen der Blätter automatisch auslesen
weham_data_sheetnames <- excel_sheets("../data/weham_data.xlsx")
weham_data <- lapply(weham_data_sheetnames, function(sheet) {
  read_excel("../data/weham_data.xlsx", sheet = sheet, skip = 5, na = "NaN")
})
# Namen der Liste anpassen
names(weham_data) <- weham_data_sheetnames
```


## Steuerungsdaten

```{r}
steuerungsparameter <- weham_data$"Steuerungsparameter"
steuerungsparameter
```


## Durchforstungsmodelle

```{r}
# Daten laden
Wiebke Torsten's avatar
Wiebke Torsten committed
durchforstung <- read.csv("../data/Durchforstung.csv", stringsAsFactors = FALSE, sep = ";")
Wiebke Torsten's avatar
Wiebke Torsten committed
#durchforstung
str(durchforstung)
```