Skip to content

Commit 58cb504

Browse files
committed
Merge branch 'dev' of github.com:KWB-R/qsimVis into dev
2 parents f60bd11 + 5971213 commit 58cb504

11 files changed

+69
-19
lines changed

R/add_qsimVis_id.R

+6-2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
#' * "section_name": The project specific ID of the whole river or a river
1919
#' section. Can be multiple IDs per waterbody, separated by ",", however, must
2020
#' be unique.
21+
#' @param id_source A string defining the part of the site name which is used
22+
#' to find the river name in the database. This must be the ID that is given in
23+
#' the "section_name" column of the translation table. Usually this
24+
#' is "river_name" but it can be changed to "section_name" instead.
2125
#'
2226
#' @details
2327
#' The Verknet data is available here: https://www.gdws.wsv.bund.de/DE/service/karten/03_VerkNet-BWaStr/VerkNet-BWaStr_node.html
@@ -28,7 +32,7 @@
2832
#' @export
2933
#'
3034
add_qsimVis_id <- function(
31-
aggregated_data, translation_table
35+
aggregated_data, translation_table, id_source = "river_name"
3236
){
3337
separate_project_ids <- strsplit(x = translation_table$section_name, ",")
3438
project_ids <- unlist(separate_project_ids)
@@ -54,7 +58,7 @@ add_qsimVis_id <- function(
5458

5559
section_rows <- grep(
5660
pattern = paste0("^", project_id, "$") ,
57-
x = aggregated_data$section_name
61+
x = aggregated_data[[id_source]]
5862
)
5963
aggregated_data$qsimVis_river[section_rows] <- qsimVis_id
6064
aggregated_data$qsimVis_source[section_rows] <- qsimVis_source

R/qsim_prepare.R

+8-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@
55
#' time column and several parameter columns (one per site)
66
#'
77
#' @param qsim_output_file filename (including path) in which the output from
8-
#' Gsim is listed
8+
#' Qsim is listed. The format of the output file needs to be a ; - seperated
9+
#' csv. Columns must contain:
10+
#' * "ID": Character - project specific ID of the river
11+
#' * "Section": Character - project specific ID of the section (can be an empty column)
12+
#' * "Km": Numeric - kilometer of the simulated value
13+
#' * "Date": Character - Datetime of the simulated value (format "%d.%m.%Y %H:%M)
14+
#' * "Q": Numeric - Flow in m³/s (can be an empty column)
915
#' @param parameter_name A String defining the column name of the parameter to
1016
#' be visualized. "VO2" is the default (Oxygen concentration).
1117
#'
@@ -36,7 +42,7 @@ QSIM_prepare <-function(
3642
header = TRUE
3743
)
3844

39-
df_in$site <- paste(df_in[[1]], df_in[[2]], df_in[[3]], sep = "_")
45+
df_in$site <- paste(df_in[[1]], df_in[[2]], df_in[[3]], sep = "__")
4046
df_in$para <- df_in[[parameter_name]]
4147

4248
if(!("Q" %in% colnames(df_in))){

R/site_info_qsim_ID.R

+1-7
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,8 @@
1414
#' @export
1515
#'
1616
site_info_from_qsimID<- function(qsim_id){
17-
s1 <- strsplit(qsim_id, split = "_")[[1]]
18-
if(length(s1) != 3L){
19-
warning(qsim_id, " is not in the correct Qsim ID format.")
20-
}
17+
s1 <- strsplit(qsim_id, split = "__")[[1]]
2118
s2 <- strsplit(s1[2], "\\.")[[1]]
22-
if(length(s2) != 2L){
23-
warning(qsim_id, " is not in the correct Qsim ID format.")
24-
}
2519
list("river_name" = s1[1],
2620
"section_id" = s2[1],
2721
"section_name" = s2[2],
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
"ID";"verknet_BWaStrIdNr";"Bezeichnung";"section_name"
2+
"BSK";"5401";"Berlin-Spandauer (Schifffahrts)kanal";"BSK"
3+
"WHK";"5403";"Westhafenkanal";"WHK"
4+
"CVK";"5404";"Charlottenburger Verbindungskanal (zur Spree)";"CVK"
5+
"DaW";"5501";"Dahme-Wasserstraße";"DaW"
6+
"WdS";"5524";"Wernsdorfer Seenkette";"WdS"
7+
"HOW";"5801";"Havel-Oder-Wasserstraße";"HOW"
8+
"TgS";"5809";"Tegeler See";"TgS"
9+
"RüG";"6301";"Rüdersdorfer Gewässer";"RüG"
10+
"SOW";"6501";"Spree-Oder-Wasserstraße";"SOW"
11+
"LWK";"6504";"Landwehrkanal";"LWK"
12+
"RmS";"6510";"Rummelsburger See";"RmS"
13+
"MgS";"6513";"Müggelspree";"MgS"
14+
"GKr";"6527";"Große Krampe";"GKr"
15+
"GoK";"6528";"Gosener Kanal und Seddiner See";"GoK"
16+
"GoG";"6532";"Gosener Graben";"GoG"
17+
"TeK";"6601";"Teltowkanal";"TeK"
18+
"GrK";"6602";"Griebnitzkanal";"GrK"
19+
"BVK";"6604";"Britzer Verbindungskanal (zur Spree)";"BVK"
20+
"UHW";"6701";"Untere Havel-Wasserstraße (Spandau - Plaue)";"UHW"
21+
"GWS";"6707";"Großer Wannsee";"GWS"
22+
"PHv";"6712";"Potsdamer Havel";"PHv"
23+
"Neukoellner_Schifffahrtskanal";"NA";"Neuköllner Schifffahrts-Kanal";"NSK"
24+
"Baeke";"NA";"Bäke";"Bae"
25+
"SpK";"6507";"Spreekanal";"SpK,Spk"
26+
"Stoe";"NA";"???";"Stoe"
27+
"Marzahn_Hohenschoenhauser_Grenzgraben";"NA";"Marzahn Hohenschönhause Grenzgraben";"MHGG"
28+
"Tegeler_Fliess";"NA";"Tegeler_Fließ";"Tegeler_Fliess"
29+
"Erpe";"NA";"Erpe";"Erpe"
30+
"Nordgraben";"NA";"Nordgraben";"Nordgraben"
31+
"Panke";"NA";"Panke";"Panke"
32+
"Wuhle";"NA";"Wuhle";"Wuhle"

inst/extdata/scripts/impetus/plot_impetus.R

+7-6
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ ag_table <- readxl::read_xlsx(
66
# translation between Qsim ID and verknet ID
77
t_table <- read.table(
88
file = system.file(package = "qsimVis",
9-
"extdata/scripts/impetus/river_id_table.csv"),
9+
"extdata/scripts/impetus/BelinWaterModel_id_table.csv"),
1010
header = TRUE,
1111
sep = ";")
1212

1313
# der zweite Teil der Bezeichnung des Strangs (section) sollte in die Übersetzungstabelle eingehen
1414
# sonst wird zum Beispiel ein Teil des WHK nicht geplotted, weil er als BSK erkannt wird
1515
aggregated_data <- qsimVis::add_qsimVis_id(
1616
aggregated_data = ag_table,
17-
translation_table = t_table
17+
translation_table = t_table,
18+
id_source = "river_name"
1819
)
1920

2021
# hier sollte nur "section_name" und "km" ausgegeben werden
@@ -25,10 +26,10 @@ rivers <- qsimVis::load_rivers(
2526
)
2627

2728
# prepare plot
28-
sixBreaks = c(0,0.05, 0.1, 0.2, 0.4, 0.7, 0.9)
29+
sixBreaks = c(0, 0.05, 0.1, 0.2, 0.4, 0.7,0.9)
2930

3031
####### Example: Difference between "interpolation" and "steps" ################
31-
example_river <- "Neukoellner Schifffahrtskanal"
32+
example_river <- "Neukoellner_Schifffahrtskanal"
3233

3334
qsimVis::extend_riverTable(
3435
rivers = rivers,
@@ -54,7 +55,7 @@ rivers_ext <- lapply(
5455
aggregated_data = aggregated_data,
5556
varName = "adverse_dev",
5657
sixBreaks = sixBreaks,
57-
NA_processing = "interpolation")
58+
NA_processing = "steps")
5859
names(rivers_ext) <- names(rivers)
5960

6061
# plot empty map
@@ -74,7 +75,7 @@ qsimVis::add_coloredRivers(
7475
aggregated_data = aggregated_data,
7576
sixBreaks = sixBreaks,
7677
dataType = "time",
77-
LegendTitle = "Durchschnittlicher \nAbwassergehalt in %"
78+
LegendTitle = "Durchschnittlicher \nAbwassergehalt"
7879
)
7980

8081

man/QSIM_prepare.Rd

+9-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/add_qsimVis_id.Rd

+6-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)