медленный расчет brownian.bridge и ошибка в area.grid [1, 1]: неверное количество измерений - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь рассчитать некоторые BBMM.контуры для карибу в течение периода движения в северной Канаде.Я все еще нахожусь в стадии изучения использования этой функции и проработал некоторые учебные пособия, которые работали нормально, но теперь, когда я пробую свои примеры данных, функция brownian.bridge, кажется, берет вечность.Я понимаю, что это функция, которая может занять много времени для расчета, но я попытался распределить свои данные, включив в них все меньше и меньше мест, просто чтобы увидеть, является ли конечный продукт тем, что я хочу, прежде чем начинать работу с набором данных с тысячамиместах.В настоящее время у меня есть только 34 местоположения в подмножестве, и я ждал всю ночь, пока он не завершится.Когда я использовал некоторые данные о местонахождении Panther с 1000 местоположениями, это заняло меньше минуты, поэтому я подумал, что что-то не так с моим кодом или моими данными.Любая помощь, работающая с этим, будет принята с благодарностью.

#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

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Я бы предложил использовать cell.size = 100 вместо area.grid, поскольку для area.grid вам нужно будет определить уникальную прямоугольную сетку для всех животных (что может увеличить время вычислений).

0 голосов
/ 23 января 2019

Хорошо, я ответил на мой первоначальный вопрос, потому что мне не хватало следующего кода для перепроектирования латлонга в UTM.

data <- SpatialPoints(data[ , c("LONGITUDE","LATITUDE")], proj4string=CRS("+proj=longlat +ellps=WGS84"))
data <- spTransform(data, CRS("+proj=utm +west+zone=7 +ellps=WGS84"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...