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

问题描述 投票:0回答:1

我正在使用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出错:二元运算符的非数字参数'

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

谢谢!

boundary kernel-density adehabitathr
1个回答
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)

祝一切顺利,

© www.soinside.com 2019 - 2024. All rights reserved.