##### #HOW TO ESTIMATE THE SURFACE OF PREDATION RISK BASED ON WOLF TRAJECTORIES #### ### #LIBRARIES ### library(rgdal) library(rgeos) library(ggmap) library(png) library(adehabitatLT) library(adehabitatHR) library(animation) library(lattice) library(nls.multstart) library(raster) source("helper_updated.R") #PLANAR PROJECTION proj="+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs" #LOAD SIMULATED MOOSE DATA mo=read.csv("moose_track.csv") mo$id=mo$GPMoose mo=out.duplicated(mo,mo$id) mo$year=strptime(mo$datetime,format="%Y-%m-%d %H:%M:%S")$year+1900 mo$idyear=paste(mo$id,mo$year) mo=SpatialPointsDataFrame(mo[,c("Easting","Northing")],data=mo,proj4string=CRS(proj)) #LOAD SIMULATED DEER DATA de=read.csv("deer_track.csv") de$id=de$GPDeer de$year=strptime(de$datetime,format="%Y-%m-%d %H:%M:%S")$year+1900 de$idyear=paste(de$id,de$year) de=SpatialPointsDataFrame(de[,c("Easting","Northing")],data=de,proj4string=CRS(proj)) #LOAD SIMULATED WOLF DATA wo=read.csv("wolf_track.csv") wo$id=wo$GPwolf wo$year=strptime(wo$datetime,format="%Y-%m-%d %H:%M:%S")$year+1900 wo$idyear=paste(wo$id,wo$year) wo=SpatialPointsDataFrame(wo[,c("Easting","Northing")],data=wo,proj4string=CRS(proj)) ### #DEFINE STUDY AREA ### join=rbind(de[,"id"],mo[,"id"]) mcp=mcp(join[,-1],percent=100) mcpB=gBuffer(mcp,width=0) plot(wo,axes=T,cex=.1) plot(mcpB,axes=T,add=T,border=2) ### #HOME RANGE AND OVERLAP AND PACK CLUSTER NETWORKING ### k=kernelUD(wo[,"GPwolf"],same4all=T,grid=1000) pol=getverticeshr(k,95) plot(pol,axes=T) over=kerneloverlaphr(k,method="BA") over cov=unique(wo[,c("GPwolf","Pack")]@data) cov$GPwolf cov$strata=paste(cov$Pack,1:length(cov$Pack)) wo$strata=cov$strata[match(paste(wo$GPwolf,wo$Pack),paste(cov$GPwolf,cov$Pack))] rownames(over)=colnames(over)=cov$strata pol@data$idd=as.vector(unique(wo$strata)) #NETWORK library(igraph) neto=graph_from_adjacency_matrix(over,mode="undirected",diag=F,weighted=T) #V(neto)$size=pol$wei/10 E(neto)$width=sqrt((E(neto)$weight*30)) plot(neto) par(mar=rep(0,4)) plot(neto,vertex.color="gray",edge.curved=0.1, edge.color=1, vertex.label.cex=.6) #CUTTING WEAK CONNECTIONS neto2=delete_edges(neto,E(neto)[weight1){lr[[i]]=sum(tempr)} else{lr[[i]]=tempr} } slr=lapply(lr,function(x){x/sum(matrix(x))}) ter=stack(slr) fear=sum(ter) sfear=rastToIso(fear) sfear=1-sfear plot(sfear,col=rev(heat.colors(100))) #SAVE FINAL RASTER TO USE IT IN STEP SELECTION FUNCTION writeRaster(sfear,"wolf_pressure.tif",overwrite=TRUE)