2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

adehabitatLT で動物の移動軌跡を分析&時系列 GPS データを間引く

Posted at

動物の移動軌跡を分析するパッケージとして adehabitatLT がある。
今回の目標は
・GPS データを ltraj 形式に変換する
・移動軌跡にかんする情報を得る
・GPS データを間引く

#GPS データを ltraj 形式に変換する
以下のようなサル 1 個体の GPS データを用いる。
xy 座標 (UTM)、個体 ID、日付+時間をふくむ。
GPS データは 30 秒ごとに取得されている。
image

trajectory1
library(adehabitatLT)

d<-read.csv(適切なファイル)

# 日付+時間の列を POSIXct 型に変換する
d$datetime<-as.character(d$datetime)
d$datetime<-as.POSIXct(strptime(d$datetime,"%Y.%m.%d %H:%M:%S"),tz="Asia/Tokyo")

#1 sp 形式にする場合
d_sp<-SpatialPoints(d[,c(1:2)], proj4string=CRS("+init=epsg:32652"))
d_sp<-data.frame(d_sp)
idd_sp<-data.frame(d$id)
coordinates(idd_sp)<-d_sp
# ltraj 形式に変換
l<-as.ltraj(coordinates(idd_sp),date=d$datetime,id=d$id,infolocs=NULL)

#2 sp 形式にしない場合
# ltraj 形式に変換
l<-as.ltraj(xy=d[,c("X","Y")],date=d$datetime,id=d$id,infolocs=NULL,proj4string=CRS("+init=epsg:32652"))

ためしに l の中身を見てみると以下のように表示される。
image

・Type of the traject(軌跡のタイプ)
時間の情報を含まないものは Type I、含むものは Type II と分類される。
さらに時間情報の取得間隔が一定かどうかによって、Type II は regular traject と irregular traject に分類される。
今回のデータの場合は、時間の情報を含み、すべての GPS ポイントが 30 秒ごとに取得されているため、Type II (regular) となる。

・characteristics of the bursts
ひとつづきの軌跡を burst と呼ぶらしい。
nb.reloc は GPS ポイントの数、NAs は欠損しているポイントの数(今回はなし)、
date.begin と date.end はそれぞれ軌跡の最初と最後の GPS ポイントが取得された日付+時刻を示す。

#移動軌跡にかんする情報を得る
いろいろな情報が ltraj 形式のデータに含まれているが、
扱いにくいのでデータフレームに変換する。

trajectory2
# ltraj 形式からデータフレームに変換
dd<-ld(l)

以下のようなデータフレームが得られる。
image
(略)
image

dx: x 軸方向の移動距離
dy: y 軸方向の移動距離
dist: 移動距離
dt: 時間間隔
R2n: 軌跡の最初のポイントから t 時点までの距離の 2 乗
abs.angle: x 軸方向を 0° としたときの角度
rel.angle: ひとつまえのステップの移動方向を 0° としたときの角度

t 行と t+1 行との距離や角度が計算されている
(そのため最後の行の dist や angle などは NA になっている)。

#GPS データを間引く
subsample 関数を使う。
時間間隔が一定である軌跡しか扱えない。
ポイントは as.ltraj するときに infolocs=NULL しておくこと

trajectory3
sub_l<-subsample(l,dt=300,nlo=1,unit="sec")

指定する時間間隔 (dt) は元の時間間隔の倍数である必要がある。
今回は 30 秒ごと→ 300 秒(5 分)ごとまで間引く。
nlo で subsample を開始する GPS ポイントの番号を指定できる。
今回は軌跡の最初の点を指定しているが、nlo = 5 とすれば 5 番目の GPS ポイントから間引き始める。

間引いた結果は以下のようなかんじ。
無事に 300 秒ごとに間引かれたデータになった。
image

#参考にしたページ
Package ‘adehabitatLT’
https://cran.r-project.org/web/packages/adehabitatLT/adehabitatLT.pdf
Analysis of Animal Movements in R: the adehabitatLT Package
https://cran.r-project.org/web/packages/adehabitatLT/vignettes/adehabitatLT.pdf
Walter Applied Spatial Ecology Laboratory | 3.2 Movement trajectories
http://ecosystems.psu.edu/research/labs/walter-lab/manual/movement-methods/3.2-movement-trajectories
[R-sig-eco] Package adehabitatLT; lion telemetry data; removing intermittent 1-hr locations to create 2-hr locations
https://stat.ethz.ch/pipermail/r-sig-ecology/2016-November/005473.html

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?