Returns a matrix of distances between each river location in two datasets, with one expressed as rows and the other expressed as columns.
riverdistancetofrom(seg1, vert1, seg2, vert2, rivers, logical1 = NULL, logical2 = NULL, ID1 = NULL, ID2 = NULL, 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. |
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 distances (numeric) with rows and columns labeled by corresponding values of ID
.
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") riverdistancetofrom(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 4105.139 72198.64 124793.107 128391.882 154556.11 #> B 146707.264 71633.09 124227.552 127826.327 153990.55 #> C 137953.569 61649.79 9711.364 6831.302 20707.68logi1 <- streamlocs.ID=="B" | streamlocs.ID=="C" logi2 <- fish.ID!="fish3" riverdistancetofrom(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 146707.3 71633.09 127826.327 153990.55 #> C 137953.6 61649.79 6831.302 20707.68