Learn R Programming

Watersheds (version 1.1)

Watershed.IOR2: Watershed inlet and outlet nodes: case 2

Description

The function determines the inlet and outlet nodes for zhyd watershed objects. This case 2 is for those watersheds that its river inlet and outlet object is length 2 (length(riverIO)=2).

Usage

Watershed.IOR2(x, dist, node)

Arguments

x
An object "SpatialPointsDataFrame" or "SpatialPoints" as are described in package sp over the function will search the inlet and outlet nodes of the watershed.
dist
A vector with the distances of each point in x to the current zhyd boundary.
node
An object "SpatialPointsDataFrame" as are described in package sp over the function will search the inlet and outlet nodes of the watershed. It must be the entire node search object.

Value

A list of length 2:
inlet
A "SpatialPointsDataFrame" that represents the inlet node of the current zhyd.
outlet
A "SpatialPointsDataFrame" that represents the outlet node of the current zhyd.

See Also

See Also the functions Watershed.IOR1, Watershed.IOR3, Watershed.IOR4.

Examples

Run this code
library(Watersheds)
data(WatershedsData)

station1 = WatershedsData$station
subbasin1 = WatershedsData$subbasin
zhyd1 = WatershedsData$zhyd
river1 = WatershedsData$river
node1 = WatershedsData$node	

station1 = SpatialPoints(coords=cbind(4330341.36,3284797.06), 
	proj4string=slot(subbasin1,"proj4string"))
watershed = new("Watershed",station=station1,subbasin=subbasin1,
	zhyd=zhyd1,river=river1,c1=subbasin1,node=node1)

a = Watershed.Order(watershed)
c1 = a[[1]]
nodeIO = a[[9]]			
c1_river = a[[10]]
c1_node = a[[11]]	
		
# determining inlet and outlet watershed nodes
	# determining distances of nodeIO to c1
	boundary = gBoundary(c1)
	dist = gDistance(nodeIO, boundary, byid =TRUE)
	a = Watershed.IOR2(x=nodeIO, dist=dist, node=c1_node)
	str(a)		
	c1_inlet = a$inlet; c1_inlet
	c1_outlet = a$outlet; c1_outlet
	
plot(c1,col="gray60")			
plot(station1,pch=24, bg="blue",add= TRUE)
plot(c1_river, col="blue", add=TRUE)
plot(c1_outlet,pch=21, bg="red",add= TRUE)
plot.PointAttribute(c1_outlet,"ELEV",700,0.8)
title(main="Watershed outlet, case II")

Run the code above in your browser using DataLab