動物活動範圍動畫化

用 R 寫程式產生的動物活動範圍動畫。(網路上都看不到合意的只好自己動手……)

資料來源

Mahoney PJ, Ebinger M, Jaeger M, Shivik JA, Young JK (2017) Data from: Uncovering behavioural states from animal activity and site fidelity patterns. Movebank Data Repository. doi:10.5441/001/1.7d8301h2

其中紀錄了很多個體的行動軌跡,挑出了一隻代號為 F64,育有兩隻幼獅的美洲獅(Puma concolor)雌獅,作為本次的示範資料。

大致採用之軟體技術

R library
資料前處理 tidyverse
活動範圍計算 adehabitatHR
座標轉換 sp, rgdal, rgeos
地形圖資匯入 ggmap
圖片映射 raster
動畫化 animation

adehabitatHR 吃的是 2D 的資料,所以要把 WGS 84 轉換至適合的 UTM zone 再餵給 adehabitatHR。

移動距離倒是可以直接餵 WGS 84 的點給 sp 用 Great Circle distance 算法算,這樣比較準。

adehabitatHR 支援不少種計算方式,既然只是示範,就先選了最簡單的 95% minimum convex polygon,只要換一下 function call 就可以換成 LoCoH 等演算法。如果遇到棲地形狀用凸多邊形框不合適的(例如繞著一座山跑的陸龜,在高山谷間棲息的鹿等),這就很方便了。

Utilization distribution 要放上地圖蠻麻煩的,因為網路地圖都走 Web Mercator,必須將算出來的像素點用 raster 重新映射過。

因為追蹤期間將近一年,資料點很多,弄了讓跳出的資料點隨時間變淡的功能,看起來才不會太亂。(費洛蒙的概念 😜)

以 animation 出完動畫後再用一次 ffmpeg 合背景音樂上去,並轉成適合 YouTube 的格式。

參考資料

  1. Add raster to ggmap base map: set alpha (transparency) and fill color to inset_raster() in ggplot2 – Stack Overflow

Leave a Reply

Your email address will not be published. Required fields are marked *