Draw Optimal Channel Network with catchment contours
draw_contour_OCN.Rd
Function that plots real-shaped OCN and catchment contours.
Usage
draw_contour_OCN(OCN, thrADraw = 0.002 * OCN$FD$nNodes *
OCN$cellsize^2, exactDraw = TRUE, drawContours = TRUE, colPalRiver = NULL,
colPalCont = "#000000", drawOutlets = 0, pch = 15, colPalOut = "#000000",
min_lwd = 0.5, max_lwd = 5, contour_lwd = 2, add = FALSE)
Arguments
- OCN
A
river
object as produced bylandscape_OCN
.- thrADraw
Threshold drainage area value used to display the network.
- exactDraw
If
TRUE
, the real shape of OCNs is plotted. If flow crosses a boundary, the pixel that is not contiguous to its outlet is flipped. It is only effective ifOCN$PeriodicBoundaries = TRUE
- drawContours
If
TRUE
, plot catchment(s) contours.- colPalRiver
Color palette used to plot the river network(s). Default is a rearranged version of theme
"Dark 3"
(seehcl.pals
).colPalRiver
accepts both functions creating color palettes and vectors of colors (of which the firstOCN$nOutlet
elements are used). If a single color value is provided andOCN$nOutlet > 1
, all river networks are drawn with the same color.- colPalCont
Color palette used to plot the catchment contour(s). Details as in
colPalRiver
. Additionally, ifcolPalCont = 0
, the palette specified incolPalRiver
is copied.- drawOutlets
If equal to
1
, black squares are drawn at the outlets' locations behind the river; if2
they are plotted on top of the river.- pch
Shape of the outlet points (if
drawOutlets = TRUE
). Seepoints
for legend.- colPalOut
Color palette used to plot the outlet points (if
drawOutlets = TRUE
). Details as incolPalRiver
. Additionally, ifcolPalOut = 0
, the palette specified incolPalRiver
is copied.- min_lwd, max_lwd
Minimum and maximum values of line width used to display the OCN (actual line width is proportional to the square root of drainage area).
- contour_lwd
Line width value for catchment contour plotting.
- add
Logical. If
TRUE
, add to an already existing plot. Taken asFALSE
(with a warning if a different value is supplied) if no graphics device is open.
Details
For not too large networks (i.e. if OCN$FD$nNodes <= 40000
, corresponding to a 200x200 lattice),
pixels whose drainage area OCN$FD$A
is lower than thrADraw
are drawn with a light grey stroke.
If OCN$FD$nNodes > 40000
, in order to speed up the execution of this function, only the network constituted
by pixels such that OCN$FD$A > thrADraw
is drawn.
Examples
# 1) draw contour of a 20x20 single-outlet OCN
# (for single-outlet OCNs without periodic boundaries, the output
# of draw_contour_OCN is very similar to that of draw_simple_OCN)
draw_contour_OCN(landscape_OCN(OCN_20), thrADraw = 4)
if (FALSE) {
# 2a) plot real shape of multiple-outlet OCN created with periodic boundaries
# add outlets on top of the rivers
OCN <- landscape_OCN(OCN_300_4out_PB_hot, displayUpdates = 2) # it takes around one minute
draw_contour_OCN(OCN, drawOutlets = 2)
# 2b) same as before, but use same color palette for rivers and contours
draw_contour_OCN(OCN, colPalCont = 0)
# 2c) draw contours of catchments obtained from an OCN with nOutlet = "All"
OCN <- landscape_OCN(OCN_400_Allout, displayUpdates = 2) # it takes some minutes
draw_contour_OCN(OCN)
# 2d) same as above, but do not plot contours, and plot outlets
# with same color palette as rivers
draw_contour_OCN(OCN, drawContours = FALSE, drawOutlets = TRUE,
colPalOut = 0)
}