用 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 的格式。