在加拿大北部的运动期间,我正在尝试为驯鹿计算一些BBMM.contours。 我仍处于使用此功能的探索阶段,并且已经完成了一些工作正常的教程,但是现在,我正在尝试我的示例数据,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)
其他信息: 时差以秒为单位, 项圈的定位误差为6m
我不确定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
答案 0 :(得分:0)
好吧,我已经回答了我的原始问题,因为我缺少以下代码以将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"))
答案 1 :(得分:0)
我建议使用cell.size = 100而不是area.grid,因为对于area.grid,您必须为所有动物定义一个唯一的矩形网格(这可能会增加计算时间)。