Skip to content

Commit c509685

Browse files
committed
Update extend_river_table.R
1 parent 1744f1f commit c509685

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

R/extend_river_table.R

+10-9
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
#' [adverse_deviation_from_reference()] or [critical_events()]
1010
#' @param varName The column name of the agregated data in the output_table
1111
#' @param sixBreaks Breaks defining the lower limits of the categories.
12-
#' @param NA_processing Either "interpolation" or "continuing".
13-
#' Defines if NA values between two sides are either interpolated (default) or
14-
#' kept constant based on an upstream value.
12+
#' @param NA_processing Either "interpolation" or "steps".
13+
#' Defines if NA values between two locations are either interpolated (default)
14+
#' or kept constant based on an upstream value.
1515
#'
1616
#' @details
1717
#' The qsim_misa_table does not provide information for every location within
@@ -43,19 +43,20 @@ extend_riverTable <- function(
4343

4444
river_table[["value"]] <- NA
4545
# filter results for river id
46-
data_table <- aggregated_data[aggregated_data$verknet_river == river_id &
47-
!is.na(aggregated_data$verknet_river),]
46+
data_table <- aggregated_data[aggregated_data$qsimVis_river == river_id &
47+
!is.na(aggregated_data$qsimVis_river),]
4848

4949
# apply results to closest verknet node, if not already defined
5050
km_verknet <- river_table$km
5151
for(i in seq_len(nrow(data_table))){
5252
km_result <- data_table$km[i]
5353
km_diff <- abs(km_result - km_verknet)
5454
node_match <- which(km_diff == min(km_diff))
55+
# select nodes only, that were not selected before
5556
single_node_match <- node_match[which(is.na(river_table$value[node_match]))]
5657
if(length(single_node_match) == 1L){
5758
river_table$value[single_node_match] <- data_table[[varName]][i]
58-
} else if(length(single_node_match) > 1L){
59+
} else if(length(single_node_match) > 1L){ # if more than one points of equal distance, use first of them
5960
river_table$value[single_node_match[1]] <- data_table[[varName]][i]
6061
}
6162
}
@@ -80,11 +81,11 @@ extend_riverTable <- function(
8081

8182
river_table$value <-
8283
if(NA_processing == "interpolation"){
83-
round(interpolate_multipleNA(
84+
interpolate_multipleNA(
8485
data_vector = river_table$value,
8586
max_na = 1000,
86-
diff_x = river_table$distance_to_neighbour)[[1]], 1)
87-
} else if(NA_processing == "continuing"){
87+
diff_x = river_table$distance_to_neighbour)[[1]]
88+
} else if(NA_processing == "steps"){
8889
insert_downstreamNA(data_vector = river_table$value)
8990
}
9091

0 commit comments

Comments
 (0)