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
*************************************