Skip to content
Snippets Groups Projects
librarys-datimport.qmd 48.2 KiB
Newer Older
::: content-hidden
# librarys Farben und Daten {.hidden .unnumbered .unlisted}

```{r librarys, include=FALSE}
library(readxl)
library(ggplot2)
library(treemapify)
library(treemap)
Wiebke Torsten's avatar
Wiebke Torsten committed
library(ggrepel) # um Legenden automatisch zu platzieren
#library(scales) # um Tausendertrennzeichen einzuführen
library(prettyunits) # um Einheiten zu formatieren
library(stats)
library(corrplot)
library(tidyverse)
library(feather) # um Daten zu speichern
library(tidyr)
library(scales)
library(RColorBrewer)  # Für eine breite Palette von Farben
library(patchwork) # um Diagramme nebeneinander darzustellen
library(knitr)
library(flextable)
library(kableExtra)
library(xtable) # für LaTeX-Tabellen
library(quarto)
Wiebke Torsten's avatar
Wiebke Torsten committed
#library(webshot2) # für Screenshots
library(RPostgres) # installation funktionert nachdem via muon libpq-dev installiert wurde 
library(config) # um Datenbankonfiguration zu verstecken
library(todor) # um Todos zu erstellen - siehe RStudio, Addins find active ... todos
Wiebke Torsten's avatar
Wiebke Torsten committed
```{r}
# config.yml ist in faircloud/3-2-bwi/Auswertung/R_bwi/

# Verbindung herstellen
# convwm <- dbConnect(RPostgreSQL::PostgreSQL(),
#                     host="db03.simplex4data.de",
#                     port=5432,
#                     user="twiebke",
#                     dbname="projekt_lfb",
#                     password="rechtshelfeschmerzendamals")
# Konfiguration für eine spezifische Datenbank laden
config <- config::get(file = "config.yml")
db_config <- config$databases$sgdb
consgdb <- DBI::dbConnect(RPostgres::Postgres(),
                 host=db_config$host,
                 port=db_config$port,
                 dbname=db_config$dbname,
                 user=db_config$user,
                 password=db_config$password)
```

Wiebke Torsten's avatar
Wiebke Torsten committed
# Farben

## ba_farben
```{r farben, include=FALSE}
# Benutzerdefinierte Farben für die Layer
ba_farben <- c("Eiche (Quercus)" = "#ffffcc",
               "Eiche" = "#ffffcc",
               "Eichen-Typ"  = "#ffffcc",
               "Buche (Fagus)" = "#ccfe64",
               "Buche" = "#ccfe64",
               "Buchen-Typ" = "#ccfe64",
               "Esche (Fraxinus)" = "#fed976",
               "Eschen-Typ" = "#fed976",
               "Ahorn (Acer)" = "#fd8d3c",
               "sonst. Lb hoher Lebensdauer" = "#fc4e2a",
               "andere Lb hoher Lebensdauer" = "#fc4e2a",
               "Typ sonst. Laubbäume mit hoher Lebensdauer" = "#fc4e2a", 
               "Erle (Alnus)" = "#8c96c6",
               "Erlen-Typ" = "#8c96c6",
               "Birke (Betula)" = "#e0ecf4",
               "Birken-Typ" = "#e0ecf4",
               "sonst. Lb niedriger Lebensdauer" = "#88419d",
               "andere Lb niedriger Lebensdauer" = "#88419d",
               "Typ sonst. Laubbäume mit niedriger Lebensdauer"= "#88419d",
               "alle Laubbäume" = "#ae017e",
               "Fichte (Picea)" = "#7f7f7f",
               "Fichte" = "#7f7f7f",
               "Fichten-Typ"  = "#7f7f7f",
               "Tanne (Abies)" = "#a6bddb",
               "Tanne" = "#a6bddb",
               "Tannen-Typ"  = "#a6bddb",
               "Douglasie (Pseudotsuga)" = "#67a9cf",
               "Douglasie" = "#67a9cf",
               "Douglasien-Typ" = "#67a9cf",
               "Kiefer (Pinus)" = "#e4ce4c", 
               "Kiefer" = "#e4ce4c",
               "Kiefern-Typ"  = "#e4ce4c",
               "Lärche (Larix)" = "#f4a6a4",
               "Lärche" = "#f4a6a4",
               "Lärchen-Typ" = "#f4a6a4",
               "alle Nadelbäume" = "#02818a",
               "Typ mit mehreren gleichrangigen Baumarten" ="#006d2c",
               "Lücke" = "#dcdcdc",
               "Blöße" = "#edf8fb",
               "Nichtholzboden" = "#b2e2e2",
               "Holzboden" = "#66c2a4",
               "bestockter Holzboden" = "#2ca25f",
               "Wald" = "#006d2c",
               "stehend, ganzer Baum" = "goldenrod1",
               "stehend, Bruchstück (Höhe ab 130 cm)" = "goldenrod2",
               "stehend" = "goldenrod3",
               "liegend, ganzer Baum mit Wurzelanlauf" = "darkseagreen1",
               "liegend, Stammstück mit Wurzelanlauf" = "darkseagreen2",
               "liegend, Teilstück ohne Wurzelanlauf" = "darkseagreen3",
               "liegend" = "darkseagreen4",                           
               "Wurzelstock (Höhe < 130 cm)" = "#88419d",
               "Abfuhrrest (aufgeschichtet)" = "#ae017e",
Wiebke Torsten's avatar
Wiebke Torsten committed
               "alle Totholztypen" = "#67a9cf",
               "alle Baumarten" = "#d9d9d9"
)
```

## Eigentumsaten

```{r}
# Definiere eine benutzerdefinierte Farbpalette
farben_fuer_eigentumsarten <- c(
  "alle Eigentumsarten" = "#d9d9d9",
  "Staatswald (Bund)" = "#0a15b4",
  "Staatswald (Land)" = "#5586b4",
  "Körperschaftswald" = "#85aeb4",
  "Privatwald" = "#58aa41"
Wiebke Torsten's avatar
Wiebke Torsten committed
## Schichten
```{r}
schichtfarben <- c(
  "einschichtig" = "#ffffcc",
  "zweischichtig" = "#78c679",
  "mehrschichtig" = "#31a354",
  "mehrschichtig oder plenterartig" = "#006837",
  "alle Arten von Bestockungsaufbau" = "#c2e699"
)

```

Wiebke Torsten's avatar
Wiebke Torsten committed
# Datenimport 

## von Sachgebietsdatenbank consgdb

Wiebke Torsten's avatar
Wiebke Torsten committed
```{r}
Wiebke Torsten's avatar
Wiebke Torsten committed
# 
# qu_trackt_eckenanzahl <-  "select --distinct bftw.anat 
# 	count (distinct bfev.tnr) filter (where bfev.wa between 0 and 5) as ausschreibungstrakte,
# 	COUNT(distinct bfev.tnr) filter (where bfev.wa = 0) as nichtwaldtrakte 	-- Anzahl der Traktnummern mit bfev.wa = 0
# 	,COUNT(distinct bfev.tnr) filter (where bfev.wa between 1 and 5) as waldtrakte	-- Anzahl der Traktnummern mit bfev.wa zwischen 1 und 5
# 	,count(bfev.enr) filter (where bfev.wa between 0 and 5 and bftw.anat between 1901 and 1916) as begutachtungsecken
# 	,count(bfev.enr) filter (where bfev.wa between 0 and 5 and bftw.anat between 1901 and 1911) as ausschreibungsecke -- siehe bwi_meta.k3_login
# 	,count(bfev.enr) filter (where bfev.wa between 0 and 5 and bftw.anat between 1912 and 1916) as lfebearbeitungsecke
# 	,count(bfev.enr) filter (where bfev.wa between 1 and 5) as waldecke
# from
# 	bwi_2022.b3f_ecke_vorkl bfev
# 	--join bwi_admin.lospunkt l on l.tnr = bfev.tnr
# join bwi_2022.b3f_tnr_vorkl bftv on 	bftv.tnr = bfev.tnr
# join bwi_2022.b3f_tnr_work bftw on	bftw.tnr = bfev.tnr
# where
# 	bftv.trstatus between 1 and 3 -- waldtrakte oder ungewiss = x3_tr_status icode=3
# 	and bftw.anat between 1901 and 1916;"
# trackt_eckenanzahl <- dbGetQuery(consgdb, qu_trackt_eckenanzahl) 
# trackt_eckenanzahl
# # Speichere das Ergebnis als RDS-Datei
# saveRDS(trackt_eckenanzahl, "../data/trackt_eckenanzahl.rds")
# Lade die RDS-Datei
trackt_eckenanzahl <- readRDS("../data/trackt_eckenanzahl.rds")
# ist als View erstellt
# v_top_wzp <- dbGetQuery(consgdb, 
#           "SELECT *
#           FROM bwi_2022.v_top_wzp;"
#           ) 
# v_top_wzp
# # # Speichere das Ergebnis als RDS-Datei
# saveRDS(v_top_wzp, "../data/v_top_wzp.rds")
# Lade die RDS-Datei
v_top_wzp <- readRDS("../data/v_top_wzp.rds")
Wiebke Torsten's avatar
Wiebke Torsten committed
##### Factor für AKL und BHD
Wiebke Torsten's avatar
Wiebke Torsten committed
```{r}
# Definieren der Levels für Altersklassen
altersklassen_levels <- c("1 - 20 Jahre", "21 - 40 Jahre", "41 - 60 Jahre", 
                          "61 - 80 Jahre", "81 - 100 Jahre", "101 - 120 Jahre", 
                          "121 - 140 Jahre", "141 - 160 Jahre", "> 160 Jahre")

# Labels für die Altersklassen (optional, für schönere Achsenbeschriftungen)
altersklassen_labels <- c("I\n1 - 20 Jahre", "II\n21 - 40 Jahre", "III\n41 - 60 Jahre", 
                          "IV\n61 - 80 Jahre", "V\n81 - 100 Jahre", "VI\n101 - 120 Jahre", 
                          "VII\n121 - 140 Jahre", "VIII\n141 - 160 Jahre", "IX\n> 160 Jahre")

# Optional: Definieren der Levels für Brusthöhendurchmesser
Loading
Loading full blame...