Open mdsumner opened 8 years ago
this works, but a bit slow still
library(trip)
library(dplyr)
library(furrr)
x <- trip(readr::read_csv("inst/extdata/MI_albatross_sub10.csv") %>% dplyr::select(lon, lat, gmt, tag_ID))
x <- spTransform(x, "+proj=laea +lat_0=-90")
r <- raster(x, res = 50000)
spx <- explode(x)
plan(multiprocess)
l <- furrr::future_map_dfr(split(spx, 1:nrow(spx)), function(a) tibble(cell = unlist(cellFromLine(r, a) )), .id = "segment")
l$dur <- spx$timedur[as.integer(l$segment)]
dd <- l %>% group_by(segment) %>% mutate(dur = dur/n()) %>% ungroup() %>% group_by(cell) %>% summarize(dur = sum(dur))
r[] <- 0
r[dd$cell] <- dd$dur
plot(r)
cellStats(r, sum)
[1] 1286139971
> sum(spx$timedur)
[1] 1286139971
cut.trip does most of the work, but it seems to add in a stray day with the walrus data.
Somewhere here is integration with splat/SGAT and tabularaster.