Ziel dieses 12 Stunden Mikro-Forschungsprojektes, im Rahmen des HACK AND HARVEST 2021, war die Berechnung der elementaren CO2-Bilanz für Konstanz, die Differenz von CO2-Erzeugung von Konstanzer:innen durch Atmung auf der einen und der CO2-Aufnahme der konstanzer Vegetation auf der anderen Seite. Beschränkt habe ich mich hier, aufgrund der Datenlage, auf erwachsene Konstanzer einerseits und Bäume der Stadt Konstanz andererseits.

Sys.setlocale("LC_ALL","de_DE")
## [1] "de_DE/de_DE/de_DE/C/de_DE/en_US.UTF-8"
rm(list=ls())
library(forcats)
library(ggplot2)
library(ggmap)
library(dplyr)
library(kableExtra)
library(osmdata)
library(tidyr)

Explorative Datenanalyse

Bäume der Sadt Konstanz

raw <- read.csv('data/KN_Baumkataster_2020.csv', strip.white=TRUE) %>%
    rename(x = X.X) %>%
    rename(y = Y) %>%
    rename(hoehe = hoeheM) %>%
    rename(kronendurchmesser = kronendurchmesserM) %>%
    rename(stammumfang = stammumfangCM) %>%
    rename(name_de = Name_dt) %>%
    rename(name_la = Name_lat) %>%
    rename(standort = location)

Das Baumkataster der Stadt Konstanzer enthält in Summe 15711 Bäume.

Gattungen

Das Baumkataster der Stadt Konstanz enthält 68 verschiedene Gattungen, 131 Einträge haben hier keinen gültigen Wert.

N <- 50

data <- kataster %>%
  filter(!is.na(gattung)) %>%
  group_by(gattung) %>%
  summarize(n = n()) %>%
  filter(n > N) %>%
  arrange(desc(n))

ggplot(data) +
    geom_bar(aes(x=reorder(gattung, -n), y=n), stat = "identity") +
    labs(title=paste0('Bäume der Stadt Konstanz (Gattungen), Anzahl > ', N), x='Gattung', y='Anzahl Bäume') +
    theme_bw() +
    theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))

Abbildung: Verteilung der Bäume der Stadt Konstanz für Gattungen mit mehr als 50 Bäumen.

N <- 10

#bb <- c(9.08, 47.65, 9.22, 47.75)
#map <- get_stamenmap(bb, maptype="terrain", zoom=14)

bb <- c(9.12, 47.65, 9.22, 47.70)
map <- get_stamenmap(bb, maptype="terrain", zoom=15)

df <- kataster %>% 
    filter(!is.na(gattung)) %>%
    filter(x >= bb[1] & x <= bb[3]) %>%
    filter(y >= bb[2] & y <= bb[4]) %>%
    group_by(gattung) %>%
    summarize(n=n()) %>%
    arrange(desc(n)) %>%
    top_n(N)

data <- kataster %>% 
  filter(gattung %in% df$gattung) %>%
  filter(x >= bb[1] & x <= bb[3]) %>%
  filter(y >= bb[2] & y <= bb[4])

ggmap(map) +
    geom_point(data=data, aes(x=x, y=y, color=gattung), size=0.5, alpha=0.25) +
    labs(title=paste0('Bäume der Stadt Konstanz (Gattungen, Top ', N, ')')) +
    theme_void() +
    theme(legend.position="bottom") +
    scale_color_discrete(name='Gattung') +
    guides(color=guide_legend(override.aes=list(alpha=1, size=1)))