0

Is there a way to create a Getz and Willmers Local Convex Hull in ArcMap? The "Minimum Bounding Geometry" tool is insufficient for my purposes, as it greatly overestimates the sizes of home ranges.

From my research, I've found that there used to be an extension for Arc 9, but I am using ArcMap 10.1.

1

I have scoured the internet for 48 hours now, and I can definitively say, that there is almost certainly no tool to generate LoCoH in ArcMap. The best tool to do so is in R, and there is a GUI developed by Signer, J. and Balkenhol, N., which can be found here.

Furthermore, I have an r script that will generate isopleths from .txt files of attribute tables. This generates three different isopleths depending on season. I'm including that script here:

library(rhr)
library(rgeos)
library(shapefiles)
library(maptools)

#list all *.txt files. This part has been tested and it works.
fls <- list.files(path = "C:/Users/Familjen Millsap/Desktop/monroecsv2", pattern = "*.txt", full.names = TRUE)


#read files into a list. This part has also been tested and it works.
dat <- lapply(fls, read.table, sep = "\t", header = TRUE)
#get file names. 
nms <- tools::file_path_sans_ext(list.files(path = "C:/Users/Familjen Millsap/Desktop/monroecsv2", pattern = "*.txt"))
names(dat) <- nms

locoh <- lapply(dat, function(x) rhrLoCoH(x[ c("LONGITUDE", "LATITUDE")]))


dir.create("test")
for (i in seq_along(locoh)) {
  shapefile(rhrIsopleths(locoh[[i]]), file.path("test", paste0(nms[i], ".shp")))

}

#calculate home ranges by range. This works.

for (season in c("Winter", "Summer", "Migration")) {
#read files into a list
  locoh_s <- lapply(dat, function(x) {
    xx <- x[x$RANGE == season, c("LONGITUDE", "LATITUDE")]
    if (nrow(xx) > 10) { # threshold of at least 10 relocations
      rhrLoCoH(xx[ ])  
    } else {
    NA
}

})

locoh_s <- locoh_s[sapply(locoh_s, is.list)]

for (i in seq_along(locoh_s)) {
  shapefile(rhrIsopleths(locoh_s[[i]]), file.path("test", paste0(names(locoh_s)[i], "_", season, ".shp")))

} }

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.