Nothing
## ----eval=FALSE---------------------------------------------------------------
# library(riverdist)
# MyRivernetwork <- line2network(path=".", layer="MyShapefile")
#
# # Re-projecting in Alaska Albers Equal Area projection:
# AKalbers <- "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154
# +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs +ellps=GRS80 +towgs84=0,0,0"
#
# MyRivernetwork <- line2network(path=".", layer="MyShapefile", reproject=AKalbers)
## ----fig.width=5,fig.height=5-------------------------------------------------
library(riverdist)
data(Gulk)
plot(x=Gulk)
## ----eval=FALSE---------------------------------------------------------------
# abstreams_fixed <- cleanup(abstreams0)
## ----fig.width=5,fig.height=5-------------------------------------------------
topologydots(rivers=Gulk)
## ----fig.width=5,fig.height=3-------------------------------------------------
data(fakefish)
fakefish_riv <- xy2segvert(x=fakefish$x, y=fakefish$y, rivers=Gulk)
head(fakefish_riv) # a look at the first few rows of the output
hist(fakefish_riv$snapdist, main="snapping distance (m)")
## ----eval=FALSE---------------------------------------------------------------
# segvert_from_shp <- pointshp2segvert(path=".", layer="MyPointShapefile",
# rivers=MyRivernetwork)
## ----fig.width=5,fig.height=5-------------------------------------------------
zoomtoseg(seg=c(11, 14), rivers=Gulk)
points(fakefish$x, fakefish$y, pch=16, col="red")
riverpoints(seg=fakefish_riv$seg, vert=fakefish_riv$vert, rivers=Gulk, pch=15,
col="blue")
## ----fig.width=5,fig.height=5-------------------------------------------------
# starting location: segment 7, vertex 49
# ending location: segment 14, vertex 121
detectroute(start=7, end=14, rivers=Gulk)
riverdistance(startseg=7, startvert=49, endseg=14, endvert=121, rivers=Gulk, map=TRUE)
## -----------------------------------------------------------------------------
data(smallset)
smallset
riverdistanceseq(unique=smallset$id, survey=smallset$flight, seg=smallset$seg,
vert=smallset$vert, rivers=Gulk)
## -----------------------------------------------------------------------------
riverdistancematbysurvey(indiv=1, unique=smallset$id, survey=smallset$flight,
seg=smallset$seg, vert=smallset$vert, rivers=Gulk, full=FALSE)
## ----fig.width=7,fig.height=3.5-----------------------------------------------
# calculating observed minimum home range for all individuals
homerange(unique=smallset$id, seg=smallset$seg, vert=smallset$vert, rivers=Gulk)
## ----fig.width=7,fig.height=3.5-----------------------------------------------
par(mfrow=c(1,3))
ranges <- homerange(unique=smallset$id, survey=smallset$flight,
seg=smallset$seg, vert=smallset$vert, rivers=Gulk)
plot(ranges)
plot(ranges, cumulative=TRUE, label=TRUE, col=3)
## ----fig.width=5,fig.height=5-------------------------------------------------
homerangeoverlap(ranges)
plothomerangeoverlap(ranges)
## -----------------------------------------------------------------------------
dmat <- riverdistancemat(smallset$seg,smallset$vert,Gulk)
round(dmat)[1:7,1:7] # only showing the first 7 rows & columns for clarity
## -----------------------------------------------------------------------------
logi1 <- (smallset$seg==2)
# constructing observation labels
obsID <- paste0("id",smallset$id,"-flight",smallset$flight)
riverdistancemat(seg=smallset$seg, vert=smallset$vert, rivers=Gulk, logical=logi1,
ID=obsID)
## -----------------------------------------------------------------------------
streamlocs.seg <- c(2,2,2)
streamlocs.vert <- c(10,20,30)
streamlocs.ID <- c("loc A","loc B","loc C")
logi2 <- (smallset$seg==2)
obsID <- paste0("id",smallset$id,"-flight",smallset$flight)
riverdistancetofrom(seg1=streamlocs.seg, vert1=streamlocs.vert, seg2=smallset$seg,
vert2=smallset$vert, ID1=streamlocs.ID, ID2=obsID, logical2=logi2,
rivers=Gulk)
## ----fig.width=5,fig.height=5-------------------------------------------------
showends(seg=1,rivers=Gulk)
Gulk1 <- setmouth(seg=1, vert=1, rivers=Gulk)
## ----fig.width=5,fig.height=4-------------------------------------------------
zoomtoseg(seg=c(6,3), rivers=Gulk)
riverpoints(seg=c(6,4), vert=c(250,250), col=4, pch=15, rivers=Gulk1)
#riverdistance(startseg=6, endseg=4, startvert=250, endvert=250, rivers=Gulk1, map=TRUE)
text(c(859122.4, 872104.1), c(6964127.4,6969741.0), pos=c(3, 4),
labels=c("beginning", "end"))
riverdirection(startseg=6, endseg=4, startvert=250, endvert=250, rivers=Gulk1)
upstream(startseg=6, endseg=4, startvert=250, endvert=250, rivers=Gulk1, net=FALSE)
upstream(startseg=6, endseg=4, startvert=250, endvert=250, rivers=Gulk1, net=TRUE)
upstream(startseg=6, endseg=4, startvert=250, endvert=250, rivers=Gulk1,
flowconnected=TRUE)
## -----------------------------------------------------------------------------
data(abstreams)
tstart <- Sys.time()
riverdistance(startseg=120, startvert=10, endseg=131, endvert=10, rivers=abstreams,
algorithm="sequential")
Sys.time()- tstart
tstart <- Sys.time()
riverdistance(startseg=120, startvert=10, endseg=131, endvert=10, rivers=abstreams,
algorithm="Dijkstra")
Sys.time()- tstart
tstart <- Sys.time()
riverdistance(startseg=120, startvert=10, endseg=131, endvert=10, rivers=abstreams)
# Note: it is not necessary to specify the algorithm here: the distance function
# will automatically select the fastest algorithm unless otherwise specified.
Sys.time()- tstart
## ----eval=FALSE---------------------------------------------------------------
# data(Gulk, fakefish)
# fakefish_density <- makeriverdensity(seg=fakefish$seg, vert=fakefish$vert, rivers=Gulk,
# survey=fakefish$flight.date, resolution=2000, bw=10000)
# par(mfrow=c(3,3))
# plot(x=fakefish_density, ramp="blue", dark=0.85, maxlwd=15,
# whichplots=c(1:8,10)) # showing only nine plots for clarity
## ----fig.width=7.5,fig.height=8.5,echo=FALSE, eval=FALSE----------------------
# data(fakefish_density)
# par(mfrow=c(3,4))
# plot(x=fakefish_density, ramp="blue", dark=0.85, maxlwd=15)
## ----fig.width=7.5,fig.height=10,echo=FALSE-----------------------------------
data(fakefish_density)
par(mfrow=c(3,3))
plot(x=fakefish_density, ramp="blue", dark=0.85, maxlwd=15,
whichplots=c(1:8,10))
## ----fig.width=5,fig.height=4-------------------------------------------------
x <- homerange(unique=fakefish$flight.date, seg=fakefish$seg, vert=fakefish$vert, rivers=Gulk)
x
plot(x$range, type='b', xaxt='n', xlab="", ylab="range (m)", cex.axis=.6)
axis(1,at=1:10,labels=sort(unique(fakefish$flight.date)), cex.axis=.6, las=3)
## ----fig.width=7.5,fig.height=7.5---------------------------------------------
par(mfrow=c(3,3))
kfunc(seg=fakefish$seg, vert=fakefish$vert, rivers=Gulk, survey=fakefish$flight.date,
maxdist=200000, whichplots=c(1:8,10)) # showing only nine plots for clarity
## -----------------------------------------------------------------------------
mouthdist(seg=fakefish$seg[1], vert=fakefish$vert[1], rivers=Gulk)
x <- mouthdistbysurvey(unique=fakefish$fish.id, survey=fakefish$flight,
seg=fakefish$seg, vert=fakefish$vert, rivers=Gulk)
round(x)
## ----fig.width=7.5,fig.height=5-----------------------------------------------
x <- mouthdistbysurvey(unique=fakefish$fish.id, survey=fakefish$flight.date,
seg=fakefish$seg, vert=fakefish$vert, rivers=Gulk)
par(mfrow=c(1,2))
plotseq(seqbysurvey=x)
plotseq(seqbysurvey=x, type="dotline")
par(mfrow=c(1,1))
## ----fig.width=7.5,fig.height=5-----------------------------------------------
x <- upstreamseq(unique=fakefish$fish.id, survey=fakefish$flight, seg=fakefish$seg,
vert=fakefish$vert, rivers=Gulk)
round(x)
par(mfrow=c(1,2))
plotseq(seqbysurvey=x)
plotseq(seqbysurvey=x, type="dotplot")
abline(h=0, lty=3)
## ----fig.width=5,fig.height=10------------------------------------------------
matbysurveylist <- matbysurveylist(unique=fakefish$fish.id, survey=fakefish$flight, seg=fakefish$seg,
vert=fakefish$vert, rivers=Gulk)
plotmatbysurveylist(matbysurveylist)
## ----eval=FALSE---------------------------------------------------------------
# data(abstreams0) # a messy river network
# abstreams_fixed <- cleanup(abstreams0) # fixing many problems
## ----fig.width=7.5,fig.height=4, warning=FALSE, message=FALSE-----------------
Gulk_trim1 <- trimriver(trim=c(10,11,12,13,14), rivers=Gulk)
Gulk_trim2 <- trimriver(trimto=c(10,11,12,13,14), rivers=Gulk)
par(mfrow=c(1,3))
plot(x=Gulk, main="original")
plot(x=Gulk_trim1, main="trim=c(10,11,12,13,14)")
plot(x=Gulk_trim2, main="trimto=c(10,11,12,13,14)")
## ----fig.width=5,fig.height=5, message=FALSE----------------------------------
data(Kenai3)
x <- c(174185, 172304, 173803, 176013)
y <- c(1173471, 1173345, 1163638, 1164801)
Kenai3.buf1 <- trimtopoints(x=x, y=y, rivers=Kenai3, method="snap")
Kenai3.buf2 <- trimtopoints(x=x, y=y, rivers=Kenai3, method="snaproute")
Kenai3.buf3 <- trimtopoints(x=x, y=y, rivers=Kenai3, method="buffer", dist=5000)
plot(x=Kenai3, main="original")
points(x, y, pch=15, col=4)
legend(par("usr")[1], par("usr")[4], legend="points to buffer around", pch=15,
col=4, cex=.6)
## ----fig.width=7.5,fig.height=3.5---------------------------------------------
par(mfrow=c(1,3))
plot(x=Kenai3.buf1, main="snap")
points(x, y, pch=15, col=4)
plot(x=Kenai3.buf2, main="snaproute")
points(x, y, pch=15, col=4)
plot(x=Kenai3.buf3, main="buffer, dist=5000")
points(x, y, pch=15, col=4)
## ----fig.width=7.5,fig.height=5, message=FALSE--------------------------------
data(Koyukuk2)
Koy_subset <- trimriver(trimto=c(30,28,29,3,19,27,4),rivers=Koyukuk2)
Koy_subset <- setmouth(seg=1,vert=427,rivers=Koy_subset)
Koy_subset_trim <- removeunconnected(Koy_subset)
par(mfrow=c(1,2))
plot(x=Koy_subset, main="original")
plot(x=Koy_subset_trim, main="unconnected segments removed")
## ----fig.width=7.5,fig.height=5, warning=FALSE, message=FALSE-----------------
data(Kenai2)
Kenai2_sub <- trimriver(trimto=c(26,157,141,69,3,160,2,35,102,18,64,86,49,103,61,
43,183,72,47,176), rivers=Kenai2)
Kenai2_sub_dissolve <- dissolve(rivers=Kenai2_sub)
par(mfrow=c(1,2))
plot(x=Kenai2_sub, main="original")
plot(x=Kenai2_sub_dissolve, main="dissolved")
## ----fig.width=7.5,fig.height=4.5, warning=FALSE, message=FALSE---------------
data(Koyukuk1)
Koyukuk1.split <- splitsegments(rivers=Koyukuk1)
par(mfrow=c(1,2))
topologydots(rivers=Koyukuk1, main="original")
topologydots(rivers=Koyukuk1.split, main="split")
## ----fig.width=7.5,fig.height=4, warning=FALSE, message=FALSE-----------------
data(Koyukuk0)
Koyukuk0.1 <- connectsegs(connect=21, connectto=20, rivers=Koyukuk0)
par(mfrow=c(1,2))
plot(Koyukuk0, ylim=c(1930500,1931500), xlim=c(194900,195100), main="original")
topologydots(Koyukuk0, add=TRUE)
plot(Koyukuk0.1,ylim=c(1930500,1931500), xlim=c(194900,195100), main="connected")
topologydots(Koyukuk0.1, add=TRUE)
## ----eval=FALSE---------------------------------------------------------------
# data(abstreams0)
# abstreams2 <- removemicrosegs(abstreams0)
## ----fig.width=7.5,fig.height=4, warning=FALSE, message=FALSE-----------------
data(Kenai3)
Kenai3split <- addverts(Kenai3, mindist=200)
par(mfrow=c(1,2))
zoomtoseg(seg=c(47,74,78), rivers=Kenai3, main="segment 74 vertices")
points(Kenai3$lines[[74]])
zoomtoseg(seg=c(47,74,78), rivers=Kenai3split, main="adding points every 200m")
points(Kenai3split$lines[[74]])
## ----fig.width=7.5,fig.height=5-----------------------------------------------
data(Gulk, KilleyW)
par(mfrow=c(1,2))
plot(x=Gulk, main="Gulkana River")
plot(x=KilleyW, ylim=c(1164500, 1168500), main="Killey River West")
checkbraided(rivers=Gulk, progress=FALSE)
checkbraided(rivers=KilleyW, progress=FALSE)
## ----fig.width=5,fig.height=5-------------------------------------------------
Kenai3.subset <- trimriver(trimto=c(22,2,70,30,15,98,96,89,52,3), rivers=Kenai3)
plot(x=Kenai3.subset)
checkbraided(startseg=1, endseg=7, rivers=Kenai3.subset)
checkbraided(startseg=1, endseg=5, rivers=Kenai3.subset)
## -----------------------------------------------------------------------------
Killey.dists <- riverdistancelist(startseg=1,endseg=16,startvert=25,endvert=25,
rivers=KilleyW,reps=1000)
Killey.dists # 18 routes are detected.
## ----fig.width=7.5,fig.height=5-----------------------------------------------
par(mfrow=c(1,2))
plot(x=KilleyW, ylim=c(1164500, 1168500), main="shortest route")
riverdistance(startvert=25, endvert=25, path=Killey.dists$routes[[1]],
rivers=KilleyW, map=TRUE, add=TRUE)
plot(KilleyW, ylim=c(1164500, 1168500), main="longest route")
riverdistance(startvert=25, endvert=25, path=Killey.dists$routes[[18]],
rivers=KilleyW, map=TRUE, add=TRUE)
## -----------------------------------------------------------------------------
detectroute(start=1, end=16, rivers=KilleyW)
Killey.dists$routes[[1]] #calculated above
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.