arrange(date) |> summarise(do_union = FALSE) %>% st_cast("LINESTRING") |> group_by(indiv = as.factor(parse_number(as.character(id)))) |> summarise() After joining GPS points as lines and lines from the same whale as multilines, we can use {leaflet} for an interactive map. pal leaflet() |> addTiles() |> addPolylines(color = ~ pal(indiv), popup = ~ indiv) |> addLegend(pal = pal, values = sort(unique(journeys$indiv))) Figure 1: Movements blue whales satellite tagged in an Australian upwelling system References Andrews-Goff, Virginia, Mike Double, Luciana Möller, Catherine Attard, Kerstin Bilgmann, Ian Jonsen, and Dave Paton. 2020. “Switching State Space Model for Pygmy Blue Whale Satellite Tag Derived Locations.” Australian Antarctic Data Centre. https://doi.org/10.26179/5E671120E52B4. Mӧller, Luciana M., Catherine R. M. Attard, Kerstin Bilgmann, Virginia Andrews-Goff, Ian Jonsen, David Paton, and Michael C. Double. 2020. “Movements and Behaviour of Blue Whales Satellite Tagged in an Australian Upwelling System.” Scientific Reports 10 (1): 21165. https://doi.org/10.1038/s41598-020-78143-2. " />

Whales movements

[This article was first published on r.iresmi.net, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

A photo of a Blue Whale

Blue Whale – CC-BY-NC-ND by Tom Benson

Day 5 of 30DayMapChallenge: « A Journey » (previously).

Thirteen Blue whales (Balaenoptera musculus) were satellite tagged in 2015 in Australia (Mӧller et al. 2020). We’ll follow their summer in the Great Southern Australian Coastal Upwelling System (GSACUS).

Data is available from the Australian Antarctic Data Centre (Andrews-Goff et al. 2020), directly as a R RDS file.

library(dplyr)
library(readr)
library(sf)
library(leaflet)

unzip("AAS_4101_pygmy_blue_whale_SSSM.zip", 
      files = "bw_3h_ssm.RDS")
bm <- read_rds("bw_3h_ssm.RDS")
# str(bm)

journeys <- bm$summary |> 
  st_as_sf(coords = c("lon", "lat"), crs = "EPSG:4326") |> 
  group_by(id) |> 
  arrange(date) |> 
  summarise(do_union = FALSE) %>%
  st_cast("LINESTRING") |> 
  group_by(indiv = as.factor(parse_number(as.character(id)))) |> 
  summarise()

After joining GPS points as lines and lines from the same whale as multilines, we can use {leaflet} for an interactive map.

pal <- colorFactor("viridis", sort(unique(journeys$indiv)))

journeys |> 
  leaflet() |> 
  addTiles() |> 
  addPolylines(color = ~ pal(indiv),
               popup = ~ indiv) |> 
  addLegend(pal = pal,
            values = sort(unique(journeys$indiv)))
To leave a comment for the author, please follow the link and comment on their blog: r.iresmi.net.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)