创建家庭范围估计(KUD)的边界

时间:2017-03-08 11:12:48

标签: boundary kernel-density adehabitathr

我正在使用adehabitatHR估算企鹅的家庭范围。当然,他们不能在陆地上游泳,我一直试图在海岸线附近增加边界,以防止KUD增加更多的区域。

我正试图创建边界的区域是澳大利亚菲利普港湾的北端。我按顺序的当前(非常粗糙)边界点是:

-37.9967038 145.0346375

-37.8607599 144.9783325

-37.8341917 144.9131012

-37.8580493 144.8375702

-37.9988682 144.6487427

虽然它被接受为障碍,并且可以在地图上绘制,但当我尝试将其作为KUD中的边界实施时,我不断收到错误:

'3 * h中的错误:二元运算符'

的非数字参数

有谁知道这意味着什么以及如何解决它?

谢谢!

1 个答案:

答案 0 :(得分:0)

确保您在执行这些步骤之前输入KUD作为边界。

bnd <- structure(list(x = c(-37.9967038, -37.8607599, -37.8341917, 
                            -37.8580493, -37.9988682),
                      y = c(145.0346375, 144.9783325, 144.9131012,
                            144.8375702, 144.6487427)),
                 .Names = c("x", "y"))

bnd <- do.call("cbind", bnd)
Slo <- Line(bnd)
Sli <- Lines(list(Slo), ID = "Frontiers")
barrier <- SpatialLines(list(Sli))

因此,对象barrier是您的边界,因此您需要在kud函数中指定它:

kernelUD("your spatial data", h = "your bandwidth", grid = "your grid",
          boundary = barrier)

一切顺利,