Returns a matrix of directions between each river location in two datasets, with one expressed as rows and the other expressed as columns.
riverdirectiontofrom(seg1, vert1, seg2, vert2, rivers, logical1 = NULL, logical2 = NULL, ID1 = NULL, ID2 = NULL, flowconnected = FALSE, stopiferror = TRUE, algorithm = NULL)
| seg1 | First vector of river locations (segment component). These are expressed as rows in the output matrix. |
|---|---|
| vert1 | First vector of river locations (vertex component). These are expressed as rows in the output matrix. |
| seg2 | Second vector of river locations (segment component). These are expressed as columns in the output matrix. |
| vert2 | Second vector of river locations (vertex component). These are expressed as columns in the output matrix. |
| rivers | The river network object to use. |
| logical1 | A boolean vector that can be used for subsetting. If used,
|
| logical2 | A boolean vector that can be used for subsetting. If used,
|
| ID1 | a vector of observation IDs for the first dataset that will be used as row names in the output matrix. |
| ID2 | a vector of observation IDs for the second dataset that will be used as column names in the output matrix. |
| flowconnected | If |
| stopiferror | Whether or not to exit with an error if a route cannot be
found. If this is set to |
| algorithm | Which route detection algorithm to use ( |
A matrix of directions (character) with rows and columns labeled by corresponding values of ID. See riverdirection for additional information.
Building routes from the river mouth to each river network segment and/or distance lookup tables will greatly reduce computation time (see buildsegroutes).
data(Gulk) streamlocs.seg <- c(1,8,11) streamlocs.vert <- c(50,70,90) streamlocs.ID <- c("A","B","C") fish.seg <- c(1,4,9,12,14) fish.vert <- c(10,11,12,13,14) fish.ID <- c("fish1","fish2","fish3","fish4","fish5") Gulk <- setmouth(seg=1, vert=1, rivers=Gulk) riverdirectiontofrom(seg1=streamlocs.seg, vert1=streamlocs.vert, seg2=fish.seg, vert2=fish.vert, rivers=Gulk, ID1=streamlocs.ID, ID2=fish.ID)#> fish1 fish2 fish3 fish4 fish5 #> A "down" "up" "up" "up" "up" #> B "down" "down" "down" "down" "up" #> C "down" "down" "down" "down" "up"logi1 <- streamlocs.ID=="B" | streamlocs.ID=="C" logi2 <- fish.ID!="fish3" riverdirectiontofrom(seg1=streamlocs.seg, vert1=streamlocs.vert, seg2=fish.seg, vert2=fish.vert, rivers=Gulk, logical1=logi1, logical2=logi2, ID1=streamlocs.ID, ID2=fish.ID)#> fish1 fish2 fish4 fish5 #> B "down" "down" "down" "up" #> C "down" "down" "down" "up"