diff --git a/workspace/R/poi_move.R b/workspace/R/poi_move.R new file mode 100644 index 0000000000000000000000000000000000000000..3edcde7d76bf60a17a561aaf089d47a71cb559dd --- /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