Skip to content
Snippets Groups Projects
Commit d6342c96 authored by Bock, Andy's avatar Bock, Andy
Browse files

Renamed

parent 0066b89a
No related branches found
No related tags found
1 merge request!182Bock
File moved
......@@ -26,19 +26,22 @@ See `hyRefactory_config.R` for all constants.
source("R/utils.R")
source("R/hyRefactor_funs.R")
source("R/config.R")
source("R/user_vars.R")
```
Load and filter source NHD Flowline network. Bring in POIs
```{r flowlines}
nhd <- read_sf(out_refac_gpkg, nhd_flowline)
cats <- read_sf(out_refac_gpkg, nhd_catchment)
#cats <- read_sf(out_refac_gpkg, nhd_catchment)
POIs_data <- read_sf(nav_gpkg, poi_data_table)
POIs <- read_sf(nav_gpkg, poi_geometry_table)
POI_id <- st_drop_geometry(POIs)
events <- read_sf(nav_gpkg, event_geometry_table)
```
Read POIs and add nhd outlets. Save to a non-spatial table.
......@@ -72,15 +75,17 @@ nhdplus_flines <- sf::st_zm(filter(nhd, refactor == 1)) %>%
st_as_sf()
if(!needs_layer(nav_gpkg, event_geometry_table)){
events <- read_sf(nav_gpkg, event_geometry_table) %>%
mutate(event_identifier = as.character(row_number()))
events <- read_sf(nav_gpkg, event_geometry_table)
events_ref <- filter(events, hy_id %in% nhdplus_flines$COMID) %>%
rename(COMID = hy_id) %>%
distinct(COMID, REACHCODE, REACH_meas, event_identifier)
distinct(COMID, REACHCODE, REACH_meas,
poi_id, geom) %>%
arrange(poi_id) %>%
mutate(event_identifier = row_number())
outlets <- filter(outlets, !poi_id %in% events$poi_id) %>%
rename(COMID = hy_id)
outlets <- rename(outlets, COMID = hy_id) %>%
filter(!poi_id %in% events_ref$poi_id)
} else {
events_ref <- NULL
}
......@@ -103,11 +108,12 @@ if(needs_layer(out_refac_gpkg, refactored_layer)) {
three_pass = TRUE,
purge_non_dendritic = FALSE,
events = events_ref,
exclude_cats = c(outlets$COMID, avoid$COMID, POI_downstream$COMID),
exclude_cats = c(outlets$COMID,
avoid$COMID, POI_downstream$COMID),
warn = TRUE)
write_sf(st_transform(read_sf(tf), crs), out_refac_gpkg, refactored_layer)
write_sf(st_transform(read_sf(tr), crs), out_refac_gpkg, reconciled_layer)
write_sf(st_transform(read_sf(tf), proj_crs), out_refac_gpkg, refactored_layer)
write_sf(st_transform(read_sf(tr), proj_crs), out_refac_gpkg, reconciled_layer)
unlink(list(tf, tr))
rm(tf, tr)
......@@ -126,7 +132,7 @@ refactor_lookup <- st_drop_geometry(read_sf(out_refac_gpkg, reconciled_layer)) %
if(is.character(refactor_lookup$reconciled_ID)) refactor_lookup$reconciled_ID <- as.integer(refactor_lookup$reconciled_ID)
lookup_table <- tibble::tibble(NHDPlusV2_COMID = unique(as.integer(refactor_lookup$member_COMID))) %>%
dplyr::left_join(refactor_lookup, by = "NHDPlusV2_COMID")
dplyr::left_join(refactor_lookup, by = "NHDPlusV2_COMID")
readr::write_csv(lookup_table, lookup_table_file)
write_sf(lookup_table, out_refac_gpkg, lookup_table_refactor)
......@@ -138,49 +144,54 @@ if(needs_layer(out_refac_gpkg, outlets_layer)) {
select(member_COMID = COMID, Hydroseq, event_identifier, event_REACHCODE) %>%
inner_join(select(st_drop_geometry(nhd), orig_COMID = COMID, Hydroseq), by = "Hydroseq")
if(!is.null(events_ref)){
if(nrow(events_ref) > 0){
# Subset for events
refactored_events <- refactored %>%
filter(!is.na(event_REACHCODE), !is.na(event_identifier))
filter(!is.na(event_REACHCODE), !is.na(event_identifier)) %>%
mutate(event_identifier = as.numeric(event_identifier))
event_outlets <- events %>%
event_outlets <- events_ref %>%
inner_join(st_drop_geometry(refactored_events), by = "event_identifier") %>%
select(hy_id, event_id, poi_id, member_COMID)
select(hy_id = COMID, event_id = event_identifier, poi_id, member_COMID)%>%
inner_join(select(lookup_table, -NHDPlusV2_COMID), by = "member_COMID")
# subset for refactored outlets (non-events)
refactored_outlets <- filter(refactored, !member_COMID %in% event_outlets$member_COMID)
refactored_outlets <- filter(refactored,
!member_COMID %in% event_outlets$member_COMID)
# get ref_COMId for other outlets
outlets_ref <- outlets %>%
left_join(select(st_drop_geometry(refactored_outlets), member_COMID, orig_COMID),
by = c("COMID" = "orig_COMID")) %>%
filter(!poi_id %in% event_outlets$poi_id) %>%
inner_join(lookup_table,
by = c("COMID" = "NHDPlusV2_COMID")) %>%
group_by(COMID) %>%
filter(member_COMID == max(member_COMID)) %>%
select(hy_id = COMID, poi_id, member_COMID, type)
select(hy_id = COMID, poi_id, member_COMID, reconciled_ID, type)
outlets_ref_COMID <- data.table::rbindlist(list(outlets_ref, event_outlets), fill = TRUE) %>%
outlets_ref_COMID <- data.table::rbindlist(list(outlets_ref, event_outlets),
fill = TRUE) %>%
st_as_sf()
} else {
# get ref_COMId for other outlets
outlets_ref_COMID <- outlets %>%
left_join(select(st_drop_geometry(refactored), member_COMID, orig_COMID),
by = c("COMID" = "orig_COMID")) %>%
inner_join(lookup_table,
by = c("COMID" = "NHDPlusV2_COMID")) %>%
group_by(COMID) %>%
filter(member_COMID == max(member_COMID)) %>%
select(hy_id = COMID, poi_id, member_COMID, type)
select(hy_id = COMID, poi_id, member_COMID, reconciled_ID, type)
}
final_outlets <- outlets_ref_COMID %>%
st_as_sf() %>%
inner_join(select(lookup_table, member_COMID, reconciled_ID),
by = "member_COMID")
# final_outlets <- outlets_ref_COMID %>%
# st_as_sf() %>%
# inner_join(select(lookup_table, member_COMID, reconciled_ID),
# by = "member_COMID")
write_sf(final_outlets, out_refac_gpkg, outlets_layer)
write_sf(outlets_ref_COMID, out_refac_gpkg, outlets_layer)
} else {
final_outlets <- read_sf(out_refac_gpkg, outlets_layer)
outlets_ref_COMID <- read_sf(out_refac_gpkg, outlets_layer)
}
check_dups_poi <- final_outlets %>%
check_dups_poi <- outlets_ref_COMID %>%
group_by(reconciled_ID) %>%
filter(n() > 1) %>%
ungroup()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment