@guoxiaowhu
2020-11-03T12:34:00.000000Z
字数 3628
阅读 704
于欣
动物迁徙
假如地球上一点的经度是,纬度是,另一点
两点的经度差是,纬度差是
两点在地球上的角距离(以弧度为单位)
假设点附近有一个区域的经纬度面积是,其在球面上的真实面积是,它们之间的换算关系如下:
1.23445e-06=
关于地图投影,小距离的范围内用墨卡托投影没有问题。
球形墨卡托投影的公式
经纬度换算为横纵坐标
首先要计算Utilization Distribution(UD),再根据UD估算Home Range
BRD是基于Biased Random Bridges对进行UD估计
kernelbb is the estimation of Kernel Brownian Bridge Home-Range
kernelUD是基于kernel estimation方法对UD进行估计
A utilization distribution is a probability distribution giving the probability density that an animal is found at a given point in space. It is estimated from data sampling the location of an individual or individuals in space over a period of time using, for example, telemetry or GPS based methods.
来自Wiki
kud <- kernelUD(puechabonsp$relocs[,1], h="href")
UD
tata <- kernelbb(x, sig1 = 6.23, sig2 = 58, grid = 50) #UD
image(tata)
原理
vv <- BRB.D(tr, Tmax=180*60, Lmin=50, habitat=buffalo$habitat, activity="act")
ud <- BRB(tr, D = vv, Tmax = 180*60, tau = 300, Lmin = 50, hmin=100,
habitat = buffalo$habitat, activity = "act", grid = 100, b=0,
same4all=FALSE, extent=0.01)
找home range有多种方法
vector mode
homerange <- getverticeshr(UD)
plot(homerange)
getverticeshr用来找home range的范围
plot(getverticeshr(UD, 95), add=TRUE, lwd=2)
画出home range
raster mode
vud <- getvolumeUD(UD)
image(vud)
contour(vud, add=TRUE, nlevels=1, levels=95, lwd=3, drawlabels=FALSE)
kernel.area用于求home range的面积
ii <- kernel.area(UD, percent=seq(50, 95, by=5))
相关系数
VI
可参考文章《潮汐调和分析与应用研究》中的模型,以及书《潮汐原理与计算》
有现成的python程序像UTide, ttide, pytides,可参见 http://pyoceans.github.io/sea-py/
R语言报错的一些处理
变量不是矩阵类型的,可以转化为矩阵
就保留它的所有数据,
[[1]]代表单个个体
出现报错
non unique datas for a given burst
的可能原因:
在排除数据表格里的数据本身重复之外,出现该报错的常见原因
1. 日期(或时间)输入格式不对, 年Y写成y, -写成/之类的,时间的名称不对time或t等等。
2. 没有告知时间,只有日期,同时告知时间信息。
3. 读入数据时,读出大量空白行,检查行数是否与实际数据一致,否则删去空白行。
4. 多个个体时,没有告知ID。
蛋坨子
经度122°4'41''=122.078°
纬度39°10'47''=39.1797°