我正试图在加拿大北部的一个迁徙时期为驯鹿计算一些BBMM.contors。我仍然处于使用这个函数的探索阶段,并且已经完成了一些教程,这些教程效果很好,但现在我正在尝试我的样本数据,brownian.bridge函数似乎需要花费很长时间。我知道这是一个可能需要很长时间才能计算的函数,但我曾尝试将我的数据细分为包含越来越少的位置,只是为了在承诺运行包含数千个位置的数据集之前看看最终产品是否是我想要的。目前,我在子集中只有34个位置,我已经等了一夜,等待它在没有完成的情况下运行。当我使用1000个位置的Panther位置数据时,运行不到一分钟,所以我认为我的代码或数据有问题。如能为您提供帮助,我们将不胜感激。
#Load data
data<-(X2017loc)
#Used to sort data in code below for all caribou
data$DT <- as.POSIXct(data$TimeStamp, format='%Y-%m-%d %H:%M:%S')
#Sort Data
data <- data[order(data$SAMPLED_ANIMAL_ID, data$DT),]
#TIME DIFF NECESSARY IN BBMM CODE
###Joel is not sure about this part...Timelag is maybe time until GPS upload???.
timediff <- diff(data$DT)
data <- data[-1,]
data$timelag <-as.numeric(abs(timediff))
#set Timelag
data <- data[-1,] #Remove first record with wrong timelag
data$SAMPLED_ANIMAL_ID <- factor(data$SAMPLED_ANIMAL_ID)
data<-data[!is.na(data$timelag), ]
data$LONGITUDE<-as.numeric(data$LONGITUDE)
data$LATITUDE<-as.numeric(data$LATITUDE)
BBMM = brownian.bridge(x=data$LONGITUDE, y=data$LATITUDE, time.lag=data$timelag, location.error=6, cell.size=30)
bbmm.summary(BBMM)
附加信息:时间滞后以秒为单位,并且项圈有6米位置错误
我不确定cell.size指的是什么,以及我应该如何确定这个数字。
SAMPLED_ANIMAL_ID LONGITUDE LATITUDE TimeStamp timelag 218 -143.3138219 68.2468358 2017-05-01 02:00 18000 218 -143.1637592 68.2687447 2017-05-01 07:00 18000 218 -143.0699697 68.3082906 2017-05-01 12:00 18000 218 -142.8352869 68.3182258 2017-05-01 17:00 18000 218 -142.7707111 68.2892111 2017-05-01 22:00 18000 218 -142.5362769 68.3394269 2017-05-02 03:00 18000 218 -142.4734997 68.3459528 2017-05-02 08:00 18000 218 -142.3682272 68.3801822 2017-05-02 13:00 18000 218 -142.2198042 68.4023253 2017-05-02 18:00 18000 218 -142.0235464 68.3968672 2017-05-02 23:00 18000
我建议使用cell.size=100而不是area.grid,因为对于area.grid,您必须为所有动物定义一个唯一的矩形网格(这可能会增加计算时间)。
好的,我已经回答了我最初的问题,因为我缺少以下代码来将latlong重新编程到UTM。
data <- SpatialPoints(data[ , c("LONGITUDE","LATITUDE")], proj4string=CRS("+proj=longlat +ellps=WGS84"))
data <- spTransform(data, CRS("+proj=utm +west+zone=7 +ellps=WGS84"))