【问题标题】:R: how to create raster layer from an estUDm objectR:如何从 estUDm 对象创建栅格图层
【发布时间】:2014-12-04 13:54:16
【问题描述】:

我已经使用包(adehabitatHR)中的工具 kernelUD 使用代码从 gps 位置创建了内核主范围:

'udKerHref <- kernelUD(data[,1],h = "href", grid=100, kern = c("bivnorm"))'

其中 data 是来自 10 个动物的 SpatialPointsDataFrame。我现在想做两件事:

  1. 从内核密度值创建一个栅格,我可以将其与另一个栅格相乘(资源选择函数栅格)
  2. 将不用于构建家庭范围的其他 gps 位置与 1 中内置的栅格相交,以提取给定 gps 位置的栅格值

我尝试使用函数 'estUDm2spixdf(x)' 但出现错误

'Error in estUDm2spixdf(udKerHref) : this function can be used only when the same grid was used for all animals'

尽管我对所有动物都使用了相同的 gris。我还尝试使用“getVolumeUD”获取栅格,然后使用“writeRaster”导出对象。但是我总是报错

'Error in (function (classes, fdef, mtable)  :unable to find an inherited method for function ‘writeRaster’ for signature ‘"estUD", "character"’'

非常感谢任何帮助

【问题讨论】:

    标签: r kernel raster


    【解决方案1】:

    如果没有可重现的示例,我无法准确说出你得到了什么,所以我将使用来自 help(kernelUD)udbis 对象:

    该对象有许多元素,每个元素都可以强制转换为 SpatialPixelsDataFrame 并因此转换为栅格:

    > names(udbis)
    [1] "Brock" "Calou" "Chou"  "Jean" 
    > plot(raster(as(udbis$Calou,"SpatialPixelsDataFrame")))
    

    我怀疑你那里有十个元素。

    【讨论】:

    • 完美!这正是我无法做到的。我没有将系统税放在一起来创建栅格图层。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多