Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
if (!requireNamespace("ggplot2", quietly = TRUE)) {
knitr::knit_exit()
}
if (!requireNamespace("ggnewscale", quietly = TRUE)) {
knitr::knit_exit()
}
## -----------------------------------------------------------------------------
library(ggplot2)
library(ggnewscale)
library(SNMA)
ggplot()+
geom_sf(data=stream.boundaries,fill="lightblue",color="lightblue")+ #include the shapefile of the stream area as an illustration
geom_sf(data=stream.line,aes(color=as.factor(id)),linewidth = 1)+ #include the required shapefile of the center of the stream network including each segment
theme(axis.text=element_blank(),panel.background=element_blank())+
labs(color="Stream\nsegments")+
new_scale_color() +
geom_point(data=nodes,aes(y=lat,x=lon),size=2) #include the nodes
## -----------------------------------------------------------------------------
nodes
## -----------------------------------------------------------------------------
animal.points
## -----------------------------------------------------------------------------
network.20 <- prep.data(l=stream.line,freq=20,nodes=nodes,lon.name="lon",lat.name="lat",node.name="id")
#the increased.line object contains the new coordinates that were added
ggplot(network.20$increased.line,aes(x=lon,y=lat,color=as.character(id)))+
geom_point()+
theme(axis.text=element_blank(),panel.background=element_blank())+
labs(color="Stream\nsegments")
## -----------------------------------------------------------------------------
network.10 <- prep.data(l=stream.line,freq=10,nodes=nodes,lon.name="lon",lat.name="lat",node.name="id")
ggplot(network.10$increased.line,aes(x=lon,y=lat,color=as.character(id)))+
geom_point()+
theme(axis.text=element_blank(),panel.background=element_blank())+
labs(color="Stream\nsegments")
## -----------------------------------------------------------------------------
network.1 <- prep.data(l=stream.line,freq=1,nodes=nodes,lon.name="lon",lat.name="lat",node.name="id")
ggplot(network.1$increased.line,aes(x=lon,y=lat,color=as.character(id)))+
geom_point()+
theme(axis.text=element_blank(),panel.background=element_blank())+
labs(color="Stream\nsegments")
## -----------------------------------------------------------------------------
ggplot()+
geom_sf(data=stream.boundaries,fill="lightblue",color="lightblue")+
geom_point(data=network.1$increased.line,aes(x=lon,y=lat,color=as.character(id)),size=1)+
theme(axis.text=element_blank(),panel.background=element_blank())+
labs(color="Stream\nsegments")+
new_scale_color()+
geom_point(aes(x=-88.99900,y=17.1774),color="blue",size=6)+
geom_point(aes(x=-88.99865,y=17.17837),color="blue",size=6)
## -----------------------------------------------------------------------------
calc.stream.dist(p1=c(-88.99900,17.1774),p2=c(-88.99865,17.17837),data=network.1)
## -----------------------------------------------------------------------------
nodes$nodes <- "nodes"
ggplot()+
geom_sf(data=stream.boundaries,fill="lightblue",color="lightblue")+
geom_sf(data=stream.line,aes(color=as.factor(id)),linewidth = 1)+
theme(axis.text=element_blank(),panel.background=element_blank())+
labs(color="Stream\nsegments",x="lon",y="lat")+
new_scale_color() +
geom_point(data=animal.points,aes(x=lon.raw,y=lat.raw,fill=id))+
geom_text(data=animal.points,label=animal.points$point,aes(x=lon.raw,y=lat.raw,color=id),nudge_y=0.00015,nudge_x=0.00008)+
scale_color_manual(values=c("red","blue"))+
guides(color="none")+
geom_point(data=nodes,aes(y=lat,x=lon,fill=nodes),size=2)+
geom_text(data=nodes,label=nodes$id,aes(x=lon,y=lat),nudge_y=0.00015,nudge_x=0.00008)+
geom_point(data=animal.points,aes(x=lon.raw,y=lat.raw,fill=id),shape=22,size=2)+
scale_fill_manual(values=c("black","red","blue"))+
labs(fill="Points")
## -----------------------------------------------------------------------------
ggplot()+
#geom_sf(data=stream.boundaries,fill="lightblue",color="lightblue")+
geom_sf(data=stream.line,aes(color=as.factor(id)),linewidth = 1)+
theme(axis.text=element_blank(),panel.background=element_blank())+
labs(color="Stream\nsegments",x="lon",y="lat")+
new_scale_color() +
geom_point(data=animal.points,aes(x=lon.shifted,y=lat.shifted,fill=id))+
geom_text(data=animal.points,label=animal.points$point,aes(x=lon.shifted,y=lat.shifted,color=id),nudge_y=0.00015,nudge_x=0.00008)+
scale_color_manual(values=c("red","blue"))+
guides(color="none")+
geom_point(data=nodes,aes(y=lat,x=lon,fill=nodes),size=2)+
geom_text(data=nodes,label=nodes$id,aes(x=lon,y=lat),nudge_y=0.00015,nudge_x=0.00008)+
geom_point(data=animal.points,aes(x=lon.shifted,y=lat.shifted,fill=id),shape=22,size=2)+
scale_fill_manual(values=c("black","red","blue"))+
labs(fill="Points")
## -----------------------------------------------------------------------------
move.results <- movements(data=network.1,
space.use=T,
from.previous=T,
cumulative=T,
downstream.node=1,
coords=animal.points,
lon.name="lon.raw",
lat.name="lat.raw",
id.name="id",
date.time.name="date.time")
move.results
## -----------------------------------------------------------------------------
ggplot(move.results[move.results$id=="turtle2",],aes(x=date.time,y=space.use))+
geom_point(color="blue")+
geom_line(color="blue")+
theme(panel.background=element_blank())
## -----------------------------------------------------------------------------
dist.over.time(data=network.1,
coords=animal.points,
lon.name="lon.raw",
lat.name="lat.raw",
id.name="id",
date.time.name="date.time",
units="days",
time.diff=1,
diff.max=NULL,
sensitivity.min=0,
sensitivity.max=0,
sensitivity.change=0)
## -----------------------------------------------------------------------------
dist.over.time(data=network.1,
coords=animal.points,
lon.name="lon.raw",
lat.name="lat.raw",
id.name="id",
date.time.name="date.time",
units="days",
time.diff=1,
diff.max=NULL,
sensitivity.min=0.1,
sensitivity.max=0.1,
sensitivity.change=0)
## -----------------------------------------------------------------------------
dist.over.time(data=network.1,
coords=animal.points,
lon.name="lon.raw",
lat.name="lat.raw",
id.name="id",
date.time.name="date.time",
units="days",
time.diff=1,
diff.max=NULL,
sensitivity.min=0.1,
sensitivity.max=0.2,
sensitivity.change=0.02)
## -----------------------------------------------------------------------------
dist.over.time(data=network.1,
coords=animal.points,
lon.name="lon.raw",
lat.name="lat.raw",
id.name="id",
date.time.name="date.time",
units="days",
time.diff=2,
diff.max=NULL,
sensitivity.min=0.1,
sensitivity.max=0.2,
sensitivity.change=0.04)
## -----------------------------------------------------------------------------
dist.over.time(data=network.1,
coords=animal.points,
lon.name="lon.raw",
lat.name="lat.raw",
id.name="id",
date.time.name="date.time",
units="days",
sensitivity.min=0.1,
sensitivity.max=0.2,
sensitivity.change=0.02,
custom.times = c(2,4,8))
## -----------------------------------------------------------------------------
dist.over.time(data=network.1,
coords=animal.points,
lon.name="lon.raw",
lat.name="lat.raw",
id.name="id",
date.time.name="date.time",
units="days",
custom.times = c(2,4,8),
custom.sensitivity = c(0.1,0.15,.2))
## -----------------------------------------------------------------------------
dist.over.time(data=network.1,
coords=animal.points,
lon.name="lon.raw",
lat.name="lat.raw",
id.name="id",
date.time.name="date.time",
units="days",
time.diff=1,
custom.sensitivity = c(.1,.11,.13,.16,.20,.25,.31,.37))
## -----------------------------------------------------------------------------
dist.res <- dist.over.time(data=network.1,
coords=animal.points,
lon.name="lon.raw",
lat.name="lat.raw",
id.name="id",
date.time.name="date.time",
units="days",
time.diff=1,
diff.max=NULL,
sensitivity.min=0.1,
sensitivity.max=0.2,
sensitivity.change=0.02)
ggplot(dist.res[dist.res$id=="turtle2",],aes(x=time.diff, y=dist))+
geom_point(color="blue")+
geom_smooth(color="blue",fill="blue")+
theme(panel.background=element_blank())
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.