Dieses Dokument beinhaltet die Erstellung der Abbildungen für den Bericht BfG-2138:
Weber, A., Horchler, P., Schleuter, M., Terwei, A., (2023): Ökomorphologische Potenziale und Defizite der Elbauen. Bundesanstalt für Gewässerkunde, Koblenz. Bericht BfG-2138, 44 Seiten. DOI: 10.5675/BfG-2138.
Die Grundlagendaten für die Abbildungen wurden vorab mittels des R-Paketes elbe1d erstellt.
Vorbereitung
# load libraries
library(DBI)
library(RPostgreSQL)
library(elbe1d)
# get credentials
credentials <- elbe1d:::credentials("~/DB_credentials_elbe1d")
# access the DB
db <- DBI::dbConnect(RPostgreSQL::PostgreSQL(),
host = credentials["host"],
dbname = credentials["dbname"],
user = credentials["user"],
password = credentials["password"],
port = credentials["port"])
# get available params
params <- dbGetQuery(db, "SELECT DISTINCT param FROM data ORDER BY param ASC")$param
# query crosstabed data
df.data <- dbGetQuery(db, paste0(
'SELECT * FROM crosstab(
\'SELECT
"data"."idx", "data"."param", "data"."value"
FROM
public."data"
ORDER BY 1,2\',
\'SELECT DISTINCT
"data"."param"
FROM
public."data"
ORDER BY 1\')
AS
("idx" integer, \"',
paste0(params, collapse="\" double precision, \""),
'\" double precision );'))
# rename columns
names(df.data)[which(names(df.data) == "idx")] <- "id"
names(df.data)[which(names(df.data) == "AreaTotal")] <- "n_cell"
names(df.data)[which(names(df.data) == "AreaBelowMQ")] <- "n_aquatic"
names(df.data)[which(names(df.data) == "DepthMax")] <- "depth_max"
names(df.data)[which(names(df.data) == "DepthMean")] <- "depth_mean"
names(df.data)[which(names(df.data) == "DepthSd")] <- "depth_std"
names(df.data)[which(names(df.data) == "Flood3Mean")] <- "ufd_mean_mean"
names(df.data)[which(names(df.data) == "Flood3Sd")] <- "ufd_mean_std"
names(df.data)[which(names(df.data) == "VegType_vtHFD")] <- "oHHA"
names(df.data)[which(names(df.data) == "VegType_vtHFM")] <- "mHHA"
names(df.data)[which(names(df.data) == "VegType_vtHFW")] <- "uHHA"
names(df.data)[which(names(df.data) == "VegType_vtWF")] <- "WHA"
names(df.data)[which(names(df.data) == "VegType_vtWS")] <- "WHG"
names(df.data)[which(names(df.data) == "VegType_vtRE")] <- "Roe"
names(df.data)[which(names(df.data) == "VegType_vtPF")] <- "Pio"
names(df.data)[which(names(df.data) == "VegType_vtWA")] <- "vegl"
# append missing columns
df.data$station <- sf.afe_csa$station[df.data$id]
df.data$station_int <- sf.afe_csa$station_int[df.data$id]
df.data$station_5km <- trunc(df.data$station / 5) * 5
df.data$station_10km <- trunc(df.data$station / 10) * 10
df.data$station_20km <- trunc(df.data$station / 20) * 20
df.data$station_50km <- trunc(df.data$station / 50) * 50
df.data$station_100km <- trunc(df.data$station / 100) * 100
df.data$n_terrestrial <- df.data$n_cell - df.data$n_aquatic
df.data$n_dem_gr_mnq <- df.data$n_cell - df.data$PbelowMNQ * df.data$n_cell
df.data$n_dem_gr_hq10 <- df.data$n_cell - df.data$PbelowHQ10 * df.data$n_cell
df.data$n_dem_gr_mhq <- df.data$n_cell - df.data$PbelowMHQ * df.data$n_cell
df.data$n_dem_gr_hq100 <- 0
df.data$n_pioneer <- df.data$n_cell - df.data$PbelowMNQ * df.data$n_cell -
df.data$n_terrestrial
df.data$HHZ <- df.data$oHHA + df.data$mHHA
df.data$WHZ <- df.data$WHA + df.data$WHG
df.data$RoPi <- df.data$Roe + df.data$Pio
df.data$UebWHZ <- df.data$uHHA + df.data$WHA + df.data$WHG
df.data$PioVegl <- df.data$Roe + df.data$Pio + df.data$vegl
df.data$dyn <- df.data$uHHA + df.data$WHZ + df.data$RoPi
params_sel <- c("id",
"station", "station_int", "station_5km", "station_10km",
"station_20km", "station_50km", "station_100km",
"n_cell", "n_aquatic", "n_terrestrial",
"n_dem_gr_mnq", "n_dem_gr_hq10", "n_dem_gr_mhq", "n_dem_gr_hq100",
"depth_max", "depth_mean", "depth_std",
"ufd_mean_mean", "ufd_mean_std",
"oHHA", "mHHA", "uHHA", "WHA", "WHG", "Roe", "Pio", "vegl")
# export to csv
if (! file.exists("../vignettes/df.data.strok.csv")) {
write.table(df.data[, params_sel], file = "../vignettes/df.data.strok.csv",
sep = ";", dec = ",", row.names = FALSE)
}
# close db connect
dbDisconnect(db)## [1] TRUE
# azb
df.azb <- read.table("../data-raw/azb/df.azb.csv", sep = ";", dec = ",",
header = TRUE)Allgemeine Analysen mit Bezug zu FLYS 3-Wasserspiegellagen
par(mar=c(5,5,1,1), mfrow=c(2,2))
## Fluss
boxplot(n_aquatic/10000 ~ station_10km, data = df.data, las = 3, xlab = "",
ylab = "Fläche < MQ [ha]", col = "grey")
## Aue
boxplot(n_terrestrial/10000 ~ station_10km, data = df.data, las = 3, xlab = "",
ylab = "Fläche > MQ [ha]", col = "grey")
## Trockene Zone
boxplot(n_dem_gr_mhq/10000 ~ station_10km, data = df.data, las = 3, xlab = "",
ylab = "Fläche > MHQ [ha]", col = "grey")
## Wechselwasserzone
boxplot(n_pioneer/10000 ~ station_10km, data = df.data, las = 3, xlab = "",
ylab = "Fläche MNQ bis MQ [ha]", col = "grey")
par(mar=c(5,5,1,1), mfrow=c(2,2))
## Fluss
boxplot(n_aquatic/n_cell * 100 ~ station_10km, data = df.data, las = 3, xlab = "",
ylab = "Flächenanteil < MQ [%]", col = "grey")
## Aue
boxplot(n_terrestrial/n_cell * 100 ~ station_10km, data = df.data, las = 3, xlab = "",
ylab = "Flächenanteil > MQ [%]", col = "grey")
## Trockene Zone
boxplot(n_dem_gr_mhq/n_cell * 100 ~ station_10km, data = df.data, las = 3, xlab = "",
ylab = "Flächenanteil > MHQ [%]", col = "grey")
## Wechselwasserzone
boxplot(n_pioneer/n_cell * 100 ~ station_10km, data = df.data, las = 3, xlab = "",
ylab = "Flächenanteil MNQ bis MQ [%]", col = "grey")
Auenfläche
par(mar=c(6,4,4,1))
plot(df.data$n_cell/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5, main = ifelse(main, "Absolute Auenfläche inkl. Fluss", NA),
ylab = "[ha]", xlab = "Elbe-Kilometer", ylim = c(0, 100))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
af.gm <- filter(df.data$n_cell/10000, rep(1/100, 100))
lines(af.gm ~ df.data$station, col = "blue", lwd = 1.5)
Auenfläche ohne Fluss (>= MQ)
par(mar=c(6,4,4,1))
plot(df.data$n_terrestrial/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5, main = ifelse(main, "absolute, 'trockene' Auenfläche", NA),
ylab = "[ha]", xlab = "Elbe-Kilometer", ylim = c(0, 100))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$n_terrestrial/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$n_terrestrial/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der 'trockenen' Fläche an der rezenten Aue", NA),
ylab = "[%]", xlab = "Elbe-Kilometer", ylim = c(0, 140))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 1.4, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 1.4, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 1.4, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 1.4, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 1.4, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 1.4, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 1.4, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 1.4, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 1.4, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$n_terrestrial/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
Wasserfläche (< MQ)
par(mar=c(6,4,4,1))
plot(df.data$n_aquatic/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5, main = ifelse(main, "absolute Wasserfläche", NA),
ylab = "[ha]", xlab = "Elbe-Kilometer", ylim = c(0, 40))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.4, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.4, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.4, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.4, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.4, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.4, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.4, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.4, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.4, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$n_aquatic/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$n_aquatic/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der Wasserfläche an der rezenten Aue", NA),
ylab = "[%]", xlab = "Elbe-Kilometer", ylim = c(0, 100))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$n_aquatic/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
Pionierzone (> MNQ & < MQ)
par(mar=c(6,4,4,1))
plot(df.data$n_pioneer/10000 ~ df.data$station, type = "l", col="grey", lwd=0.5,
main = ifelse(main, "absolute Fläche der Pionierzone (>= W(MNQ) bis < W(MQ))", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 40))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.4, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.4, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.4, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.4, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.4, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.4, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.4, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.4, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.4, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$n_pioneer/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$n_pioneer/df.data$n_cell * 100 ~ df.data$station, type = "l",
col="grey", lwd=0.5,
main = ifelse(main, "Anteil der Pionierzone (>= W(MNQ) bis < W(MQ)) an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 70))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.7, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.7, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.7, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.7, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.7, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.7, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.7, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.7, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.7, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$n_pioneer/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
Trockene Zone (>= MHQ):
par(mar=c(6,4,4,1))
plot(df.data$n_dem_gr_mhq/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5, main = ifelse(main, "absolute Fläche der 'trockenen' Zone (>= W(MHQ))", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 60))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.6, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.6, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.6, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.6, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.6, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.6, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.6, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.6, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.6, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$n_dem_gr_mhq/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$n_dem_gr_mhq/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der 'trockenen' Zone (>= W(MHQ)) an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 100))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$n_dem_gr_mhq/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
Wassertiefe bei MQ
Standardabweichung der Tiefe
par(mar=c(6,4,4,1))
plot(df.data$depth_std ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Standardabweichung der Wassertiefe bei MQ", NA),
ylab = "", xlab="Elbe-Kilometer", ylim = c(0, 3))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.03, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.03, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.03, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.03, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.03, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.03, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.03, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.03, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.03, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$depth_std, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
Mittelwert der Tiefe
par(mar=c(6,4,4,1))
plot(df.data$depth_mean ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Mittelwert der Wassertiefe bei MQ", NA),
ylab = "[m]", xlab="Elbe-Kilometer", ylim = c(0, 6))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.06, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.06, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.06, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.06, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.06, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.06, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.06, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.06, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.06, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$depth_mean, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
Überflutungsdauern (1990 - 2019)
Mittelwert der langjährig gemittelten Überflutungsdauern
par(mar=c(6,4,4,1))
plot(df.data$ufd_mean_mean ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Mittelwert der Überflutungsdauer", NA),
ylab = "[d/a]", xlab="Elbe-Kilometer", ylim = c(0, 380))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 3.8, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 3.8, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 3.8, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 3.8, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 3.8, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 3.8, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 3.8, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 3.8, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 3.8, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$ufd_mean_mean, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
Standardabweichung der langjährig gemittelten Überflutungsdauern
par(mar=c(6,4,4,1))
plot(df.data$ufd_mean_std ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Standardabweichung der Mittelwerte der Überflutungsdauer", NA),
ylab = "", xlab="Elbe-Kilometer", ylim = c(0, 240))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 2.4, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 2.4, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 2.4, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 2.4, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 2.4, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 2.4, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 2.4, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 2.4, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 2.4, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$ufd_mean_std, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
PNV-Anteile
Total
# colors <- c("sienna4", "tan3", "tan1", "khaki", "darkseagreen2", "aquamarine",
# "aquamarine4", "blue4")
colors <- hydflood::df.pnv$html
names <- c("Obere Hartholzzone", "Mittlere Hartholzzone", "Untere Hartholzzone",
"Weichholzwaldzzone", "Weichholzgebüschzone", "Röhrichtzone",
"Uferpionierzone", "vegetationslos")
PNV <- c(sum(df.data$oHHA, na.rm = TRUE), sum(df.data$mHHA, na.rm = TRUE),
sum(df.data$uHHA, na.rm = TRUE), sum(df.data$WHA, na.rm = TRUE),
sum(df.data$WHG, na.rm = TRUE), sum(df.data$Roe, na.rm = TRUE),
sum(df.data$Pio, na.rm = TRUE), sum(df.data$vegl, na.rm = TRUE))
pnv20 <- aggregate(df.data[, c("oHHA", "mHHA", "uHHA", "WHA", "WHG", "Roe",
"Pio", "vegl")], by = list(df.data$station_20km),
FUN = sum)
pnv20 <- na.omit(pnv20)
pie(PNV, col = colors, labels = names)
20 km Abschnitte
layout(cbind(1,2), widths = c(7,1.5))
par(mar=c(4,4,1,1))
barplot(t(as.matrix(pnv20[2:9]/10000)), beside = FALSE, col = colors,
ylab = "Fläche [ha]", names = pnv20[ ,1], las = 3,
xlab = "Elbe-Kilometer")
par(mar=c(0, 0, 0, 0))
plot.new()
legend("left", legend = rev(names), bty = "n", ncol = 1, cex = 1, pt.cex = 1.5,
pch = 19, col = rev(colors))
layout(cbind(1,2), widths = c(7,1.5))
par(mar=c(4,4,1,1))
barplot(t(as.matrix(pnv20[2:9] / rowSums(pnv20[2:9]) * 100)), beside = FALSE,
col = colors, ylab = "[%]", names = pnv20[ ,1], las = 3,
xlab = "Elbe-Kilometer")
par(mar=c(0, 0, 0, 0))
plot.new()
legend("left", legend = rev(names), bty = "n", ncol = 1, cex = 1, pt.cex = 1.5,
pch = 19, col = rev(colors))
Einzelne PNV-Typen
obere Hartholzzone
par(mar=c(6,4,4,1))
plot(df.data$oHHA/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5,
main = ifelse(main, "absolute Fläche der oberen Hartholzzone", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 60))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.6, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.6, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.6, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.6, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.6, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.6, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.6, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.6, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.6, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$oHHA/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$oHHA/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der oberen Hartholzzone an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 100))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$oHHA/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
mittlere Hartholzzone
par(mar=c(6,4,4,1))
plot(df.data$mHHA/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5,
main = ifelse(main, "absolute Fläche der mittleren Hartholzzone", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 80))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.8, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.8, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.8, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.8, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.8, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.8, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.8, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.8, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.8, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$mHHA/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$mHHA/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der mittleren Hartholzzone an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 120))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 1.2, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 1.2, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 1.2, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 1.2, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 1.2, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 1.2, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 1.2, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 1.2, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 1.2, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$mHHA/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
untere Hartholzzone
par(mar=c(6,4,4,1))
plot(df.data$uHHA/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5, main = ifelse(main, "absolute Fläche der unteren Hartholzzone", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 30))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.3, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.3, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.3, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.3, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.3, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.3, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.3, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.3, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.3, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$uHHA/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$uHHA/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der unteren Hartholzzone an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 60))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.6, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.6, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.6, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.6, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.6, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.6, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.6, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.6, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.6, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$uHHA/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
Weichholzwaldzone
par(mar=c(6,4,4,1))
plot(df.data$WHA/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5, main = ifelse(main, "absolute Fläche der Weichholzwaldzone", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 25))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.25, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.25, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.25, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.25, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.25, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.25, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.25, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.25, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.25, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$WHA/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$WHA/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der Weichholzwaldzone an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 70))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.7, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.7, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.7, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.7, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.7, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.7, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.7, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.7, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.7, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$WHA/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
Weichholzgebüschzone
par(mar=c(6,4,4,1))
plot(df.data$WHG/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5, main = ifelse(main, "absolute Fläche der Weichholzgebüschzone", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 30))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.3, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.3, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.3, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.3, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.3, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.3, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.3, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.3, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.3, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$WHG/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$WHG/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der Weichholzgebüschzone an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 50))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.5, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.5, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.5, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.5, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.5, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.5, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.5, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.5, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.5, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$WHG/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
Röhrichtzone
par(mar=c(6,4,4,1))
plot(df.data$Roe/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5, main = ifelse(main, "absolute Fläche der Röhrichtzone", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 10))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.1, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.1, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.1, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.1, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.1, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.1, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.1, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.1, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.1, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$Roe/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$Roe/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der Röhrichtzone an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 40))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.4, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.4, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.4, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.4, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.4, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.4, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.4, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.4, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.4, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$Roe/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
Uferpionierzone
par(mar=c(6,4,4,1))
plot(df.data$Pio/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5, main = ifelse(main, "absolute Fläche der Uferpionierzone", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 15))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.15, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.15, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.15, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.15, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.15, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.15, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.15, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.15, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.15, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$Pio/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$Pio/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der Uferpionierzone an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 50))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.5, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.5, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.5, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.5, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.5, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.5, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.5, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.5, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.5, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$Pio/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
vegetationslos
par(mar=c(6,4,4,1))
plot(df.data$vegl/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5, main = ifelse(main, "absolute Fläche ohne Vegetation", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 12))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.12, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.12, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.12, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.12, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.12, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.12, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.12, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.12, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.12, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$vegl/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$vegl/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der vegetationslosen Fläche an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 100))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$vegl/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
PNV-Typen aggregiert
PNV <- c(sum(df.data$HHZ, na.rm = TRUE), sum(df.data$uHHA, na.rm = TRUE),
sum(df.data$WHZ, na.rm = TRUE), sum(df.data$RoPi, na.rm = TRUE),
sum(df.data$vegl, na.rm = TRUE))
colors <- c("darkgreen", "green", "aquamarine", "hotpink", "grey")
names <- c("Hartholzzone", "Übergang", "Weichholzzone", "Pionierzone",
"vegetationslos")
pie(PNV, col = colors, labels = names)
# colors <- c("sienna4", "darkseagreen2", "blue4")
colors <- hydflood::df.pnv$html[c(2, 5, 8)]
names <- c("kurz überflutet", "lang überflutet", "sehr lange überflutet")
pnv20 <- aggregate(df.data[, c("HHZ", "UebWHZ", "PioVegl")],
by = list(df.data$station_20km), FUN = sum)
pnv20 <- na.omit(pnv20)
layout(cbind(1,2), widths = c(7,1.5))
par(mar=c(4,4,1,1))
barplot(t(as.matrix(pnv20[2:4]/10000)), beside = FALSE, col = colors,
ylab = "Fläche [ha]", names = pnv20[ ,1], las = 3,
xlab = "Elbe-Kilometer")
par(mar=c(0, 0, 0, 0))
plot.new()
legend("left", legend = rev(names), bty = "n", ncol = 1, cex = 1, pt.cex = 1.5,
pch = 19, col = rev(colors))
layout(cbind(1,2), widths = c(7,1.5))
par(mar=c(4,4,1,1))
barplot(t(as.matrix(pnv20[2:4] / rowSums(pnv20[2:4]) * 100)), beside = FALSE,
col = colors, ylab = "[%]", names = pnv20[ ,1], las = 3,
xlab = "Elbe-Kilometer")
par(mar=c(0, 0, 0, 0))
plot.new()
legend("left", legend = rev(names), bty = "n", ncol = 1, cex = 1, pt.cex = 1.5,
pch = 19, col = rev(colors))
Hartholzzone
par(mar=c(6,4,4,1))
plot(df.data$HHZ/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5,
main = ifelse(main, "absolute Fläche der oberen & mittleren Hartholzzone", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 80))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.8, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.8, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.8, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.8, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.8, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.8, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.8, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.8, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.8, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$HHZ/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$HHZ/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der oberen & mittleren Hartholzzone an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 120))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 1.2, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 1.2, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 1.2, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 1.2, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 1.2, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 1.2, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 1.2, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 1.2, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 1.2, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$HHZ/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
untere Hartholzzone
par(mar=c(6,4,4,1))
plot(df.data$uHHA/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5,
main = ifelse(main, "absolute Fläche der unteren Hartholzzone", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 25))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.25, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.25, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.25, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.25, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.25, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.25, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.25, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.25, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.25, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$uHHA/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$uHHA/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der unteren Hartholzzone an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 50))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.5, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.5, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.5, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.5, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.5, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.5, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.5, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.5, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.5, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$uHHA/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
Weichholzzone
par(mar=c(6,4,4,1))
plot(df.data$WHZ/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5, main = ifelse(main, "absolute Fläche der Weichholzzone", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 50))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.5, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.5, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.5, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.5, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.5, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.5, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.5, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.5, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.5, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$WHZ/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$WHZ/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der Weichholzzone an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 80))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.8, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.8, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.8, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.8, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.8, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.8, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.8, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.8, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.8, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$WHZ/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
Röhricht- und Pionierzone
par(mar=c(6,4,4,1))
plot(df.data$RoPi/10000 ~ df.data$station, type = "l", col = "grey",
lwd = 0.5,
main = ifelse(main, "absolute Fläche der Röhricht- und Pionierzone", NA),
ylab = "[ha]", xlab="Elbe-Kilometer", ylim = c(0, 20))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.2, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.2, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.2, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.2, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.2, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.2, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.2, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.2, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.2, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$RoPi/10000, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
par(mar=c(6,4,4,1))
plot(df.data$RoPi/df.data$n_cell * 100 ~ df.data$station, type = "l",
col = "grey", lwd = 0.5,
main = ifelse(main, "Anteil der Röhricht- und Pionierzone an der rezenten Aue", NA),
ylab = "[%]", xlab="Elbe-Kilometer", ylim = c(0, 50))
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 0.5, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 0.5, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 0.5, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 0.5, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 0.5, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 0.5, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 0.5, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 0.5, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 0.5, labels = "Rückstau", adj = 0.5)
# gleitendes Mittel
x.gm <- filter(df.data$RoPi/df.data$n_cell * 100, rep(1/100, 100))
lines(x.gm ~ df.data$station, col = "blue", lwd = 1.5)
rezente vs. morphologische Aue
plot(rezent/100 ~ km, data = df.azb, type = "l", col = "grey", lwd = 1,
main = ifelse(main, "Auenflächen", NA),
ylab = "[km² / 5 Elbe-Kilometer]", xlab="Elbe-Kilometer", ylim = c(0, 130))
lines(df.azb$km, df.azb$morphologisch/100, col = "blue", lwd = 1)
# Fixpunkte
abline(v = c(120, 290), lty = 2)
text(205, 95 * 1.3, labels = "E r o s i o n s s t r e c k e", adj = 0.5)
abline(v = c(508, 521), lty = 2)
text(514.5, 95 * 1.3, labels = "Reststrecke", adj = 0.5)
points(198, 0, pch = 19)
text(198, 75 * 1.3, labels = "Elstermündung", adj = 0.5)
points(259, 0, pch = 19)
text(259, 80 * 1.3, labels = "Muldemündung", adj = 0.5)
points(290, 0, pch = 19)
text(290, 75 * 1.3, labels = "Saalemündung", adj = 0.5)
points(326,0, pch = 19)
text(326, 85 * 1.3, labels = "Domfelsen", adj = 0.5)
points(438, 0, pch = 19)
text(438, 75 * 1.3, labels = "Havelmündung", adj = 0.5)
points(445, 0, pch = 19)
text(445, 85 * 1.3, labels = "Rühstädt", adj = 0.5)
points(565, 0, pch = 19)
text(565, 75 * 1.3, labels = "Rückstau", adj = 0.5)
#legende
legend("topleft",
legend = c("rezente Aue", "morphologische Aue"),
col = c("grey", "blue"),
lwd = c(1, 1), bty = "n", bg = "white")
Buhnenfeldbewertung
if (require(foreign, quietly = TRUE)) {
# buhnen
df.buhnen <- read.dbf(paste0("~/freigaben/Projekte/Elbe-StroK/Beiträge-U3/Ist-",
"Zustand/Buhnenfeldkataster/Buhnenfeldkataster_mi",
"t_oekomorphol_Klassifizierung_fuer_die_Elbe_ETRS",
"89_UTM33N.dbf"))
df.buhnen$ID <- as.character(df.buhnen$ID)
df.buhnen$station <- as.numeric(
matrix(unlist(strsplit(df.buhnen$ID, split = "_", fixed = TRUE)),
byrow = TRUE, ncol = 2)[, 1])
df.buhnen$station_20km <- trunc(df.buhnen$station / 20) * 20
df.buhnen$bew_oekologie <- as.numeric(df.buhnen$BEW_OEKOLO)
df.buhnen$bew_oeko_1 <- ifelse(df.buhnen$bew_oekologie == 1, 1, 0)
df.buhnen$bew_oeko_2 <- ifelse(df.buhnen$bew_oekologie == 2, 1, 0)
df.buhnen$bew_oeko_3 <- ifelse(df.buhnen$bew_oekologie == 3, 1, 0)
df.buhnen$bew_oeko_4 <- ifelse(df.buhnen$bew_oekologie == 4, 1, 0)
df.buhnen$bew_oeko_5 <- ifelse(df.buhnen$bew_oekologie == 5, 1, 0)
# aggregate
bf <- aggregate(df.buhnen[, c("bew_oeko_1", "bew_oeko_2", "bew_oeko_3",
"bew_oeko_4", "bew_oeko_5")],
by = list(df.buhnen$station_20km),
FUN = sum)
bf <- na.omit(bf)
# plot
layout(cbind(1,2), widths = c(7,1.5))
par(mar=c(4,4,1,1))
barplot(t(as.matrix(bf[2:ncol(bf)] / rowSums(bf[2:ncol(bf)]) * 100)),
beside = FALSE,
col = c("#00b0f0", "#92d050", "#ffff00", "#ffc000", "#ff0000"),
ylab = "[%]", names = bf[, 1], las = 3, xlab = "Elbe-Kilometer")
par(mar=c(0, 0, 0, 0))
plot.new()
legend("left", bty = "n", ncol = 1, cex = 1, pt.cex = 1.5, pch = 19,
legend = rev(c("sehr gut", "gut", "mittel", "mäßig", "schlecht")),
col = rev(c("#00b0f0", "#92d050", "#ffff00", "#ffc000", "#ff0000")))
}
