# NOT RUN {
# }
# NOT RUN {
library(raster)
library(dismo)
### make a maxent model
# path to maxent.jar file
path<- paste0(system.file(package="dismo"), "/java/maxent.jar")
if (file.exists(path) & require(rJava) & require(igraph)) {
  # get predictor variables
  fnames <- list.files(path=paste(system.file(package="dismo"), '/ex', sep=''), 
                     pattern='grd', full.names=TRUE )
  predictors <- stack(fnames)
  #plot(predictors)
  # file with presence points
  occurence <- paste(system.file(package="dismo"), '/ex/bradypus.csv', sep='')
  occ <- read.table(occurence, header=TRUE, sep=',')[,-1]
  colnames(occ) <- c("x","y")
  occ <- ecospat.occ.desaggregation(occ,min.dist=1)
  # fit a domain model, biome is a categorical variable
  me <- maxent(predictors, occ, factors='biome')
  # predict to entire dataset
  pred <- predict(me, predictors) 
  plot(pred)
  points(occ)
}
### to convert suitability to binary map
mpa.cutoff <- ecospat.mpa(pred,occ)
pred.bin.mpa <- ecospat.binary.model(pred,mpa.cutoff)
names(pred.bin.mpa) <- "me.mpa"
pred.bin.arbitrary <- ecospat.binary.model(pred,0.5)
names(pred.bin.arbitrary) <- "me.arbitrary"
### calculate occupied patch
mpa.ocp  <- ecospat.occupied.patch(pred.bin.mpa,occ)
arbitrary.ocp  <- ecospat.occupied.patch(pred.bin.arbitrary,occ)
par(mfrow=c(1,2))
plot(mpa.ocp) ## occupied patches: green area
points(occ,col="red",cex=0.5,pch=19)
plot(arbitrary.ocp)
points(occ,col="red",cex=0.5,pch=19)
## with buffer:
mpa.ocp  <- ecospat.occupied.patch(pred.bin.mpa,occ, buffer=500000)
arbitrary.ocp  <- ecospat.occupied.patch(pred.bin.arbitrary,occ, buffer=500000)
plot(mpa.ocp) ## occupied patches: green area
points(occ,col="red",cex=0.5,pch=19)
plot(arbitrary.ocp)
points(occ,col="red",cex=0.5,pch=19)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab