[R-sig-Geo] Speed filter vmask() in argosfilter package
Tim Clark
mudiver1200 at yahoo.com
Fri Oct 30 22:41:19 CET 2009
Michael,
Thanks! I totally missed that. Now it works great.
Aloha,
Tim
Tim Clark
Department of Zoology
University of Hawaii
--- On Wed, 10/28/09, Michael Sumner <mdsumner at gmail.com> wrote:
> From: Michael Sumner <mdsumner at gmail.com>
> Subject: Re: [R-sig-Geo] Speed filter vmask() in argosfilter package
> To: "Tim Clark" <mudiver1200 at yahoo.com>
> Cc: r-sig-geo at stat.math.ethz.ch
> Date: Wednesday, October 28, 2009, 3:15 PM
> I don't see "ltr"
> defined in your code. Is that meant to be "tr1"
> throughout?
>
>
>
>
> On Thu, Oct 29, 2009 at 8:44 AM,
> Tim Clark <mudiver1200 at yahoo.com>
> wrote:
>
> Dear
> List,
>
> I am trying to filter animal tracking data based on speed
> using the vmask() function in argosfilter. However, when I
> check the filtered data against speed that I compute in the
> adehabitat package it shows that the filter is not working
> correctly. The vmask() function requires coordinates in
> long/lat while adehabitat requires it in UTM. I would
> greatly appreciate it if someone could check my work and let
> me know what I am doing wrong. I have included an example
> below using data from adehabitat.
>
>
> Thanks,
>
> Tim
>
>
> library(argosfilter)
> library(adehabitat)
>
> #Data
> data(puechabon)
> locs <- puechabon$locs #Dataframe with location and
> date for individual animal over time
>
> #Adehabitat package
>
> #Variables
> xy <- locs[,c("X","Y")]
> #Locations in UTM
> id<- as.character(locs$Name)
> da <- as.character(locs$Date)
> da <-
> as.POSIXct(strptime(as.character(locs$Date),"%y%m%d"))
>
> #Create ltraj
> tr1 <- as.ltraj(xy,date = da, id = id)
>
> #Calculate speed
> sp1<-lapply(ltr,function (l){l$dist/l$dt})
> #Compute speed in m/sec
> #Unlist
> sp2<-round(unlist(sp1,recursive = TRUE),2)
>
>
>
> #Argosfilter package
> #Transform coordinates to long/lat
> library(rgdal)
>
> SP.utm<-data.frame(locs[,c("X")],locs[,c("Y")])
>
> SP.utm<-SpatialPoints(SP.utm,proj4string=CRS("+proj=utm
> +zone=31 +ellps=WGS84"))
>
> SP.ll<-spTransform(SP.utm,
> CRS("+proj=longlat +ellps=WGS84"))
> SP.ll<-data.frame(SP.ll)
>
> names(SP.ll)<-c("lon","lat")
>
> lon<- SP.ll$lon
> lat<- SP.ll$lat
>
>
> #filter by speed
> mfilter<-vmask(lat,lon,dtime=da,vmax=1)
> filtered<-
> locs[mfilter!=c("removed"),]
>
> #Adehabitat package
> #Create ltraj
> xy <- filtered[,c("X","Y")]
>
> id<- as.character(filtered$Name)
> da <- as.character(filtered$Date)
> da <-
> as.POSIXct(strptime(as.character(filtered$Date),"%y%m%d"))
> tr1 <- as.ltraj(xy,date = da, id = id)
>
>
> #Calculate speed
> sp3<-lapply(ltr,function (l){l$dist/l$dt})
> #Compute speed in m/sec
> #Unlist
> sp4<-round(unlist(sp1,recursive = TRUE),2)
>
> #Check data
> quantile(sp2, probs = seq(.5, 1, 0.1), na.rm = TRUE)
>
> quantile(sp4, probs = seq(.5, 1, 0.1), na.rm = TRUE)
>
>
>
>
>
> Tim Clark
> Department of Zoology
> University of Hawaii
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
>
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
>
>
More information about the R-sig-Geo
mailing list