From 2511baaa7668eb375532ffe27389b68f828147da Mon Sep 17 00:00:00 2001 From: Bock <abock@usgs.gov> Date: Wed, 10 Apr 2024 16:30:44 -0600 Subject: [PATCH] Moved POI collapse out of navigate to a sourced function --- workspace/R/poi_move.R | 117 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 workspace/R/poi_move.R diff --git a/workspace/R/poi_move.R b/workspace/R/poi_move.R new file mode 100644 index 0000000..3edcde7 --- /dev/null +++ b/workspace/R/poi_move.R @@ -0,0 +1,117 @@ +# Load data +if(collapse){ + + # Move HUC12 to other POIs + moved_pois <- poi_move(final_POIs_prec, "Type_HUC12", poi_dar_move, + poi_distance_move) + + if(!is.data.frame(moved_pois)){ + final_POIs <- moved_pois$final_pois + moved_pois_table <- moved_pois$moved_points %>% + mutate(move_type = "huc12 to other") + } else { + final_POIs <- moved_POIs + } + + # Gages to confluences, terminals + moved_pois <- poi_move(final_POIs, "Type_Gages", poi_dar_move, + poi_distance_move, c("Type_Conf", "Type_Term")) + if(!is.data.frame(moved_pois)){ + final_POIs <- moved_pois$final_pois + moved_pois_table <- moved_pois_table %>% + rbind(moved_pois$moved_points %>% + mutate(move_type = "gages to conf")) + } else { + final_POIs <- moved_POIs + } + + # Gages to waterbody inlets + moved_pois <- poi_move(final_POIs, "Type_Gages", poi_dar_move, + poi_distance_move, c("Type_WBIn", "Type_WBOut")) + if(!is.data.frame(moved_pois)){ + final_POIs <- moved_pois$final_pois + moved_pois_table <- moved_pois_table %>% + rbind(moved_pois$moved_points %>% + mutate(move_type = "gages to wbin")) + } else { + final_POIs <- moved_pois + } + + # Waterbody inlet to confluence + moved_pois <- poi_move(final_POIs, "Type_WBIn", poi_dar_move/2, + poi_distance_move*0.4, "Type_Conf") + if(!is.data.frame(moved_pois)){ + final_POIs <- moved_pois$final_pois + moved_pois_table <- moved_pois_table %>% + rbind(moved_pois$moved_points %>% + mutate(move_type = "gages to term")) + } else { + final_POIs <- moved_pois + } + + # # Waterbody inlet to confluence + # moved_pois <- poi_move(final_POIs, "Type_WBOut", poi_dar_move/2, + # poi_distance_move*0.4, "Type_WBIn") + # if(!is.data.frame(moved_pois)){ + # final_POIs <- moved_pois$final_pois + # moved_pois_table <- moved_pois_table %>% + # rbind(moved_pois$moved_points %>% + # mutate(move_type = "gages to term")) + # } else { + # final_POIs <- moved_pois + # } + + # Waterbody inlet to confluence + moved_pois <- poi_move(final_POIs, c("Type_WBIn", "Type_HUC12"), poi_dar_move/2, + poi_distance_move*0.4, "Type_Conf") + if(!is.data.frame(moved_pois)){ + final_POIs <- moved_pois$final_pois + moved_pois_table <- moved_pois_table %>% + rbind(moved_pois$moved_points %>% + mutate(move_type = "gages to term")) + } else { + final_POIs <- moved_pois + } + + # NID to waterbody outlet + moved_pois <- poi_move(final_POIs, "Type_hilarri", poi_dar_move/2, + poi_distance_move * 0.4, c("Type_WBOut", "Type_TE")) + if(!is.data.frame(moved_pois)){ + final_POIs <- moved_pois$final_pois + moved_pois_table <- moved_pois_table %>% + rbind(moved_pois$moved_points %>% + mutate(move_type = "nid to wb_out")) + } else { + final_POIs <- moved_pois + } + + # NID to waterbody outlet + moved_pois <- poi_move(final_POIs, "Type_DA", poi_dar_move, + poi_distance_move) + if(!is.data.frame(moved_pois)){ + final_POIs <- moved_pois$final_pois + moved_pois_table <- moved_pois_table %>% + rbind(moved_pois$moved_points %>% + mutate(move_type = "nid to wb_out")) + } else { + final_POIs <- moved_pois + } + + if("Type_elev" %in% names(final_POIs)){ + # NID to waterbody outlet + moved_pois <- poi_move(final_POIs, "Type_elev", poi_dar_move, + poi_distance_move) + if(!is.data.frame(moved_pois)){ + final_POIs <- moved_pois$final_pois + moved_pois_table <- moved_pois_table %>% + rbind(moved_pois$moved_points %>% + mutate(move_type = "nid to wb_out")) + } else { + final_POIs <- moved_pois + } + } + + + write_sf(final_POIs, nav_gpkg, pois_all_layer) + write_sf(moved_pois_table, temp_gpkg, "pois_collapsed") +} \ No newline at end of file -- GitLab