Nothing
## ----include = FALSE--------------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
options(sf_max_print = 5L)
if (Sys.info()["user"] != "bart") {
if (Sys.getenv("MBPWD") != "") {
options(keyring_backend = "env")
move2::movebank_store_credentials("move2_user", Sys.getenv("MBPWD"))
} else {
knitr::opts_chunk$set(eval = FALSE)
}
}
## ----setup, message=FALSE---------------------------------------------------------
library(move2)
library(dplyr)
library(units)
library(sf)
## ---------------------------------------------------------------------------------
galapagos_albatrosses <- movebank_download_study(2911040,
attributes = c(
"ground_speed",
"heading",
"height_above_ellipsoid",
"eobs_temperature",
"individual_local_identifier"
)
) %>%
select_track_data(study_site, weight, animal_life_stage)
## ---------------------------------------------------------------------------------
galapagos_albatrosses %>%
filter(!st_is_empty(.))
## ---------------------------------------------------------------------------------
galapagos_albatrosses %>%
filter(!st_is_empty(.)) %>%
mt_filter_per_interval(unit = "6 hours")
## ---------------------------------------------------------------------------------
galapagos_albatrosses %>%
filter(!st_is_empty(.)) %>%
mt_filter_per_interval(criterion = "random", unit = "days")
## ---------------------------------------------------------------------------------
galapagos_albatrosses %>%
group_by(mt_time(), mt_track_id()) %>%
filter(n() != 1) %>%
arrange(mt_time())
## ---------------------------------------------------------------------------------
galapagos_albatrosses %>%
filter(!st_is_empty(.)) %>%
group_by(mt_time(), mt_track_id()) %>%
filter(n() != 1) %>%
arrange(mt_time())
## ---------------------------------------------------------------------------------
simulated_data <- mt_sim_brownian_motion(1:2)[rep(1:4, 2), ]
simulated_data$temperature <- c(1:3, NA, 1:2, 7:8)
simulated_data
simulated_data %>% mt_filter_unique()
## ---------------------------------------------------------------------------------
galapagos_albatrosses %>% mt_filter_unique("sample")
## ----download---------------------------------------------------------------------
galapagos_albatrosses %>%
group_by(mt_track_id()) %>%
filter(n() > 500)
## ---------------------------------------------------------------------------------
galapagos_albatrosses %>%
group_by(mt_track_id()) %>%
filter(as_units(diff(range(mt_time()))) > set_units(1, "week"))
## ----fig.width=7, fig.height=4.2, fig.alt="Plot of the tracking data from albatrosses including coastlines and the foraging area"----
foraging_area <- st_as_sfc(st_bbox(c(
xmin = -82, xmax = -77,
ymax = -0.5, ymin = -13
), crs = 4326))
library(ggplot2, quietly = TRUE)
ggplot() +
geom_sf(data = rnaturalearth::ne_coastline(returnclass = "sf", 50)) +
theme_linedraw() +
geom_sf(data = foraging_area, fill = "red", alpha = 0.3, color = "red") +
geom_sf(
data = galapagos_albatrosses %>% filter(!st_is_empty(.)),
aes(color = `individual_local_identifier`)
) +
coord_sf(
crs = sf::st_crs("+proj=aeqd +lon_0=-83 +lat_0=-6 +units=km"),
xlim = c(-1000, 600), ylim = c(-800, 700)
)
# Filter to tracks making it at least once to the foraging area
galapagos_albatrosses %>%
group_by(mt_track_id()) %>%
filter(any(st_intersects(geometry, foraging_area, sparse = FALSE)))
## ---------------------------------------------------------------------------------
galapagos_albatrosses %>%
filter_track_data(study_site == "Punta Suarez")
## ---------------------------------------------------------------------------------
galapagos_albatrosses %>%
filter(!st_is_empty(.)) %>%
mutate(
next_new_track = mt_time_lags(.) > set_units(4, "h") |
is.na(mt_time_lags(.)),
track_index = cumsum(lag(next_new_track, default = FALSE))
) %>%
mt_set_track_id("track_index")
## ---------------------------------------------------------------------------------
library(lubridate, quietly = TRUE)
galapagos_albatrosses %>%
mt_set_track_id(paste(mt_track_id(.),
sep = "_", month.name[month(mt_time(.))]
))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.