Learn R Programming

riverdist (version 0.17.0)

riverdirectiontofrom: River Direction Matrix between Two Datasets

Description

Returns a matrix of directions between each river location in two datasets, with one expressed as rows and the other expressed as columns.

Usage

riverdirectiontofrom(
  seg1,
  vert1,
  seg2,
  vert2,
  rivers,
  logical1 = NULL,
  logical2 = NULL,
  ID1 = NULL,
  ID2 = NULL,
  flowconnected = FALSE,
  stopiferror = TRUE,
  algorithm = NULL
)

Value

A matrix of directions (character) with rows and columns labeled by corresponding values of ID. See riverdirection for additional information.

Arguments

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, riverdirectiontofrom will only return directions in which a specified condition is met for the first dataset.

logical2

A boolean vector that can be used for subsetting. If used, riverdirectiontofrom will only return directions in which a specified condition is met for the second dataset.

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 TRUE, only returns distance if the input segments are flow-connected. Defaults to FALSE.

stopiferror

Whether or not to exit with an error if a route cannot be found. If this is set to FALSE and a route cannot be found, the function will return NA in the appropriate entry. Defaults to TRUE. See detectroute.

algorithm

Which route detection algorithm to use ("Dijkstra", "sequential", or "segroutes"). If left as NULL (the default), the function will automatically make a selection. See detectroute for more details.

Author

Matt Tyers

See Also

riverdirection

Examples

Run this code
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)

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)

Run the code above in your browser using DataLab