Dear Animovers, Thank you for the many suggestions. I have been trying to implement several, but keep running into problems.
1. The LoCoH analysis seems to be the most promising method of analyzing my data, especially since I have both coastal boundaries and many of the species I work on seem to have migratory corridors. However, I tried analyzing my data for five different settings of "a" and nine different animals. Each animal has approximately 432000 data points (once/second for 5 days). After letting it run for 48 hours I had to stop it to work on another project. Is LoCoH really that computationally difficult or did I do something wrong? I am using a Dell Precision 390 running Windows XP SP3 with 2 GB RAM. Any idea how long the analysis should take? My code was: homerange<-NNCH(xy,a=c(100,200,300,400,500),id=id) 2. I loaded qGIS and have a semi-working version. However, I have tried to use the Home Range plugin and keep getting an error message. I posted it on the qGIS forum (http://forum.qgis.org/viewtopic.php?f=2&t=4914). I think qGIS isn't communicating with R, but have no idea why. I would appreciate any suggestions you have on how to get the pluging to work correctly. 3. I haven't had time to try Damiano or Clement's asc based methods yet, but will be looking for a nice rasta map of the area we are working in to try them out. While I think the LoCoH method will give a better home range estimate for a lot of our animals, I will still need to produce kernel UD's for comparisons to other studies. I especially appreciate the demo code and the explanation in "fishy" terms. Aloha, Tim Tim Clark Department of Zoology University of Hawaii > Date: Wed, 15 Jul 2009 09:26:20 +0200 > From: [email protected] > Subject: Re: [AniMov] Clipping area from home range > estimates > To: Animal Movement <[email protected]> > Message-ID: <[email protected]> > Content-Type: text/plain; charset=iso-8859-1 > > > > > I am trying to use Adehabitat to analyze the home > range and movement > > patterns of fish (manta rays, sharks, and various > species of reef > > fish) in Hawaii, but have not found a way to clip land > area out of > > the animals home range. Most of the fish I study > stay fairly close > > to shore, moving along a sinuous coastline. I > have used adehabitat > > to estimate their home range (I am mostly interested > in kernel > > HR's), but need to either limit the calculations to > only include > > water areas during the calculation or clip out the > land area after > > the kernel has been calculated. Is there a way > to use a shapefile > > or other projected map file to either limit the kernel > or to clip > > out the area post-processing? I am fairly new to > R and adehabitat, > > and am working in Windows. > > > Actually, the main issue with the (classical) kernel method > is that it > does not allow boundary constraints. I have heard about > extensions of > the kernel method allowing to take into account boundary > extensions, > but they are not implemented in adehabitat (and I do not > remember the > corresponding references) . If your aim is just to estimate > a home > range (i.e. if an utilization distribution is not desired), > and if you > do not want to compare your results with previous > home-range sizes > estimated in the literature, the kernel method is probably > not the > best choice (as noted by Maren, NNCH would probably be a > better > choice, as it fits more closely the relocations). > > However, if you really need to estimate a kernel home > range, I may > suggest you a tricky solution: to estimate the UD for each > animal, > then to set the UD to 0 in the pixels located outside the > water, to > standardise the modified UD so that the volume under the UD > is equal > to 1, and finally to estimate the home range from this > modified UD. > > mhm... Ok... not that clear. I take an example (just copy > and paste to > R): > > ## prepare the data > data(puechabon) > locs <- puechabon$locs[,c("Name","X","Y")] > map <- getkasc(puechabon$kasc, 1) > > ## show the data > image(map) > points(locs[,c("X","Y")], col=as.numeric(locs$Name)) > > > This map shows the relocations of four wild boars on an > elevation > map. But imagine that they represent the location of four > fishes in a > lake (unmapped white areas - NA on this map - are > corresponding to the > land). Consider the red and black points: they are close to > the > shore. If we estimate a home range, a large proportion of > the home > range will cover the land: > > > ## Note here that we use the map as the grid on which the > UD is > ## estimated > kud <- kernelUD(locs[,c("X","Y")], locs$Name, grid=map) > ver <- getverticeshr(getvolumeUD(kud)) > plot(ver, add=TRUE) > > > So a possible way would be to set to zero all the pixels of > the UD > located on the land, and then to standardise the result. > That is: > > for (i in 1:length(kud)) { > kud[[i]]$UD[is.na(map)] <- 0 > kud[[i]]$UD <- > kud[[i]]$UD/(sum(kud[[i]]$UD)*(attr(map, "cellsize")^2)) > } > ver2 <- getverticeshr(getvolumeUD(kud)) > > > And the resulting home range is: > > image(map) > points(locs[,c("X","Y")], col=as.numeric(locs$Name)) > plot(ver2, add=TRUE) > > the home range does not cover the land. And the point is > that the > object kud represents the UD corrected so that the land is > characterized by a probability of occurrence equal to zero > (i.e., it > is not the home range that is corrected, but the UD). But > this > solution implies that you are able to derive a raster map > from your > shapefile where land is represented by NA. Another > alternative, > already pointed out by Paolo would be to use a GIS (such > as qGIS) to clip the home-range polygons after the > estimation. > > Hope this helps, > > > Cl?ment Calenge > -- > Cl?ment CALENGE > Office national de la chasse et de la faune sauvage > Saint Benoist - 78610 Auffargis > tel. (33) 01.30.46.54.14 > > > ------------------------------ > > _______________________________________________ > AniMov mailing list > [email protected] > http://lists.faunalia.it/cgi-bin/mailman/listinfo/animov > > > End of AniMov Digest, Vol 46, Issue 4 > ************************************* > _______________________________________________ AniMov mailing list [email protected] http://lists.faunalia.it/cgi-bin/mailman/listinfo/animov
