Adds lookup tables for distance computation, dramatically reducing computation time. It may take some time to calculate, particularly in a braided network.
buildlookup(rivers)
| rivers | The river network object to use | 
|---|
A rivernetwork object, with a new list element, $distlookup, a
  list of three matrices.  Element [i,j] of each matrix corresponds to
  the route between segment i and j.  The
  distlookup$middist matrix gives the total distance of the "middle"
  of each route (between the starting and ending segments"), and the
  distlookup$starttop and distlookup$endtop matrices have value
  TRUE, FALSE, or NA if the segments at the beginning or
  end of the route are connected to the rest of the route at the top of the
  coordinate matrix, bottom of the coordinate matrix, or if the route is
  contained to just one segment, respectively. (See rivernetwork.)
This will add three n by n matrices to the river network object, which will be very large if the river network has many segments.
This function is called within cleanup, which is recommended in most cases. It is also called within buildsegroutes, and will add lookup tables by default if there are fewer than 400 segments in the river network.
This function can still be called in the presence of a braided network, but all resulting distances used in subsequent analyses will be the shortest route.
If segment routes ($segroutes) are not present, this function may take a very long time to run.
data(abstreams) abstreams1 <- buildlookup(abstreams)