brownian.bridge慢速计算和area.grid [1,1]中的错误:维数错误

时间:2019-01-23 17:19:09

标签: r

在加拿大北部的运动期间,我正在尝试为驯鹿计算一些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

2 个答案:

答案 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,您必须为所有动物定义一个唯一的矩形网格(这可能会增加计算时间)。